Linked by Thom Holwerda on Wed 11th Apr 2007 16:35 UTC, submitted by ShlomiFish
Thread beginning with comment 229627
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
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.





Member since:
2005-10-09
100% concur!
Yet again, 100% agree with your thinking/idea. Python makes a great beginning language. More on this in a second...
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