Over at the Cray Blog, Brad Chamberlain writes that the Chapel programming language is designed specifically for large-scale parallel computing.
I believe programmers have never had a decent programming language for large-scale parallel computing. By “decent,” I mean one that contains sufficient concepts for expressing the parallelism and locality control required to leverage supercomputers, while also being as general, effective, and feature-rich as languages like Fortran, C, C++, or Java. Ideally, such a language would strive to be more than simply “decent” and feel as attractive and productive to programmers as Python or MATLAB are. Libraries and pragma-based notations are very reasonable and effective alternatives to creating a language. Yet, given the choice between the three, languages are almost always going to be preferable from the perspectives of: providing good, clear notation; supporting semantic checks on the programmer’s operations; and enabling optimization opportunities by expressing the programmer’s intent most clearly to the compiler, runtime, and system.
Read the Full Story.