in reply to Learning Programming
I'd just like to clarify your question.What's the best way to learn additional programming languages? or What's the best way to get started with programming?
Having taught several people how to program and learning
a multitude of languages on my own time, I feel that I speak
from experience when I say that a programmer's mindset is
unlike anything in the world. Including engineering, the
natural sciences, even other fields of computer science. If
you're asking the latter question, then my advice to you is
as follows: Develop the mindset first!
- Learn Boolean algebra
The simplest way to understanding conditional expressions is the most direct way--return to the source. Basic Boolean algebra will cover AND, OR, and NOT, condition groupings, changing from NOT AND to OR expressions, etc. If you're really curious, you can even go on to read about XOR and XNOR. If you go that far, you may even want to learn about Boolean truth tables, in which we analyze the input and output values of a "function" (traditionally a circuit, but applies here too).
- Start with a simple language
- Design a small project for yourself
One of the things I've learned during my time in this industry is that the potential for learning is much greater when you have a deadline! While I wouldn't exactly take it that far, you can most certainly come up with an idea for a program you would like to write, and set time-oriented goals for yourself. Some of my earliest programs included a batch-file and QBASIC system maintenance tool, and another QBASIC program that cataloged information about our neighboring star systems (for quick reference in Sierra's Outpost :)
Some of the things I would recommend against are:
- Learning a new operating system concurrently
(like Perl and Linux)
- Learning more than one language at a time
- Learning out of a book
I've found that many of the techniques and functions you learn out of books have little-or-no real-world application. The Camel books for Perl are pretty good, as is anything by O'Reily and our friend merlyn. But be wary of book titles like "Mastering C++ in 24 Hours". It just simply can't be done.
If, however, you're interested in expanding your horizons and learning an additional programming language, then I would definitely use some of the items from the above list. Design a program you want to write. Pickup a book to use as a reference. Find a decent group of people you can ask questions (like us :). But most importantly, ENJOY YOURSELF!
Good luck, young Jedi.
I am the lurker that spams in the night.