At the beginning of April I pointed to a post by Bill McColl where he pointed out the increasing importance of parallel programming accross the board.
Bill has a new post which notes the response, and parallel comments made by Microsoft’s Craig Mundie.
Bill also offers a prediction on coming language development
On his comment about “new languages pushed by a killer app”, my prediction is that in the short to medium term the biggest impact will come from domain specific parallel languages that are incredibly easy to use and allow users with strong experience in an application domain, but much less experience of the intricacies of general purpose parallel programming, to rapidly develop massively parallel apps that can be automatically mapped onto thousands of cores, with automatic fault tolerance, scheduling, and load balancing. Think more along the lines of MapReduce than MPI. On killer apps for massively parallel processing, my prediction is that a number of major new killer apps will emerge naturally as we gradually build out a whole new generation of software architectures in three broad areas: The Live Web, The Structured Web, and Live Enterprise Software.
This is an intuitively attractive prediction to my mind, since it doesn’t involve a top down overhaul of the enormous installed based of software OR a one-size-fits-all solution. It also allows for higher level, domain-specific approaches that build on expressive environments like Matlab. On the other hand, it seems to take a lot for a new language to come into use.
What do you think? Are we locked in to Fortran and C or is there room in HPC for new languages?