Best first programming language

Greg Furmanek greg at ttiltd.com
Wed May 20 01:50:22 MST 2009


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.



More information about the PLUG-discuss mailing list