Originally Posted by Bostonian
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.

Make that three advocates for the *nix family. There are a number of benefits of a Linux distro over a Mac box, though.

- Infinitely customizable
- Can be easily configured a desktop or a server
- Has a big place in the enterprise
- Is a platform suited to developing systems, security, and network engineering skills (three disciplines I'd recommend to any aspiring IT pro over programming, in that order)
- Much larger community of users makes it easy to find answers to your questions

Ubuntu wouldn't be my personal choice, but it's not a bad one, either.