Coder Social home page Coder Social logo

fffaraz / awesome-cpp Goto Github PK

View Code? Open in Web Editor NEW
59.1K 59.1K 7.8K 2.42 MB

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Home Page: http://fffaraz.github.io/awesome-cpp/

License: MIT License

awesome awesome-list c c-plus-plus cpp cpp-library cppcon libraries list lists programming-tutorial resources

awesome-cpp's Introduction

Faraz's Twitter Faraz's Linkdein

Hi there ๐Ÿ‘‹ I'm Faraz.

awesome-cpp's People

Contributors

0xcursor avatar alexgomes09 avatar antonioborondo avatar baderouaich avatar betajippity avatar chaomai avatar christiankolding avatar expl0it3r avatar fffaraz avatar htoooth avatar jeaye avatar jpetso avatar jzbl avatar kokub avatar lcsmuller avatar lekrieg avatar luxe avatar mambawong avatar mattreecebentley avatar mgnischor avatar misto avatar myd7349 avatar neargye avatar nimasamadi007 avatar skhaz avatar smassung avatar tocic avatar toge avatar vladon avatar wawha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-cpp's Issues

Add g3log to the logging section

G3log is a cross-platform asynchronous logging and design-by-contract library with safe shutdown in case of fatal signals such as SIGSEGV and similar.

MOOS-IvP

MOOS-IvP
website: www.moos-ivp.com

MOOS-IvP is a set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles.

It is famous in robotic platforms.

Themis

Themis - cross-platform cryptographic services library, providing secure messaging, general-purpose asymmetric crypto and secure storage. [APACHE2] cossack labs website.

How about renaming "Remote Procedure Call" to "Inter-process Communication"?

The wikipedia says:

Remote procedure call

In computer science, a remote procedure call (RPC) is an inter-process communication that allows a computer program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a shared network) without the programmer explicitly coding the details for this remote interaction.

Message queue

In computer science, message queues and mailboxes are software-engineering components used for inter-process communication (IPC), or for inter-thread communication within the same process. They use a queue for messaging โ€“ the passing of control or of content. Group communication systems provide similar kinds of functionality.

So, how about adding a new category "Inter-process Communication" and treating "Remote Procedure Call" as a sub category of it?

Or, should I add a new category: Message Queue/Messaging Library, and put ZeroMQ, nanomsg, ... under this category? Since there are so many messaging libraries and most of them not only support IPC but also support other kind of communications(in-thread communication, for instance).

Sometimes, it may be a little difficult for me to decide which category should a library belonging to.

Suggest add 'Pantheios' C++ Logging Library

Pantheios:
http://www.pantheios.org/

Pantheios is an Open Source C/C++ Diagnostic Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use.

Does "Neu" framework still exists?

List contains link to "Neu" framework:

Neu - A C++ 11 framework, collection of programming languages, and multipurpose software system designed for: the creation of artificial intelligence applications.

  1. Link "https://github.com/andrometa/neu" points to not existent repository.
  2. Search in google expose phoronix news page "http://www.phoronix.com/scan.php?page=news_item&px=MTY4OTg" and some other pages all from first half 2014.
  3. Phoronix article contains link to home page "http://neu.andrometa.net" which shows nothing.

Is framework that doesn't ever exists can be in "awesome" list?

PS. Some sort of "policy" about libraries in lists would be good to have. Something like "library should be used in at least 3 real world projects and at least 10 users vote to include it in list" or other criteria.

Concurrency seems to mean Parallelism

All the libraries in the Concurrency category specialize in programming for parallel computation. When I read "Concurrency" (especially with subtitle "Concurrency and Multithreading"), I would expect Boost.Asio, Boost.Future, CAF (C++ Actor Framework) etc., maybe a link to C++11 threads.

The Committee seems to agree and names their working groups "Concurrency" for standardizing Boost.Future, mutex stuff and Asio's executors, and "Parallelism" for parallel algorithms, SIMD and whatnot.

I suggest to have "Concurrency" renamed to "Parallelism". Not sure what to do about the items that would go into an actual "Concurrency" section, since Boost.Future is most certainly not an Asynchronous Event Loop but as one of the most generically useful and close-to-being-standardized libraries should definitely have a place in this list. On the other hand, libuv isn't so much concerned with concurrency and really more with batching of asynchronous stuff under the hood. So maybe just have two separate categories with some of the same items in both?

Can't navigate to multi-word headers using the navigation

You can't navigate to a multi-word header (e.g. "Artificial Intelligence" or "Machine Learning") using the navigation section at the top on fffaraz.github.io/awesome-cpp/.
This is because the words in the href attributes of the navigation are split with "-" (e.g. a 'href="#machine_-_learning"') but the section ids don't have anything between the words in their id attributes (e.g. '<h2 id="machinelearning"').

AwesomeOpenSource

We are creating a github org for all awesome open source repos. I am working with a few individuals who are also managing their own awesome repos, and I think to gain more traction we need to work together. What are your thoughts about collectively moving your awesome repos to https://github.com/AwesomeOpenSource

The idea is that visibility for these repos would be increased due to more traffic to the org. What are your thoughts? Let me know if there is anything you'd like to discuss!

Validate pull requests with Travis

Hello, I wrote a tool that can validate README links (valid URLs, not duplicate). It can be run when someone submits a pull request.

It is currently being used by

Examples

If you are interested, connect this repo to https://travis-ci.org/ and add a .travis.yml file to the project.

See https://github.com/dkhamsing/awesome_bot for options, more information
Feel free to leave a comment ๐Ÿ˜„

Qt missing

It is interesting that there are a few Qt-related links, and libraries based on Qt, but not Qt itself.

Introducing getAwesomeness()

This is not a spam or ad. I created a repo getAwesomeness to give developers an option to easily explore all the awesomeness. The Cpp list is also there. Just want to share or get some feedback. Thanks.

Split the list into C and C++

Since most of the libraries/resources of your (really) awesome list are for C++, I would suggest you to separate the C portion.

Keep going!

CarpVM

Hi! I just saw that my project (CarpVM) is on here and would love to know if I can help make it better or more useful in some way. I'm flattered that you included it! How'd you find it?

LZMA is public domain

Current, incorrect listing on this list:
LZMA โญ - The default and general compression method of 7z format. [LGPL]

Actual:

LZMA SDK is placed in the public domain.

Reference

Cheers! Great list ๐Ÿ˜ƒ

Same library in several sections

Can the same library appear in several sections?

For example, C++ REST SDK (Casablanca) contains components for JSON parsing and concurrency tasks (PPLX) which can be used separately.

Suggestion to add SourceWeb

http://rprichard.github.io/sourceweb/

SourceWeb is a C/C++ code indexer and a code navigator GUI.

The indexer uses Clang's libraries to parse translation units. The output is a binary index file, optimized for fast creation, fast lookup, and small size. It generally indexes a project in about the same amount of time needed to build it. The input to the indexer is a compile_commands.json file listing all of the command lines that compile a source file to an object file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.