Looking ahead I know I need to start learning how to programme. So what do people recommend as a good first language?
I'm looking for something that teaches you the right mindset, is reasonably powerful, is widely used and if possible is platform independent (ie I can run any programmes I build on Windows or Linux or Apple OSx).
My first "programs" were written in BASIC (all right you lot, stop laughing!). That's all there was back then really. But it does teach you the basics (terrible pun not intended).
Python sounds good, and Perl is good too. If you get the ActiveState Perl distribution you can use all their library modules which interface with the Windows API, NT domain structure, Active Directory and also Inet stuff so you can do (for example) HTTP accesses dirctly from within your script. With Perl you can do 'real' programming but it's also really useful for working network admins
Like TheBishop , me too started learning programming in basic back in the early 90s when i was a small boy. With languages like basic you learn the basics of programming which helps you understand how to think while programming in any language...........
Started off with BASIC myself when I was a wee lad of 10 about 20 or so years ago. Definitely helped me get into programming, but with line numbers, GOTO commands, etc, it did not encourage structured, modular programming. I second the recommendations for Perl and Python. Nowadays there are so many different choices and some are more suited to certain applications than others.
I started off by learning C I found this great book for free online(in Icelandic though) and understood it pretty well, until the chapter about pointers which were a little over my head and I gave up. I also tried out with C++ but got about as far as I did in C.
Right now, at the age of 17, I'm on my first semester learning C#, and I'm totally acing it, so I wouldn't count that time that went into C and C++ as waste. Besides, it is really fun learning this stuff if your into computers.
But remember that programming can be very difficult, but also very rewarding. I'll never forget how happy I was when I compiled and ran my fyrst "Hello World!" program
Its the best language to learn how to PROGRAM.. plus its incredibly powerful (the fact that almost all exploits and low level handling is written in C is proof)... besides you need to learn the issues that come along with writing in a language like C.
Perl and Python are great, but I think they are too high level.. they take away alot of the important decisions.. you don't need to think about data-types too much.. etc