The Wonderful Shell
I often get asked what is the best programming language to start out with and my answer is always the same. Learn how to use the shell first. If you are on Mac OS X, fire up the Terminal or if you are on Windows, install Cygwin. Learn to navigate the directory structure of your system, make and delete files, edit your $PATH, and understand what people mean by “root” or “home” directory. Replicate some of the things you do via the GUI with the shell. Once you become comfortable issuing commands in the shell, move onto writing simple Bash scripts.
That answer usually surprises people, followed by “What the hell is a shell? I’ve never heard of it”. Why the shell you might ask? Well, I’m a strong believer that the key to learning anything in life is motivation. While obvious, motivation is a crucial element that helps drive the learning process. It makes you dig deeper, try harder, and push further. Another factor is instant gratification. Most people want to see results! Results they can apply to their day to day tasks. The shell provides just that and it's the perfect gateway to ease you into scripting or programming.
Learn it, love it!





