views:

346

answers:

6

I'm looking for recommendations for open-source projects written in C++ that will help me "get my chops back". A little background:

  • I've been working heavily in Java for the last three years, doing a lot of back-end development and system design, but with a fair amount of work in the presentation layer stuff, too.
  • The last C++ projects I worked on were a Visual C++ 6 project (designed to interact with Visual Basic) for mobile devices and several projects using the GNU toolchain circa gcc versions 2.x to 3.2
  • I'm looking to get back up to speed on the language and learn some of the popular frameworks, specifically the basics of boost (although boost seems fairly sprawling to me, similar to the kitchen-sink feel of Spring in the java space) and test driven development in C++.

What I'm looking for:

Specific recommendations for small to mid-size open source projects to poke through and perhaps contribute to as I level my C++ skills back up. The problem domain isn't important, except that I would like to work on something in a new area to broaden my experience.

Edit:

A few people have commented that it's difficult to provide a recommendation without some indication of the problem domain I'd like to work in. So, I've decided that I'm most interested in graphics applications or games, two areas which I haven't worked in before.

+1  A: 

I would personally be working on Unladen Swallow if I wasn't absurdly busy starting my own personal venture. Dynamic language optimisation looks pretty cool to me.

Tom Leys
+1  A: 

If you like visual stuff, openFrameworks is a C++ Framework for doing Processing-type applications. http://www.openframeworks.cc/ I'm not sure how viable it still is, but it looked pretty cool.

It's hard to suggest something like this, you really don't have any itches you want to scratch??

jskulski
I know that my request is a bit vague. What's most important to me is getting up to speed on the language itself and learning new frameworks in a new problem domain.
Paul Morie
Cool software, I'll check it out.
Paul Morie
A: 

I think you're going to have to be more specific. As a quick check, I did an apt-cache showpkg libstdc++6 on my Debian squeeze system, to find all the packages that depend on the C++ library — and found 4,537 of them. Obvious examples include:

  • most of KDE
  • Firefox, Thunderbird, etc.
  • apt-get itself

It'd really help if you specified what field you're interested in.

derobert
+1  A: 

You could also look at Wt

Ram
+1  A: 

Why not Boost itself? It's a very active project, it's right at the core of what C++ is about, and it could need some help.

You mentioned test driven development. The Boost Unit Test Framework, for example, is powerful, but IMHO suffers from extremly bad documentation. That'd be a place to start, would teach you everything there is to know about that particular part of Boost, and I am sure you could find your way into one of the Boost modules from there.

DevSolar
A: 

You can find many projects on GitHub. If you find a nice project, you can fork it (it's like creating a local copy you can work on) and start coding. Once you have done something nice, you can make a "Pull request" to ask the guy you made your fork from to merge your work.

I like being able to commit without having to ask for an access and be able to make smalls contributions to many projects without having to contact anybody, simply with a couple of clicks.

You can also check Gitorious and Bitbucket, both site work a bit like Github.

brunoqc