"What makes programming languages are suitable or unsuitable as introductory languages? Which languages are better learnt first and at which order? And why what the masses think is the most suitable introductory programming language is not in fact that. This paper examines several approaches to which programming language is the best, and afterwards gives several useful relations for which languages should come first. Finally it gives a final verdict, defends it and then gives some other good food for thought."

As a layman who has chosen to run Linux at home after much learning through trial and error and has had no formal computer training and learned HTML back in 1995 on my own before all of the WYSIWYG exditors there are now, I would just like to say something here.

As I got into the Linux thing back in 2000, I realized I was in for a steep learning curve. With an online community of Mandrake, RedHat, and SuSe as well as the help of Linux Magazine (back when it actually targeted newbies and helped us out) I discovered that I had to learn the shell commands, especially to gain the control over my system that Linux had been lauded to give me in the first place.

All the books/forums said it was C like and to learn C. Then they were recommending I learn C++ rather than C. Then, trying to learn C++ used Microsoft compilers et cetera rather than gcc. There was no how to really good beginning GCC tutorials that taught C++ in combo with Gcc/g++. I turned to languages Perl and Python. I originally bought a book on learning python by O'Neill, but it was too boring and didnt allow me to hit the ground running. I wanted to write stuff that worked NOW! After a year or two of trying Python and getting frustrated, I stepped away from the problem.

This past Chrismtas, I googled "beginner + programming" and found Learn to Program by Scott Pine based on Ruby. There was no Microsoft based software required, I didnt have to learn to use the compiler in Linux, I could just download the program for free, compile it, go through the examples and run it! BAM!

I finished that bare bones book in two weeks and for once had a raw basic idea of what key elements required to program. (Hey Scott, put more examples and the answers in the next edition, if you are listening...Other than that, your book rocked and changed my life!)

I bought the Pickaxe a few weeks later (Considered the defining Ruby book at this time), and now, four months later, I have managed to write a program for dosing aminoglycosides and theophylline that is used in clincial functions for my hospital where I work. I have also started writing a character creation program for the role playing game I am writing.

I consider my self a skilled programmer by no means, but I can play around in there enough to get the things done that I want to get done. I would recommend starting with Ruby for any people with an interest in learning programming rather than for a marketing or resume angle. Especially if you are a linux user writing for tools to help you at your job when your job is a microsoft shop.

I was originally used to using Kate and the command line to run my programs. I was so used to doing it that way I though irb wold be a pain.

Once my programs started getting big, however, I found that using irb helps me debug a chunk of code very quickly before integrating it into the main program.

For instance, the first program I wrote determines patient weight a number of weights than uses an algorithm to determine which one applies it then uses the weight and the patients age to determine the initial dose and interval.Then it takes those two numbers and uses some measured values to determine the next dose and ainterval.

I originally wrote thsi thing as a big mass and even with the line numbers shown in the error statement, I would lose sight of where my errors were coming from (especially with nested loops and the methods I'd created). Now I write a block of code, irb it, and when it is fixed, I integrate it into the whole. Works like a charm, especially when you want to try something that Scott Pine doesn't mention in his book but that you want to try anyway.