Here, parallelism is represented by a sequence of array operations where each element is calculated independently by user defined or system library functions---these allow one to add or multiply arrays and vectors, find maxima and combine such elemental operations. The user aids the compiler in implementing parallel array operations with commands that lay out the arrays over the nodes of the parallel machine. The best known example of such a data parallel language is CMFortran, developed by Thinking Machines. Currently, the ``High Performance Fortran Forum'' expects to produce an informal industry standard by the end of 1992 for a data parallel Fortran suitable for both SIMD and MIMD machines. The initial version of this standard is based on several research ompilers, including FortranD, which is an extension of Fortran77 and Fortran90, developed by a collaboration between Rice and Syracuse universities. High Performance Fortran offers a uniform software environment, which will allow the user to develop applications independently of the different hardware architectures discussed above---this is what we mean by a scalable portable software system.