The performance of a distributed system depends upon the efficiency of job distribution among processing nodes, as well as that of its system architecture and operating system. The paper presents an extended C language, ParaC, that supports efficient parallel programming on distributed systems. ParaC is designed to reduce the effort of job distribution on distributed programming environments. Our design includes the description of design goals for the parallel language, the definition of a programming model and the design of ParaC constructs. The paper also addresses the detailed design issues related to translation and finally presents our prototype.