ALGOL-E: An Experimental Approach to The Study of Programming Languages
A common approach to the teaching of Programming Languages (course 12, Curriculum 68) has been to teach several languages, each demonstrating a feature deemed significant, such as ALGOL, LISP, SNOBOL, and COBOL [3,7]. The problem that exists with this method is that far too much time is spent learning the details necessary to use the languages, leaving time for only a few trivial programs in each language. A popular alternative to this approach is to teach the course using a single general-purpose language which has a broad repertoire of language features, such as PL/I. While this method successfully avoids much of the detail which characterizes the former, it too seems to have a serious drawback. The student can become quite talented at programming in the language and still have very little feel for the implications of the higher level language structures at the machine level. Moreover, these languages typically provide no means by which the student can readily investigate these implications. Hence, ALGOL-E is proposed as a programming language system which provides such a capability.