Most of the discussion in this chapter has focused on the use of commodity technologies for computational grids, a field sometimes termed high-performance distributed computing. We believe, however, that commodity technologies can also be used to build parallel computing environments that combine high functionality and high performance. In this section, we first compare alternative views of high-performance distributed parallel computers. Then, we discuss Java as a scientific and engineering programming language.