Nov
2
Written by:
StevenFeuersteinTW
Monday, November 02, 2009 6:54 AM
I was recently in Germany, and did an interview with Erik Franz of database|pro (
http://databasepro.de). One of the questions he asked me was: "Which programming language would you recommend a college student learn to give them the strongest chance at a good job upon graduation?"
I would have loved to be able to answer: "Learn PL/SQL! And buy my books!"
But I could not in all honesty do this. PL/SQL is not a rapidly growing language; certainly it will be around for decades to come and anyone writing PL/SQL today has a fine career ahead of them. But a university student in 2009? I can't see proposing it as a top priority.
So is it, then, Java? Dot net?
My answer was this:
The most important language for a programmer-to-be is the language of symbolic logic.
Programming languages are easy to learn, much easier than human languages. Sure, the syntax of a language like Java, with its squiggles and case-sensitivity, takes some getting used to if you are a die-hard PL/SQL developer. And object orientation takes some revised thinking if you are today a procedural developer.
But it's not all that difficult, and once you get through your first programming language, you will find that it is easy to pick up others.
If, however, you do not have a solid, deep, intuitive grasp of symbolic logic, then you will not be able to think through problems clearly and come up with conceptual solutions. And without that conceptual framework, without the problem-solving skills that come with the ability to think logically, you will not succeed as a programmer, no matter how comfortable you are with Java, .Net or PL/SQL syntax.
So if you plan on making a career as a professional software developer, I urge you strongly to take classes in symbolic logic, play lots of logic games like Sudoku and Mastermind. Build up your problem-solving skills.
You will then be in a fantastic position to be a Super Programmer in your language of choice.