This document describes the Nicke programming language. Nicke is an extension of C for programming distributed-memory machines. It supports both message-passing and shared-memory parallelism. We present the rationale for Nicke and describe the main features of the language. The Nicke language has been implemented on the 8CE machine under the Mach Operating System, , and is being ported to the Victor machine under the Trollius kernel [11, 5]. The language is supported by a preprocessor that translates Nicke code into standard C, and by a run-time library.