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