Parallelism and Threads
With the advent of multi-core CPUs with potentially hundreds or thousands of cores introduced over the next 10 years, I don't feel we currently have the software technology to take advantage of this hardware.
Whilst the Java thread model is quite reasonable for simple multi-threaded designs, it is impossible (or difficult) to use it for detailed processes where multi-core/multi-SPE processors could provide benefits. Such examples are divide and conquer algorithms or highly parallel graphics algorithms.
For example, we could have a "fork" loop which spawns a thread for each instance of the loop variables (int this case i=0..numPixels) if the contents of the loop are known to be mutually exclusive. Load-balancing and end-of-loop joining would be automatically performed.
fork(int i=0;i<numPixels;i++)
{
drawPixel(i);
}
We seriously require language extensions along the lines of "Clik" (or JCilk) and possibly more.
The question is... when is this going to happen?!!!>

