back to parallel programming languages
It is perhaps reasonable that the first languages to support parallelism were imperative languages. In the scientific community, the popularity of Fortran made it inevitable that parallel versions of Fortran, such as High Performance Fortran were created.
Other popular imperative languages such as C and Pascal also spawned parallel versions (like C* for C, and Joyce for Pascal). Unlike MPI (which has bindings for Fortan and C), support for parallelism in these languages typically are not library routines, but are built in as integral part of the language. The apparent appeal of these procedural parallel languages is that large numbers of people already know how to program in the base languages, and the hope is moving into the parallel paradigm will be less painful.