There are, as you know, dozens of computer programming languages, and over the many-years I have mastered
several dozen of them. Starting with my very first 8-line program which took me three months to write and had a bug in it.
The hardest thing to master about programming is ... programming itself.
And you don't see that right away, because at first you are pummeled by punctuation
. To a [stupid ol'] computer, it matters a great deal where all those commas and semicolons and squiggle-marks go, and at first you're going to be flummoxed by that, no matter what language you start with.
But eventually you learn to forgive
that "stupid ol'" computer, which after all is nothing more than a machine, and you build-up to the point where you can write a program in your current "language de jour" with reasonable proficiency. It is at this point that it's a really good idea to start learning a new language.
You need to do this for a good while. I don't think it could be expected to take you less than a year. And you need to be patient with yourself because you are
learning a new skill and you are,
also, dealing with "a dumb machine." You need to write a lot
of programs: it really does not matter much what those programs are. "Practice, man, practice!"
I would suggest that you start out with a programming language that is fairly high-level. Plenty of folks have cut their teeth on Microsoft Visual Basic. And, plenty of people make their living at it today. Forget the talk of "The Evil Empire." You're learning a craft, and you'll need to learn more than one system. Find whatever system seems to present you with the least
number of obstacles at first.
plan to learn more than one
system! You need to be familiar with ... eventually(!):
- Microsoft Windows
- Macintosh OS/X (a.k.a. BSD Unix + Mach)
But "Rome wasn't built in a day."
Welcome to a profession that has been thoroughly engaging to me for twenty-five years and counting. Certainly we should consider ourselves fortunate when the way that we earn our daily bread is still
fascinating and rewarding.