Linked by Thom Holwerda on Wed 11th Apr 2007 16:35 UTC, submitted by ShlomiFish
General Development "What makes programming languages are suitable or unsuitable as introductory languages? Which languages are better learnt first and at which order? And why what the masses think is the most suitable introductory programming language is not in fact that. This paper examines several approaches to which programming language is the best, and afterwards gives several useful relations for which languages should come first. Finally it gives a final verdict, defends it and then gives some other good food for thought."
Thread beginning with comment 229627
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Perl???
by ormandj on Wed 11th Apr 2007 18:11 UTC in reply to "Perl???"
ormandj
Member since:
2005-10-09

Perl??? I don't mean to rag on Perl, or to start a flame war, but do you really want people to learn how to program using Perl? I've been programming for 25 years now, and have been using Perl for almost 10 years, and I really like it. I can do lots of things, very fast. The problem is, Perl doesn't lend itself well to readability and/or maintainability.


100% concur!

Last year I introduced a young friend (we met through Amateur Radio) to programming using Python. I gave him a CD with the ActiveState Python 2.4 release for Windows and some tutorials on Python, in PDF format. Yes, I had to answer a few questions from him, and to gently point him the right direction from time to time, but he learned Python AND programming, in a very short amount of time.


Yet again, 100% agree with your thinking/idea. Python makes a great beginning language. More on this in a second...

I have no experience with Ruby, so I'm not going to talk about it either way, but I think Python is a much better choice to teach programming to "newbies" then Perl. Leave Perl for when you've been programming for a while, and already have a couple of other languages under your belt. Teaching new people to program using Perl is no better than teaching them to program using the old BASIC from the 1980's.


I love Ruby, more than I love Python (which I do love...) - but I feel Python is a better choice for teaching/learning as a first language. The reasoning is simple, Python has a "do it one way" type of design, which just about forces people to do things at least in a uniform way. Now, to me, as an experienced programmer, I prefer Ruby's OO methodology and also the fact that it isn't quite as constricted as Python, and I also don't like the whitespace strictness of Python - but as a NEW programmer, or a teacher teaching a new programmer, I think Python is the best choice.

They can get down the basics/logic of programming without all the temptations/confusion of 50 different functions doing the same thing. They learn good code formatting habits, so the code is readable (they have to, you can't mess up the whitespace in Python!) Etc, the list could go on.

So, I'd say - start with Python, then give Ruby a go. I think Ruby is more flexible (personal opinion) but a new programmer should try both, and determine what fits *their* mind best. Python is absolutely the best start, however!

Perl would be a good third language (or should I say roll of duct tape?) After that, if they are masochists, they can endeavor into Java/C++, or if they are more procedural programmers, they can hit C. This would give them a nice broad language comprehension, and they would have the tools they needed for just about any programming task that might arise. Not to mention great job opportunities!

Edited 2007-04-11 18:11 UTC

Reply Parent Score: 5

RE[2]: Perl???
by Pseudo Cyborg on Wed 11th Apr 2007 18:49 in reply to "RE: Perl???"
Pseudo Cyborg Member since:
2005-07-09

I couldn't agree more. Python and/or Ruby are fantastic. You can grasp the _concepts_ of programming quickly and easily _and_ have highly usable code to show for it in practically no time.

Both of these languages make great foundations. And, like mentioned, it can be taken further later with Perl, C++, C, Java, etc.

Reply Parent Score: 1

RE[2]: Perl???
by gleng on Thu 12th Apr 2007 09:44 in reply to "RE: Perl???"
gleng Member since:
2006-02-16

"...it isn't quite as constricted as Python..."

Thanks for that great pun. Intentional or not. ;)

Reply Parent Score: 2

RE[3]: Perl???
by ormandj on Thu 12th Apr 2007 16:34 in reply to "RE[2]: Perl???"
ormandj Member since:
2005-10-09

Intentional, and I spent a good 2 minutes thinking it up. Here I was thinking nobody would even notice, and now you've saved the day! Thanks for making a rather dull morning quite cheery. :p

Reply Parent Score: 3