From the Publisher: Provides an in-depth introduction to the principles of programming design and implementation. Gives up-to date coverage of most of the topics in the Programming Languages Subject Area as outlined in the 1991 ACM/IEEE-CS Joint Curriculum Task Force Report. Coverage of Common Themes for programming languages in general, and Special Features of individual programming languages. Organized around design issues, this coverage allows the instructor great freedom in structuring and choosing examples. Emphasis on major principles and paradigms of programming languages rather than on individual languages themselves. Gives students a firm grasp of the fundamental concepts of programming language theory, illustrated by a wealth of specific examples drawn from the most widely used languages,including Pascal, Modula-2, Ada, C, FORTRAN, Lisp, Prolog, ML, Miranda, C++, Simula, and SmallTalk.
Cited By
- Dageförde J and Kuchen H A constraint-logic object-oriented language Proceedings of the 33rd Annual ACM Symposium on Applied Computing, (1185-1194)
- Malakuti S and Aksit M On liberating programs from the von neumann architecture via event-based modularization Companion Proceedings of the 14th International Conference on Modularity, (31-34)
- Govender D and Govender I Are students learning object oriented programming in an object oriented programming course? Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education, (395-395)
- Majchrzak T and Kuchen H Logic Java Proceedings of the 20th international conference on Functional and constraint logic programming, (122-137)
- Wang Y, Tan X, Ngolah C and Sheu P (2010). The Formal Design Models of a Set of Abstract Data Types ADTs, International Journal of Software Science and Computational Intelligence, 2:4, (72-100), Online publication date: 1-Oct-2010.
- Wang Y, Tan X and Ngolah C (2010). Design and Implementation of an Autonomic Code Generator Based on RTPA, International Journal of Software Science and Computational Intelligence, 2:2, (44-65), Online publication date: 1-Apr-2010.
- Peng W, Yang X and Zhu F Automation technique of software internationalization and localization based on lexical analysis Proceedings of the 2nd International Conference on Interaction Sciences: Information Technology, Culture and Human, (970-975)
- Cook W On understanding data abstraction, revisited Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, (557-572)
- Cook W (2009). On understanding data abstraction, revisited, ACM SIGPLAN Notices, 44:10, (557-572), Online publication date: 25-Oct-2009.
- Buck D and Stucki D (2009). The hidden injuries of overloading 'ADT', ACM SIGCSE Bulletin, 41:1, (256-259), Online publication date: 4-Mar-2009.
- Buck D and Stucki D The hidden injuries of overloading 'ADT' Proceedings of the 40th ACM technical symposium on Computer science education, (256-259)
- Wagner S and Deissenboeck F Abstractness, specificity, and complexity in software design Proceedings of the 2nd international workshop on The role of abstraction in software engineering, (35-42)
- Wang Y On mathematical laws of software Transactions on computational science II, (46-83)
- Wang Y On contemporary denotational mathematics for computational intelligence Transactions on computational science II, (6-29)
- Subramani K and Madduri K Accomplishing approximate FCFS fairness without queues Proceedings of the 14th international conference on High performance computing, (540-551)
- Mead J, Gray S, Hamer J, James R, Sorva J, Clair C and Thomas L (2006). A cognitive approach to identifying measurable milestones for programming skill acquisition, ACM SIGCSE Bulletin, 38:4, (182-194), Online publication date: 1-Dec-2006.
- Mead J, Gray S, Hamer J, James R, Sorva J, Clair C and Thomas L A cognitive approach to identifying measurable milestones for programming skill acquisition Working group reports on ITiCSE on Innovation and technology in computer science education, (182-194)
- Rice S, Markowitz H, Marjanski A and Bailey S The SIMSCRIPT III programming language for modular object-oriented simulation Proceedings of the 37th conference on Winter simulation, (621-630)
- Ross J (2005). Polymorphism in decline?, Journal of Computing Sciences in Colleges, 21:2, (328-334), Online publication date: 1-Dec-2005.
- Chen Y, Dios R, Mili A, Wu L and Wang K (2005). An Empirical Study of Programming Language Trends, IEEE Software, 22:3, (72-78), Online publication date: 1-May-2005.
- Tevis J and Hamilton J Methods for the prevention, detection and removal of software security vulnerabilities Proceedings of the 42nd annual ACM Southeast Conference, (197-202)
- Saxon C (2003). Object-oriented recursive descent parsing in C#, ACM SIGCSE Bulletin, 35:4, (82-85), Online publication date: 1-Dec-2003.
- Hemmendinger D Operator overloading Encyclopedia of Computer Science, (1324-1325)
- Lee J and Ralston A Global and local variables Encyclopedia of Computer Science, (750-751)
- Bruce K Formal semantics and interpreters in a principles of programming languages course The proceedings of the thirtieth SIGCSE technical symposium on Computer science education, (331-335)
- Bruce K (1999). Formal semantics and interpreters in a principles of programming languages course, ACM SIGCSE Bulletin, 31:1, (331-335), Online publication date: 1-Mar-1999.
- Naps T and Stenglein J (1996). Tools for visual exploration of scope and parameter passing in a programming languages course, ACM SIGCSE Bulletin, 28:1, (305-309), Online publication date: 1-Mar-1996.
- Naps T and Stenglein J Tools for visual exploration of scope and parameter passing in a programming languages course Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education, (305-309)
Recommendations
Definitional Interpreters for Higher-Order Programming Languages
Higher-order programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters that are themselves written in a programming language based on the lambda calculus (i.e., an applicative language ...