Programming Language for Learning

Kevin Fries kfries6 at gmail.com
Sun Feb 21 09:43:27 MST 2010


I have developed in allot of languages, and when the original question was asked about language I suggested Ruby.  But I think there was a little confusion about that.

Ruby and Rails (i.e. RoR) are two completely different things.  Rails is a web application framework.  What this means is that it is used to build applications, not websites, that use the web for interaction with the user the way a C program would use X.  What I suggested the OP learn if they wanted to learn to program with a modern language is Ruby... Not rails.

Ruby has all the basics, and holds on to OO principles better than any other language... Even Java.  It also has IRB an interactive environment where a programmer can play in a live session and see immediate cause and effect.  Plus, there are a plethora of books and websites on writing Ruby programs.

Why not Python? It also has the interactive shell doesn't it?  Well yes it does, but it has many security issues, and does not properly follow OO principles.  While learning, you should learn in an environment that enforces proper form, Python does not do that because the language is missing too many elements.  I would put Mono and Visual Basic in this same category.

Why not Java?  It follows proper OO principles doesn't it?  Why yes it does.  But there is no learning environment like Python and Ruby.

Why not a procedural language like C or Perl?  Too many modern environments use OO for interactive programs.  Servers are a different story, but learning to program by learning to write servers is like teaching your 16 year old to drive in an 18 wheeler.  They will learn allot more, but not the easiest path to the desired goal.

And finally, well if C is the wholly grail, but you want it OO, why not C++?  If you ever used C++, like I have, you would not ask that question.

Far too often people confuse learning with practicality.  Some languages are good at some things, some are good at others.  The OP asked for a language that he could learn how to program and there were allot of fandom posturing, over this language or that.  What got lost in much of the conversation is that this is not about what language is good gor task x or task y, but instead what language will help the OP learn to program with a modern language.

I hope this clearifies my previous comments.

Kevin

Sent from my Nokia phone


More information about the PLUG-discuss mailing list