Languages and compilers for parallel computing