Parallel programming environments provide a way for users to reap the benets of parallelism, while reducing the eort required to create parallel applications. The CO2P3S parallel programming system is one such tool, using a pattern-based approach to express concurrency. This paper demonstrates that the CO2P3S system contains a rich set of parallel patterns for implementing a wide variety of applications running on shared-memory or distributed-memory hardware. Code metrics and performance results are presented to show the usability of the CO2P3S system and its ability to reduce programming eort, while producing programs with reasonable performance.