Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

...I would start to collaborate to a C/C++ project in order to improve my programming skill? Is it a bad idea? And, more important thing, can someone advise me a project where I could be helpful? (maybe not written in OOP like Code::Blocks, 'couse I don't know this programming paradigm).

share|improve this question
Find an experienced programmer who is willing to be your mentor. –  user1249 Dec 4 '11 at 18:55
@ThorbjørnRavnAndersen Isn't easy as it seems :P –  Overflowh Dec 4 '11 at 21:01
It is most likely still the easiest in terms of total effort! –  user1249 Dec 4 '11 at 21:12
@ThorbjørnRavnAndersen Explain how! :D –  Overflowh Dec 4 '11 at 21:29
The amount of effort you save by having an experienced programmer guiding you and pointing out the things you do wrong and how to do them right, easily overwhelms the effort you have to do to find said programmer. Compare it to the experienced guide leading the explorer through the jungle. –  user1249 Dec 4 '11 at 21:52
show 1 more comment

closed as not constructive by ChrisF Dec 4 '11 at 18:32

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.If this question can be reworded to fit the rules in the help center, please edit the question.

4 Answers

up vote 3 down vote accepted

It's definitely not a bad idea to participate in a FOSS project. IMHO it's much more useful than working on your own pet projects or solving the exercises found in programming textbooks. That's because by participating in a FOSS project you'll have the chance to experience many great things (to name a few: VCS, communication, coding conventions, mentoring by good developers, etc.) that is not possible to experience when working on your own.

"(maybe not written in OOP like Code::Blocks, 'couse I don't know this programming paradigm)." If a project claims that it uses C++ it will use OOP features. The only C++ paradigm which doesn't use all the OOP features is generic programming. Try not to think of C++ as a better C. I think it's better to see them as 2 completely different languages.

As for where to find projects, you really have a plenty of choices. It's mostly a matter of preference. Examples: savannah, Debian teams

share|improve this answer
add comment

I did not collaborate any open source project yet.

But someday one of my friends working on collaborate a google open source project tell me, when he commit his code, he find out this google guys review very carefully and when they reject his code, they give some very useful advice.

So he got a lot of benefits.

share|improve this answer
add comment

It is not a bad idea. Start working on a free software project which you really like.

See also this question

(I'm tempted to invite you to collaborate on MELT, a high-level domain specific language to extend the GCC compiler; caveat: I am the main author of MELT)

share|improve this answer
I'd like to collaborate to your project, but I would to talk you directly, maybe by chat. Are you available? –  Overflowh Dec 4 '11 at 22:23
Yes, but by email to basile@starynkevitch.net –  Basile Starynkevitch Dec 5 '11 at 5:55
add comment

If you haven't done any C or C++ programming I'm sure this would improve your programming skill (in general mastering multiple languages does).

However I would try to decide if you want to learn C or C++ first - they're two very distinct languages, even though they share common history. C is comparatively easier to learn as it's a much simpler language - its vocabulary is compact, and it only supports a single paradigm (procedural programming). C++ is much more complicated in its entirety as it's a multi-paradigm language and has a lot more features than C, which means it will take you a lot longer to master it.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.