What do you guys recommend for a beginner programmer? I want to contribute to open source projects but I'm not sure if I'm at the level where what I can bring to the table will be of any use. What should I do in the mean time to become a more competent developer?
Name:
Anonymous2011-08-09 19:47
Read SICP and K&R.
Name:
Anonymous2011-08-09 20:08
learn that the majority of open source isn't free and creates a gated garden of itself (specifically GPL)
Name:
Anonymous2011-08-09 21:26
Read open source code. Look up in books/ask questions where you don't understand the implementation of code.
Write your own simple projects.
File bug reports/try and fix trivial bugs were possible. This will get you examining unfamiliar code in detail.
Contributing to projects isn't always easy... I've contributed patches to Wordpress and other projects before for feature requests and bugs, and had them ignored for months/years. This is fairly common unfortunately. Try and choose a project where you think your code will actually be used.
Yeah, it's like learning Latin and Chinese. The two most influential languages of the computer world.
I would also recommend boning up on algorithms and data structures, which are sadly neglected by many programmers. I myself did not learn them for a long time and they have made things better for me. If you're at a university and can take an algorithms class, do it. If not, get a book. Wikipedia is also an excellent reference for them if you can stay focused (often they have pseudocode that you can try to implement).
As for open source, you'll only do well if you work on something you love and want to use. If it doesn't exist, start your own project.