Do you have a screaming-fast Quad-core computer? Does it really feel that fast?
If not, it’s probably because most applications were not programmed to take advantage of the new architecture. In fact, if you ask the Intel guys, not even the next generation of programmers is well prepared:
All major manufactures of CPUs, GPUs and ASICs have moved to a many core design, yet universities and colleges are not training engineers in the parallel and concurrent disciplines needed to efficiently program on such systems.
We are facing a sea change in computing. Single core is gone and will not return. Scaling will be based on our ability to efficiently program for many (and then many many) compute cores. We have to train the next gen of engineers to think parallel or we will not have done our jobs.
But then a few lines down in TechMeme, I read another post: Looking for job security? Try Cobol – says InfoWorld.
Analyst reports indicate that Cobol salaries are on the upswing. The language is easy to learn, there's a healthy demand for the skills, and offshore Cobol programmers are in short supply.
Seasoned Cobol programmers, in contrast, "should be in pretty good shape job-wise. If they have a position at an organization that intends to keep its legacy Cobol apps, then they are probably set for life"
I’ve seen this first hand as a SAP consultant in the 90’s: we all rushed to convert from mainframe to client-server (R/2 to R/3 in SAP product terms) and felt pity for those left behind. But they (at least some) had the last laugh: a lazy friend of mine who got “stuck” in the R/2 world was charging exorbitant rates to his (dinosaur) legacy customer, one of the few in the country still on SAP’s mainframe product. His laziness turned him into a rare commodity.
Back to education, here’s an interesting comment on the Intel blog:
Our experience in my courses about parallel computing is that students that have a degree in exact science are about 5 times faster to understand the concepts of parallel programming than students that have a degree in computer science. My guess is that computer science graduates are already 'locked' on single task methodologies and their understanding is built of those foundations. Everything new that they learn is first translated in their mind to what they know. In a way it is like teaching manual transmission to someone that is used to automatic transmission (for over 10 years).
And another comment:
Thank you! I guess even I have chances: my CS education was in Fortran, and we submitted coding sheets, which the lab used to create punch-cards – then a week later we received a printout of our run.