The goal of CPS 343/543 (3 sem. hrs)
is to study historical and current issues in the design,
implementation, and application of programming languages. The approach is to
comparatively assess language design and implementation options and understand
their influence on programming practice and methodology. Examples will be
provided from a host of computer languages such as FORTRAN, Pascal, COBOL, C,
C++, Java, Scheme, FORTH, PROLOG, Modula, Ada, and Smalltalk.
Students can expect a survey of programming paradigms, including representative
languages, a treatment of language definition and description methods, an
overview of features across all languages, and discussion of implementation
strategies.
"That language is an instrument of human reason, and not merely a medium for the expression of thought, is a truth generally admitted."
-- George Boole, quoted in Iverson's Turing Award Lecture