Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Towards monolingual programming environments
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
The C++ programming language
Object oriented programming: an evolutionary approach
Object oriented programming: an evolutionary approach
Eiffel: programming for reusability and extendibility
ACM SIGPLAN Notices
Research directions in object-oriented programming
Block-structure and object-oriented languages
Research directions in object-oriented programming
Types, bindings and parameters in a persistent environment
Data types and persistence
Reference Manual for the ADA Programming Language
Reference Manual for the ADA Programming Language
Nesting in Ada programs is for the birds
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on Ada programming language
Report on the programming language Euclid
ACM SIGPLAN Notices
Programming-in-the-Large Versus Programming-in-the-Small
IEEE Transactions on Software Engineering
The Modular Structure of Complex Systems
IEEE Transactions on Software Engineering
AFIPS '71 (Fall) Proceedings of the November 16-18, 1971, fall joint computer conference
Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
The notion of nested blocks has come into disfavour or has been ignored in recent program language design. Many of the current object oriented programming languages use subclassing as the sole mechanism to establish relationships between classes and have no general notion of nesting. We argue that nesting (and, more generally, hierarchical organization) is a powerful mechanism that provides facilities that are not otherwise possible in a class based programming language. We agree that traditional block structure and its associated nesting have severe problems, and we suggest several extensions to the notion of blocks and block structure that indirectly make nesting a useful and powerful mechanism, particularly in an object oriented programming system. The main extension is to allow references to definitions from outside of the containing block, thereby making the contained definitions available in a larger scope. References are made using either the name of the containing entity or an instance of the containing entity. The extensions suggest a way to organize the programming environment for a large, multi-user system. These facilities are not available with subclassing, and subclassing provides facilities not available by nesting; hence, an object oriented language can benefit by providing nesting as well.