Will the need to program multi-core systems increase our awareness of existing approaches to concurrent programming? Will concurrency become an extension to the existing popular programming languages, bring about adoption of new or will become a transparent capability in the operating system? Here is an interesting look at Erlang, a language designed for concurrency and distribution in mind.
Our free pass will expire soon, though. Brian Goetz, one of the industry’s top concurrency experts, has written about high-performance Java, including concurrency, for more than a half a decade now. Brian believes that you’re likely to see a significant increase in concurrency problems, thanks to the laws of physics, subsequent demands on programmers, and shortcomings in the current model.
Moore’s Law predicts that the number of transistors on a chip doubles every two years. Semiconductor manufacturers are about to hit some physical limits that will impact their ability to double the transistors on a single wafer, so you’ll see matrices of processors. That change will force more concurrent programming, bringing more developers kicking and screaming into distributed programming.
I am no expert in concurrency, but keenly aware of its importance as we keep getting multi-core systems. Intel is promising 80 cores in a single chip within the next 5 years and investing a lot of money in training developers to program multi-cores. We need languages and tools to build, test and optimize the next generation applications.