I believe Jason is right about Python being a good beginner language, and contrary to Jonathan mischaracterization of Python as an "obscure niche language" Python is catching on as a very mainstream language. To wit:
Evidence that Python is advancing into the enterprise http://programming.newsforge.com/article.pl?sid=05/03/29/0747230
Python is used by Hollywood, at Google, extending the Gimp, Mailman MLM, the Plone CMS, GIS systems, and Nokia phones. That's a hell of a niche.
As for using it as a first language, see these online books:
How to Think Like a Computer Scientist: Learning with Python http://www.greenteapress.com/thinkpython/ The online version: http://www.ibiblio.org/obp/thinkCSpy/
Teaching With Python http://mcsp.wartburg.edu/zelle/python/
I'm teaching my kids to program, and after we study some concepts without letting the language get in the way, we'll start out with Python, using the "Think Like" book above. Then, when we have Python fairly well in hand, we will move on to PHP, another "niche" scripting language that's used on more websites than any other language in the world, including Java.
My $.02, Jim
Jason Clinton wrote:
On Thu, 2005-03-31 at 11:39 -0800, Leo Mauler wrote:
If not BASIC, then what would be the programming language of choice for the beginner?
Ideas accepted from all.
One of the two popular object oriented, interpreted scripting languages: Python or Ruby.
Python is nice and clean but not always internally consistent -- lots of docs are available though; Ruby is amazingly internally consistent to the point that some really beautiful behavior can emerge from simple syntax.
You should start with a scripting language because of the ease with which variable typing is handled and the simplicity of getting the thing you write to run (no compiling and linking). Stay away from Perl because its more complex behavior like OOP is visually an after-thought.