Why create a new language? Why not extend C, C++, Fortran, … ? People who ask this question are typically referring to one or more of the following perceived benefits. By extending a language you don’t have to reinvent the wheel and can build on what’s come before. While this is true, conventional languages also tend to carry baggage that can be undesirable in the scalable computing setting. Sometimes this is due to the use-cases for which they were defined — for example, sequential, system-level programming rather than scalable parallel computing. In other cases, they may simply betray the era in which they were created; modern programming languages have had opportunities to innovate and improve upon those of the past, making programmers more productive. There’s no inherent reason to believe that scalable parallel programmers shouldn’t benefit from similar productivity features.
Chamberlin goes on to say that the Chapel team believes that scalable parallel programmers (and desktop parallel programmers, for that matter) would benefit greatly from a productive new language supporting better syntax, features and optimizations than today’s parallel notations offer. HPC has a rich set of lower-level technologies upon which to build and numerous failed parallel languages from which to learn.
Read the Full Story.
Sign up for our insideHPC Newsletter.