View Full Version : New programmer

January 31st, 2012, 06:59 PM
I've changed over majors to CS and so far I'm falling in love with coding. I want to hone my skills more, all I know is java, and work with both closed and open-source code. I'd like some guidance from the incredibly smart people on this forum where to start with open-source (Please be genital I'm very new).
Thank you, and good day to you all.

February 1st, 2012, 02:02 AM
In programs, spelling is important! [smile] [genital]

One thing you might do is learn Python. There are many tutorials online, and Full Circle Magazine has had a series beginning with Issue 27. (The current issue is 57, so it's been running for a while.)

Mind you, C and C++ are where the heavy lifting happens.

February 1st, 2012, 05:36 AM
Hard to say much, since you're so new you may not really have established an interest yet. There's scripting, web programming, driver programming, administration, databases, simulation modeling, user interfaces -- the field is wide open.

What inspires you the most?

February 1st, 2012, 06:15 AM
+1 llanitedave.

There is no point in learning a lot of programming languages. Identify your most interesting field, and choose one or two programming languages that makes the task easy in that field. For general purpose programming, python like scripting languages would make it easy. But if you are in to kernel or device drivers, C and C++ in some cases are necessary.

February 1st, 2012, 09:21 AM
There is no point in learning a lot of programming languages.

I disagree strongly.

Learning as many languages as you can is a great way to expand your programming repertoire. Even if you learn a language and never use it again, you at least have (hopefully) been exposed to some new ideas. That affects the way you approach problems, and might make a solution more apparent even when working in your go-to language. If you only program in one language (or a set of conceptually similar languages, eg C++/Java/C#), you only learn how to solve problems using the framework imposed by the language design. Learning how to model problems effectively independently of a language and translate that to an implementation is a huge skill to have. With exposure to a bunch of different types of languages, you might be able to choose a more elegant and/or efficient solution that is not immediately obvious given the tools of the language.

Now, keep in mind, learning languages is different from mastering languages. I agree that it's important to have a thorough, in-and-out understanding of at least one language which has a large range of practical applications (eg, C, C++, Java, Python, etc). But I firmly believe that learning some Lisp, Prolog, and Haskell will make you a more effective programmer than spending the time used to learn those languages on learning all of the dark corners of C++.