Skip to main content

Nesting in an Object Oriented Language is NOT for the Birds

  • Conference paper
  • First Online:
Book cover ECOOP ’88 European Conference on Object-Oriented Programming (ECOOP 1988)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 322))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

11. References

  1. United States Department of Defense. “Reference Manual for the Ada Programming Language”. ANSIIMIL-STD-1815A-1983, February 1983, Springer-Verlag, New York

    Google Scholar 

  2. Atkinson, M. P., Morrison, R. “Types, Binding and Parameters in a Persistent Environment”. Persistence and Data Types Papers for the Appin Workshop, Persistent Programming Research Report 16, University of Glasgow, Dept. of Computing Science, Scotland, August 1985, pp. 1–24

    Google Scholar 

  3. Bartol, W. M., et al. “Report on the LOGLAN82 Programming Language”. Polska Akademia Nauk, Instytut Podstaw Informatyki, Panstwowe Wydawnictwo Naukowe, Warszawa-Lodz, 1984

    Google Scholar 

  4. Bobrow, D. G., Stefik, M. “The LOOPS Manual”. Xerox Corporation, 1983

    Google Scholar 

  5. Buhr, P. A., Zarnke, C. R. “A Design for Integration of Files into a Strongly Typed Programming Language”. Proceedings IEEE Computer Society 1986 International Conference on Computer Languages, Miami, Florida, October 1986, pp. 190–200

    Google Scholar 

  6. Buhr, P. A., Zarnke, C. R. “Persistence in an Environment for a Statically-Typed Programming Language”. Persistent Object Systems: their design, implementation and use., Persistent Programming Research Report 44, University of Glasgow, Scotland, August 1987, pp. 317–336

    Google Scholar 

  7. Buhr, P. A., Zarnke, C. R. “Protection in a Multi-User Object-Oriented Environment”. in preparation.

    Google Scholar 

  8. Cox, B. J. Object Oriented Programming, Addison-Wesley, 1986

    Google Scholar 

  9. Clarke, L. A., Wilden, J. C., Wolf, A. L. “Nesting in Ada Programs is for the Birds”. SIGPLAN Notices, vol. 15, no. 11, November 1980, pp. 139–145

    Article  Google Scholar 

  10. DeRemer, F., Kron, H. H. “Programming-in-the-Large Versus Programming-in-the-Small”. I.E.E.E. Transactions on Software Engineering, vol. SE-2, no. 2, June 1976, pp. 80–86

    MathSciNet  Google Scholar 

  11. Goldberg, A., Robson, D. Smalltalk-80: The Language and its Implementation, Addison-Wesley, May 1983

    Google Scholar 

  12. Hanson, D. R. “Is Block Structure Necessary?”. Software—Practice and Experience, vol. 11, 1981, pp. 853–866

    Article  Google Scholar 

  13. Heering, J., Klint, P. “Towards Monolingual Programming Environments”. ACM Transactions on Programming Languages and Systems, vol. 7, no. 2, April 1985, pp. 183–213

    Article  Google Scholar 

  14. House, R. T. “Alternative Scope Rules for Block-Structure Languages”. The Computer Journal, vol. 29, no. 3, June 1986, pp. 253–260

    Article  Google Scholar 

  15. IBM. OS and DOS PL/I Language Reference Manual, Manual GC26-3977-0, September 1981

    Google Scholar 

  16. Kristensen, B. B., Madsen, O. L., Moller-Pedersen, B., Nygaard, K. “The BETA Programming Language”. Research Directions in Object-Oriented Programming, Shiver, B., Wegner, P. (eds.) MIT Press, Computer Systems Series, 1987, pp. 7–48.

    Google Scholar 

  17. Lampson, B. W., Horning, J. J., London, R. L., Mitchell, J. G., Popek, G. L. “Report on the Programming Language Euclid”. SIGPLAN Notices, vol. 12, no. 2, February 1977, pp. 1–79

    Article  Google Scholar 

  18. Madsen, O. L. “Block Structure and Object Oriented Languages”. Research Directions in Object-Oriented Programming, Shiver, B., Wegner, P. (eds.) MIT Press, Computer Systems Series, 1987, pp. 113–128

    Google Scholar 

  19. Mayer, B. “Eiffel: Programming for Reusability and Extendibility”. SIG-PLAN Notices, vol. 22, no. 2, February 1987, pp. 85–94

    Article  Google Scholar 

  20. Parnas, D. L., Clements, P. C., Weiss, D. M. “The Modular Structure of Complex Systems”. I.E.E.E. Transactions of Software Engineering, vol. SE-11, no. 3, March 1985, pp. 259–266

    Google Scholar 

  21. Shaw, M. ALPHARD: Form and Content. Springer-Verlag, New York, 1981

    MATH  Google Scholar 

  22. Simula-Data Processing. Programming Languages, Swedish Standard SS636114 SIS, Stockholm, Sweden, June 1987

    Google Scholar 

  23. Stroustrup, B. The C++ Programming Language, Addison-Wesley, 1986

    Google Scholar 

  24. W. Teitelman, J. W. Goodwin, A. K. Hartley, et al., Interlisp Reference Manuul, Xerox Palo Alto Rcsearch Center, 1978

    Google Scholar 

  25. W. Teitelman, The Cedar Programming Environment; A Midterm Report and Examination, Xerox Palo Alto Research Center, Technical Report CSL-83-11, June 1984

    Google Scholar 

  26. Tennent, R. D. “Two Examples of Block Structuring”. Software—Practice and Experience, vol. 12, 1982, pp. 385–392

    Article  MATH  Google Scholar 

  27. Wegbreit, B. “The ECL programming system”. Proceedings of AFIPS 1971 FJCC, vol. 39, AFIPS Press, Montvale, N. J., pp. 253–262

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Buhr, P.A., Zarnke, C.R. (1988). Nesting in an Object Oriented Language is NOT for the Birds. In: Gjessing, S., Nygaard, K. (eds) ECOOP ’88 European Conference on Object-Oriented Programming. ECOOP 1988. Lecture Notes in Computer Science, vol 322. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45910-3_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-45910-3_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-50053-7

  • Online ISBN: 978-3-540-45910-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics