I have decided to start trying to teach myself programming. Does anyone have any links to good resources?
What language(s) are best? What language will be most used in the future? Any good free online courses?
Thanks
What's your goal? Is there any particular area of application that you're interested in? For generic employability Java and Python are probably two good choices, and both are fairly easy to learn. If you're OK with doing Windows development, then C# is probably another good choice. As far as the future goes, it's hard to say long-term what language will be most used. However, it does seem that functional programming methods (emphasis on immutable objects, referential transparency, lazy evaluation, functions as values, etc.) are finally making their way out of academia into industry. A number of mainstream languages have some limited support for functional programming (C#, Python, Ruby, Java 8 -- not available yet, etc.) And there are some second tier languages (e.g. Scala, Clojure, F#) which fully support functional programming. In terms of adoption in industry, Scala is probably the leader in this second tier class. If you're just looking for an intellectual challenge then I'd suggest Haskell or one of the ML family languages (Standard ML, Ocaml, etc.)
Check out www.coursea.com or www.udacity.com. I know coursera recently offered a course on Scala taught by Martin Odersky, the creator of Scala, and I believe both coursea and udacity have introductory programming courses using Python. Scala has some fairly advanced language concepts which might be tough to digest if this is your first language, so it might make more sense to learn Python first.
Edited by Connor MacLeod, 03 January 2013 - 07:54 AM.