Large-scale parallel machines hold great potential for attaining high-performance computing. However, writing explicit parallel programs that correctly manage parallelism among thousands of processes, thus utilizing the power of parallel machines, is a highly complicated task. This paper presents a practical parallel programming environment, SYMPAL, designed to achieve a high level of parallel performance while simplifying the parallel programming task. SYMPAL incorporates the advantages of both object-oriented and functional programming paradigms, with the goal of supporting multiparadigm and implicit parallel programming. The SYMPAL environment consists of a programming language, an optimizing compiler and a run-time system. The overall complexity of the programming task is handled through a division of labour among these components. The language's inherent parallelism facilitates the extraction of potential parallelism, while the optimizing compiler and run-time system efficiently manage the available parallelism. SYMPAL has been efficiently implemented on a MIMD machine with eight processors and on several uniprocessors. Performance analysis of several `real' programs such as the SYMPAL compiler itself and Nbody simulations is included.