We will survey the history and recent developments in the field of programming languages and environments for data parallel programming. In particular, we describe ongoing work at Florida State University and Indiana University, which is developing a compilation system for a data parallel extension of the Java programming language. The first part of this dissertation is a brief review of the evolution of data parallel languages starting with dialects of Fortran that developed through the 1970s and 1980s. This line of development culminated in the establishment of the High Performance Fortran (HPF) in the 1990s. We will review essential features of the HPF language and issues related to its compilation. The second part of the dissertation is about the HPspmd programming model, including the motivation, HPspmd language extensions, integration of high-level libraries, and an example of the HPspmd model in Java--HPJava. The third part of the dissertation covers background and current status of the HPJava compilation system. We will describe the multiarray types and HPspmd classes, basic translation scheme, and optimization strategies. The fourth part of the dissertation is concerned with experimenting and benchmarking some scientific and engineering applications in HPJava, to prove the compilation and optimization strategies we will apply to the current system are appropriate. The fifth part of the dissertation compares and contrasts with modern related languages including Co-Array Fortran, ZPL, JavaParty, Timber, and Titanium. Co-Array Fortran is an extended Fortran dialect for SPMD programming; ZPL is an array-parallel programming language for scientific computations; JavaParty is an environment for cluster-based parallel programming in Java; Timber is a Java-based language for array-parallel programming. Titanium is a language and system for high-performance parallel computing, and its base language is Java; We will describe the systems and discuss the relative advantages of our proposed system. Finally, the dissertation gives the conclusion and contribution of our HPspmd programming model and its Java extension, HPJava, for modern and future computing environments. Future work on the HPspmd programming model, such as programming support for high-performance grid-enabled applications and the Java Numeric efforts in Java Grande, may contribute to a merging of the high-performance computing and the Grid computing envionments of the future.