The myth of beginner programming..

"Once you've learnt to program, it doesn't matter on the language, you'll pick it up and roll with the right tool for the job."

The right tool for the job has been one of my most used motto's in the past year, it's something that embodies what computer scientists do every day in selecting programming languages, IDE's, compilers, API's and all the other bumph that 90% of people reading this have no clue about, and it's also the motto that embodies what the majority of computer scientists completely miss every day when they're selecting their tools; they choose what they know best.

To a certain degree, and for many tasks, such tools are so close in similarity that many options can indeed be the right tool, and just selecting the one you know best makes it the best tool for the job.

The idea that you can however move from one programming language to another, just by knowing the concepts of programming itself, however is flawed to some extent; for the most part knowing the theories of "code" will allow you to move between practically all modern languages, as the majority are a subset of a quite a small range of languages, formerly C, Pascal and languages such as Smalltalk, and some of these languages in turn are subsets, or "progeny" of some sort of previous languages still.

Trouble is many languages exist that take an entirely different mindset in order to master.

OOP is preached as the be all and end all of programming..and yet much of today's coding is merely hacked shell and web-based scripts, purely procedural in nature.

On the other end of the spectrum specialised programming such as AI requires a specialised language such as ProLog or Lisp, and such options require special mindsets, which can often conflict with the OOP mindset on many fronts.

Sure, once you've learned the basics, and the theory, you'll have less of a hard time coming to grips with new environments and platforms, but it won't always be smooth sailing, and nothing's a substitute for actual experience in the "bread and butter" technologies of the industry.