Joyce is a secure programming language for concurrent computing designed by Per Brinch Hansen in the 1980s. It is based on the sequential language Pascal and the principles of communicating sequential processes (CSP). It was created to address the shortcomings of CSP to be applied as a programming language, and to provide a tool, mainly for teaching, for distributed computing system implementation.

The language is based around the concept of agents; concurrently executed processes that communicate only by the use of channels and message passing. Agents may activate subagents dynamically and recursively. The development of Joyce formed the foundation of the language SuperPascal, also developed by Hansen around 1993. No source has been published.

Joyce – A Programming Language for Distributed Systems, 1987
Joyce A Language for Computer Networks, November 1979
A Multiprocessor Implementation of Joyce, 1989
Joyce performance on a Multiprocessor, 1988
The Joyce Language Report, 1989