So, after reading the whole thread I figured I would chime in just because I have programmed in most of the mentioned languages so I think I can add some perspective on the subject. The trick to becoming a great programmer is to understand programming itself and not just a specific language. So starting with a language just because it's the most used or promoted by a company is probably a mistake in itself. I believe he will have to learn at least 3 or 4 languages to get the whole gist of programming but my immediate recommendation for first language would be RUBY. I have done smaller and bigger programs in BASH,Perl, Python, Ruby, C, C++, Java, Obj-C but for the first language I would want to learn myself after all these projects I would pick Ruby. Here some of the reasons: * Ruby by far feels the most intuitive and well structured OO language out there. * It promotes the right balance between structured programming and flexibility of getting things done * It's rich with programmatic structures and concepts. * It has good documentation and there are a lot of books with great examples. (references below) * Lot's of code samples * Completely open source * Lot's of useful libraries * It has a great and very helpful community * It has at least to local (PHX) user groups * It is very easy to start and allows things other programming languages don't have (metaprogramming) * It has been used for projects ranging from small scripts all the way to Twitter and other big sites * It promotes test and design driven development with frameworks and fantastic tools * It has a few very well designed web frameworks * It is one of the fastest growing languages * Because of the development speed is a great tool even if you later have to progarm in other languages. * It integrates with JVM through JRuby * It's nice for programming Mac software through RubyCocoa or MacRuby * If you want .net you have IronRuby there are probably a lot more reasons but I am trying to keep this e-mail under 2 pages. Don't forget about Version Control it's a must: I currently use git: http://git-scm.com/ partly because there is a ton of code on github.com Another thing I would recommend is to pick up some of the best practices books: - Pragmatic Programmer - You can find it at pragprog.com - One of the design patterns book - The Gang of Four books is good but very dry to read - Code Complete - I know it's Microsoft but it's still one of the best books on constructing software Resources: http://www.pragprog.com/categories (check out the "facets of ruby" section http://www.pragprog.com/screencasts/v-dtrubyom/the-ruby-object-model-and-metaprogramming (Little advanced but very well explained) http://www.rubyaz.org/ http://railscasts.com/ - More ruby on rails then just ruby but it has some nice techniques http://peepcode.com/ - has some nice screencasts on testing ruby programs Good luck - Greg Dennis Kibbe wrote: > I searched the archive but didn't find a previous discussion about this. > > A friend who graduates from high school next week wants to take a summer course in programming. His goal is to become a business applications programmer. > > He asked me what language he should start with. I'd guess the prgramming landscape is changing with more services going into the cloud. > > Joseph, Hans, Charles I'm sure you have opinoins and I welcome anyone elses. > > My friend, Ian isn't on the list so I'll point him to gmane.org to follow the discussion. > > dennisk > > -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. --------------------------------------------------- PLUG-discuss mailing list - PLUG-discuss@lists.plug.phoenix.az.us To subscribe, unsubscribe, or to change your mail settings: http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss