Originally Posted by epoh
The O'Reilly books are so amazingly well written I personally don't think any prior knowledge is *required*. Once you've learned any programming language, learning subsequent languages is always easier.

Personally, Pascal is probably the easiest to learn, but it's so boring and you can't really do much "fun" with it. Java is a bit more fun because there are a lot of things you can do with it. C/C++ is the same way.

Honestly, if he's interested in that, I would find an old computer, and download the Ubuntu disk and tell him to get going. Have him install Ubuntu and figure out how to configure it and how to install apps, and then he can work on basic scripting, or go straight into learning whatever programming language he wants. I recommend Ubuntu because it's a whole lot easier to find all the compilers (for free) than with Windows, plus, Ubuntu is pretty easy to install, and there is a ton of documentation on it on the web. And if he really gets into programming, he'll want at least a passing understanding of *nix.


ETA: the thing with signs, if he uses a decent editor to create his scripts, it will color code things and have validation, so it should make it fairly easy for him to catch any mistakes. I am really bad with typos, but even just the basic vi color coding helps me find most of them.

(i am a professional *nix nerd, btw)

I agree that aspiring programmers should learn how to use Unix.
Since Mac OS X is a Unix operating system, an alternative to installing Ubuntu is to buy a Mac.


"To see what is in front of one's nose needs a constant struggle." - George Orwell