We need to build the better programmer
Fortunately for me, and unfortunately for the industry, there exists no ogre at the gate leading to the programming kingdom. The guard post is empty and they let anyone in, hoping that some of them are actually programmers and can do what they say.
Multi-core, parallelism, multi-threading, and the whole battalion of integrating hardware with software (or is that integrating software with hardware) may very well be that gatekeeper. Those who can learn this complex and inter-related algorithmic ballet will be knighted as Programmers of the Multi-Thread. Those who cannot will be relegated to other kingdoms or as serfs who toady to the heroes of the kingdom.
Realizing that there exists only a certain percentage of the population who can comprehend the complexities of these issues, the two camps are revealed as nothing more than self-aggrandizing or self-protection groups.
The group who thinks they understand the complexity of multi-threading, parallel processing, non-serial architecture, and all future issues of these trivialities bloviate about the underlying simplicity of such obvious matters. This is hardly the truth as these are very complex engineering, mathematical, philosophical, physical, artistic, and architectural challenges. Even the folks who think they understand these questions do not; otherwise there would already be a solution to the mis-matches in concepts.
Those who demand that the software tend to the complexities and let programmers "do something useful," are demanding that the software itself do the useful part. If I have a machine that can do your job, why do I need you?
And the cheerleaders and sycophants who declare their idol as the "one and true language," are nothing more than one more group to vilify in the future. Everyone's language fails at doing what it was never designed to do. There are still instruments running on 25-year-old chips that many condescend to say are irrelevant to us. Yet, these chips and their ancient languages are running environmental systems, watering lawns, and monitoring the engines in motorcars. One plucky fellow actually got a Babbage engine to work. Who figured?
The truth is that a very small group of people will be able to understand the problem. A much smaller group (perhaps as few as two or three) will be able to construct a workable solution. This is the nature of invention.
Once the solution is known, there will be a very small community who know, teach, and use these very complex solutions. The solution to this problem, too, is not "THE" solution to every "Problem Universal." It will solve a small set of problems from within a very large queue.
A workable solution will lead to other questions and the presentation of a workable solution will not automatically guarantee a universal translation to everyone's platform or task. Not everything needs multi-threaded or multi-core solutions. Some things are just simple.
Some things won't even have an answer in multi-threading, parallelism, or multi-core hardware. Some algorithmic questions are even more difficult, misunderstood to this day, or just don't lend themselves to our physics.
Paris is one such problem. I do not propose to solve that with computers, but by turning off the TV. (I believe some hard problems have easy answers.)
For many, this may be another solution without a real problem. Some things take time. Growing a tomato takes time. No parallel multi-core algorithm will hasten that. (Has anyone here actually read the Mythical Man Month?) Some problems are only those created by folks who want to host a money-making enterprise by re-creating the glass-room mainframe theology -- with high-speed.
As soon as someone comes up with a solution, all sorts of real problems that don't yet have answers will be found. (The laser was invented in the '50s but was not very impressive because no one knew what problems it might solve. Foresight is not a natural trait of the inventor.) Until that happens, the current solutions will be used for our current set of problems and the captains of industry will just have to be content that we don't still have rooms with 300 data entry clerks and typists, sitting at Orwelianly-similar desks, banging out the work that can be done in the same amount of time on an Osborne.
The real limit on our industry is the bell-curve. Some programmers are just naturally smarter than others. Yet, the industry needs programmers who are smarter than the general population. So does every industry. Doctors and lawyers and engineers and physicists and plumbers and auto-mechanics and green-grocers and almost everyone except Paris needs to be smarter than the general population in order for our society to advance. Paris proves that there can be the occasional outlier, but we won't be treated kindly by history if our contribution to society and culture is buying shoes.
The smarter programmers (those who are smarter than he smart ones who are already smarter than the general population) will migrate to the problems of multi-processor, parallel processing, multi-threading, multi-core, multi-multi-multi that is expected to solve the problems of bad management, poor planning bad architecture, flagging business models, antiquated products, constricting global markets, and the eventual super-nova of Sol.
The regular programmers (who are smarter than the general population but are not smarter than the average of the programming population) will continue to plug away as "developers" and "producers" and "do something useful," as they call it -- in order to justify the fact that they aren't any smarter than the programming population, although they are smarter than the general population.)
These programmers will bemoan the fact that there may actually be an ogre at the gate of some computing kingdoms. These programmers wil have to make do with their own kingdom, of their own making. We'll call it the "Useful Kingdom."
These programmers will have to wait until someone solves the problem and then someone else packages it so they can use it in a way that separates them from trying to figure out when and where they should use the solution for their "useful" products.
Until then, these articles and the ensuing dust-clouds they create are my form of entertainment; having eschewed the likes of Paris.
Here's to you kid. We'll always have Paris.