views:

321

answers:

5

Hi!

I have been programming on my free time for a couple of years now and im fluent in PHP, know some Python and programmed in Visual Basic .NET (this was the first language i learn't).

But now i want to get cracking with something else, something cross-platform and not on the internet as i find the idea of another layer of applications to run an application on the internet rather amusing.

I was thinking of either Java or C++, is this the way to go?

A: 

Why dont you start with Easiest language

Prakash
Thanks for the quick answer, i will go from there:)
Alex
Wow, whose advice do you trust more, Eric Raymond or Jeff Atwood!
Adam Pierce
+1  A: 

It really depends on what you want to achieve. If you want to add a language skill that gives you the potential to write very fast and efficient desktop applications, than C++ is the way to go. It is also interesting to be responsible for your own memory management if you haven't aleady done so, and gives you an opportunity to understand what the computer is doing at a lower level.

Shane MacLaughlin
Thanks, im getting recommendations for both C and C++, i think i will start with C and then work myself up to C++
Alex
It's not a bad way of doing it, having taken this route myself, although years later I'm still told my C++ code looks at bit 'C'ish ;)
Shane MacLaughlin
A: 

It depends. Why do you want to learn a new language? To learn something new or to expand on your resume? For the former, I would recommend either to learn sql (really learn it) or a functional language, for example F#, Haskell, Standard ML or Lisp.

+5  A: 

I have a few suggestions:

  • Learn to use Python better (you said you know some, why not learn more)
  • C (you said you wanted something low level)
  • Assembly (same as above, I wouldn't write real programs in x86 assembly, but it is definitely worth learning. Or you could learn an assembly language used by a microcontroller and play with that, eg: PIC, AVR, Parallax Propeller etc)
  • Scheme or Common Lisp (You said you wanted to improve your programming skills, this is a good way)
  • OCaml (like Scheme/Common Lisp, I think OCaml would be a good way to learn something different and become a better programmer in the process. OCaml is a nice multiparadigm language (OO, Functional and Imperative))

Really, learning any language you don't already know is good - mastering a language you already know a little is good too.

Dan
A: 

It is widely stated that learning lisp will make you a "better" programmer in everything else, and at the very least it will help train away any lingering hesitation you may have toward understanding recursion.

If you seek a lisp, then I would suggest Clojure as an excellent lisp for people who want a real head-first all inclusive introduction to modern programming. It has the advantage of being an up and coming language even if it may have a few too many features (transactional-Concurency, single-assignment, and Lazy-evaluation).

Arthur Ulfeldt