9 comments

[ 3.4 ms ] story [ 33.8 ms ] thread
I think I would let a beginner start with HTML (semi-programming) and then toy around with JavaScript.

At least with JavaScript I can see some use for the average person (spice up homepage, Greasemonkey, Mashups), whereas otherwise I am not sure what an average user would want to program.

I tried starting with lisp, and...well, that was a year and a half ago.
I still think Python is a good choice. The syntax is relatively clean and forgiving, it has a self-documenting interpreter, you can dive in * without having to understand a whole build system (e.g. make, linking, etc.) upfront, and it has an excellent standard library, so you can actually try to do real stuff with it even as a beginner.

* Dive into Python (http://diveintopython.org) is a good introduction, and is available free online.

This article sounds as if it was written sometime last century. In 2008, there is no excuse for a programming language in which "hello world" is longer than:

print "hello world"

The compiler/interpreter should handle the rest. Edit: This is especially true if the language is used as a teaching tool for first time programmers.

I've just started programing myself and I'd love a more concise answer then this article. (it rambled and didn't answer the question!)

For the most part I want to design webpages and mashup social networking API's. Of course I've been picking up my HTML and CSS, should I jump straight into PHP at this point or should I go another route? (Python/LISP/etc)

A beginner should start with a language in which they can see instant results and quickly build applications. This way, if they get a cool idea they want to try, they are eager to dive in and pump out that program rather than struggle with syntax, compilers, and GUIs. I'm hinting at Visual Basic 6.
If the first time you have sex is bad, you're not doomed to bad sex for the rest of your life.

The topic of what makes a good teaching language is valid and deserves consideration, but we should be careful to give it too much weight. In the end, teaching someone how to program requires teaching them new concepts. They will be required to learn a new way of thinking. Any time you do that, you will screw up, confuse issues, and get frustrated. No programming language can prevent this completely.

As with sex, the more you're exposed to programming, the less important your first experience becomes.