The Turing programming language
Communications of the ACM
The early history of Smalltalk
HOPL-II The second ACM SIGPLAN conference on History of programming languages
An environment for initial software engineering teaching
Software Engineering Journal
An object-oriented program development environment for the first programming course
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Blue—a language for teaching object-oriented programming
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
The F programming language
Communicating sequential processes
Communications of the ACM
A Discipline of Programming
PASCAL user manual and report
Hi-index | 0.00 |
This paper describes an Initial Concurrent Programming Language (ICPL) used to teach fundamental and general concepts and principles that underpin the concurrent programming language paradigm. ICPL has been specifically designed to be simple to implement yet powerful enough to allow many of the basic properties of concurrent systems to be demonstrated directly. ICPL builds directly on an initial knowledge of a block-structured imperative language and introduces the notion of send and receive operations as a basis for message passing between processes. The message passing properties of ICPL are chosen deliberately to demonstrate a complementary approach to describing concurrent systems in terms of processes accessing shared variables via monitors.