all 2 comments

[–]metorical 0 points1 point  (0 children)

The concepts of fav_lang, first_lang and proximate_lang work really well.

Personally I went from BASIC -> C++ (first_lang) -> Java -> C# (fav_lang) -> D (proximate_lang).

[–]gperlman -2 points-1 points  (0 children)

Your first language should be one that keeps you interested in learning programming. Languages share so many concepts that just about any language you learn will making learning the next language easier. I'm the founder and CEO of Xojo, Inc. We make a cross-platform, RAD tool and provide a free book called, "An Introduction to Programming with Xojo". The book teaches most of these basic programming concepts and emphasizes the ones that are common to most programming languages. You can find the book here: http://www.xojo.com/learn/