Re: Best first programming language

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Greg Furmanek
Date:  
To: dennisk, Main PLUG discussion list
Subject: Re: Best first programming language
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 -
To subscribe, unsubscribe, or to change your mail settings:
http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss