It’s a known fact that CPU cores are not going to see high increases in their singular power. The alternative chip-makers have come up with is multi-core — the poor man’s SMP. It seems like future CPUs will be trying to maintain Moore’s law using more cores rather than more singular power.

Does this change the game? does it pose an opportunity?

It certainly forces hard-core programmers to focus on parallel-ability. Most programmers don’t deal with stuff that needs to be optimized (writing on_click handlers for buttons anybody?) but the core that writes our OSs’, implements STL for us, writes graphic drivers, and the algorithmic type will have to keep up on their multi-threading skills.

The more popular programming languages have done a good job of not introducing multi-threaded concepts into their language structure. I say good because it has been generally unnecessary until now. What happens though if our PCs are suddenly all multi-core by definition? Do we expose this in high-level languages such as C#?

I wonder if we can reuse ideas from the distributed computing move of the past 10 years. I remember how in ‘98 I was thinking about the potential growth of distributed computing and how this growing field lacked tools to write parallel-able code…