We introduce the SPlit-C language; a prallel extension of C intended for high performance programming on distributed memory multiprocessors, and demonstrate the use of the language in optimizing parallel programs. Split-C provides a global adrress space with a clear concept of localiry an unusual assignment operatrors. These are used as tools to reduce the frequency and cost of remote access. The language allows a mixture of shared memory, message passing, and data parallel programming styles while providing efficient access to the underlying machine. We demontrate the basic language concepts using regular and irregular parralel programs and give performance results fo rvarious stages of program optimization.