As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I was told that to be a good developer, you should read a lot of other peoples source code. I think that sounds reasonable. So I ask you, what is the most beautifully written piece of open source software that is written in c++ out there?
(Apply any definition of beautiful you like.)
IMHO...
Notepad++
You could look at the source code of MySQL GUI Tools. Its written using gtkmm, and the code does some interesting difficult-to-implement GUI things.
Tou should take a look at the source code of NetBSD. It's really clear and well documented.
It think "Qt"
Qt creates beautiful GUIs. Code in C++ and you get awesome screens! But I think the OP has asked for some good C++ code repositories.
Loki is a pretty nice library especially if you're interested in how design patterns and various idioms are expressed in C++. Reading the source might also be a good way to understand C++'s metaprogramming facility using templates.
http://loki-lib.sourceforge.net/
Check the arora browser sources. It shows the beauty of the Qt toolkit and elegant and well written code for a somewhat complex application.
I've heard that Google's Chromium source code is very clean.
The source code for the Poco C++ libraries is very neat as well.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I would like to learn about streams in C++. I have done some googling and searching on Amazon and have not had any success in finding a book/web resource on this topic. Any suggestions would be much appreciated! I have found some information on sites like cplusplus and forums, but I'm still still unclear about a number of issues. I would really like a clear, comprehensive resource.
One thing that I would like to do is get input for my programs from external files.
Thank you for any suggestions.
Standard C++ IOStreams and locales by Langer and Kreft is dedicated to streams (and locales, which streams use extensively), but it sounds like you want a general overview as you'd find in a general reference or introductory book.
I don't know of a book that deals with streams as its major subject. I'm sure you can find a lot of resources on the Internet, but judging their quality may be difficult. The following two books have rather good coverage of streams and might be work looking into. Of course they cover a lot more than just streams.
The C++ Programming Language by Bjarne Stroustrup
The C++ Standard Library: A Tutorial and Reference by Nicholai Josuttis
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Is there a DI framework comparable to Google Guice? And what does Google use?
There is nothing as mature or standard as Guice in the C++ world. However, some people have put together simplistic implementations on their own. Here's a couple.
http://adam.younglogic.com/2008/07/dependency-injection-in-c/ (source for implementation is at the end of the post)
http://sourceforge.net/projects/qtioccontainer/ (requires Qt)
http://code.google.com/p/autumnframework/ (hasn't been touched since 2007)
http://programmaticallyspeaking.blogspot.com/2010/04/beautiful-dependency-injection-in-c.html (more of a description, really)
http://sourceforge.net/projects/cpp-resolver/ ("Alpha" quality)
You're unlikely to be satisfied by any of these.
If you really wanted to put in the effort to rally the world around a DI framework for C++, probably the way to go about it would be to make a proposal to the Boost guys.
I'm the author of wallaroo. It's actively developed and has the following features:
it's lightweight but powerful
its interface supports both C++11 and C++98 with boost
it's type safe
it doesn't need custom preprocessors / code generators
you can load classes defined in shared libraries
you can use a DSL syntax for object creation and wiring or
you can get object creation and wiring by parsing one or more xml / json file.
Any comment, suggestion or request are welcome.
There is a recent one that looks very interesting called Hypodermic, i haven't tested it but it looks pretty active
I am currently authoring one called sauce, whose design (and name) is directly inspired by guice. I still consider it alpha, but you may find it useful.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Does anyone know any site or book that presents problems like python challenge, but for C++?
When I think python challenge, I do not mean only a set of problems to be solved with C++ (for that I could probably use the same problems of python challenge), but rather problems that will probably be best solved using C++ STL, special features of the language, etc.
For example, there is one python challenge that is specifically designed to teach you how to use pickle, a serializing library for python.
Until now, I only know programming contests problems, but they could also be solved with C, java or other languages.
You might like to have a look at Herb Sutter's Guru of the Week series of articles.
Google Code Jam problems frequently have analyses with snippets of C++ code, probably because C++ is by far the most popular language used for solving code-jam problems. The latter also allows you to see many C++ constructs cleverly employed, as code-jam allows you to download the solutions by all the competitors. As most code is C++, you'll get to learn a lot of nice C++ tricks for efficient code.
There are many tasks on Rosetta Code that are not implemented in C++ as yet. Try your hand at those, especially if you can use advanced features (templates, external libraries, etc.) to produce a particularly nice solution. Remember that there is no fundamental reason why any of those tasks should be beyond the C++ language, and there's usually several other implementations in other languages to show you other ways to attempt the task, which can help a lot.
You're going to have a difficult time finding that because C++ provides less for you than almost any other language available. If C++ provides it, it's probably provided by Python or Java or C or any other programming language.
Why not try using some C++ concepts such as the STL to solve Project Euler problems?
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
There are many libraries that manage the wiimote but I am looking for the "best" one, or at least that has the following features:
open-source
portable (at least Win32 and Linux)
written and usable in c or c++
good coverage of wiimote devices
I rely on people that already used such library. Google is good source of information but it doesn't know which one is best library.
if you will use multiple wiimotes, don't use wiiuse library. i am working on a stereo system with two wiimotes using wiiuse library but wiiuse made me crazy( it gives delayed ir tracking data ) and i decided to change my library wiiuse from wiiyourself
Some friends of mine have had good luck with wiiuse. It's in C, for both Windows and Linux.
Have you seen this:
http://www.codeplex.com/WiimoteLib
http://blogs.msdn.com/coding4fun/archive/2007/03/14/1879033.aspx
It may not be exactly what you are asking for, but with Mono you'll have the cross platform part of it.
What about Johnny Chung Lee - it's .Net but it's open source and could converted.
I think this might be what your looking for:
http://wiiuse.sourceforge.net/
Open-sourced, multi-platform and written in C/C++. They are looking for a OSX developper though, so I'm guessing it doesn't support it yet.
Maybe https://github.com/MJL85/wiiuse will do? Seems to have a lot of features and supports Windows and Linux, AND it is c.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I`m a beginner C++ programmer. And I want to pursue my career in system- and driver-programming.
Can you suggest me an opensource projects to I improve my skills in low-level development?
I am looking for a project with the following characteristic:
- on C\C++ language based
- a small project with a small amount of code, yet
- UNIX-based systems designed
Do you know that something like this?
Check the google summer of code projects page! These are all open source, and many of them are based on C/C++. Each project lists ideas that are aimed at outsiders / beginners.
Here is last year's page: http://code.google.com/soc/2008/ Google has not yet decided on which projects are participating this year, but this information will become available within the next couple of weeks (before the end of march 2009) along with a fresh list of ideas.
If you're a student in a College/University you can get lucky and even get mentoring through the GSOC project. But even if not, they will really value any contribution you can make.
Always work on open source projects that you actually use and care about. If you don't use the project yourself, why should you do good work on it?
What about Minix 3? It's a great way to learn about low level programming.
Start your own open source project.
Host it on Google Code
Make something does something great or makes something else easier to use
Use it and iterate it
Along the same lines as Sourceforge Help Wanted, there's a website called OpenHatch.org that lists bugs from open source projects that need attention as well as potential mentors. In particular, you can browse for bitesized bugs that might be a good place for a beginner to start.
Have you tried sourceforge's help wanted?
Edit: And as a personal suggestion, I'm not sure it fits your requirements, but the transmission bittorrent client needs an implementation of Kademlia DHT in C, which is pretty low level networking.