Skip to main content

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

Included in the following conference series:

Abstract

I was aware of a need for object-oriented programming long before I learned that it existed. I felt the need because I was using C and Lisp to build medium-sized systems, including a widely-used text editor, CASE and VLSI tools. Stated simply, I wanted flexible connections between providers and consumers of behavior in my systems. For example, in the text editor anything could produce text (files, in-memory buffers, selections, output of formatters, etc) and be connected to any consumer of text. Object-oriented programming solved this problem, and many others; it also provided a clearer way to think about the problems. For me, this thinking was very pragmatic: object solved practical programming problems cleanly.

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.

References

  1. Atkinson, M.P., Buneman, O.P.: Types and persistence in database programming languages. ACM Comput. Surv. 19(2), 105–170 (1987)

    Article  Google Scholar 

  2. Banerjee, A., Naumann, D.A.: Ownership confinement ensures representation independence for object-oriented programs. J. ACM 52(6), 894–960 (2005)

    Article  MathSciNet  Google Scholar 

  3. Blackburn, S., Zigman, J.N.: Concurrency — the fly in the ointment? In: POS/PJW, pp. 250–258 (1998)

    Google Scholar 

  4. Boyapati, C., Liskov, B., Shrira, L.: Ownership types for object encapsulation. In: POPL 2003: Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 213–223. ACM Press, New York (2003)

    Chapter  Google Scholar 

  5. Church, A.: The Calculi of Lambda Conversion. Princeton University Press, Princeton (1951)

    Google Scholar 

  6. Clarke, D.G., Noble, J., Potter, J.: Simple Ownership Types for Object Containment. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 53–76. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  7. Cook, W.: Object-oriented programming versus abstract data types. In: Plotkin, G., MacQueen, D.B., Kahn, G. (eds.) Semantics of Data Types 1984. LNCS, vol. 173, Springer, Heidelberg (1984)

    Google Scholar 

  8. Cook, W.R., Ibrahim, A.: Integrating programming languages & databases: What’s the problem (2005), Available from http://www.cs.utexas.edu/users/wcook/projects/dbpl/

  9. Hoare, C.A.R.: Proof of correctness of data representations. Acta Inf. 1, 271–281 (1972)

    Article  MATH  Google Scholar 

  10. Krishnamurthi, S., Felleisen, M., Friedman, D.P.: Synthesizing object-oriented and functional design to promote re-use. In: ECCOP 1998: Proceedings of the 12th European Conference on Object-Oriented Programming, pp. 91–113. Springer, Heidelberg (1998)

    Google Scholar 

  11. Liskov, B.: A history of clu. In: HOPL-II: The second ACM SIGPLAN conference on History of programming languages, pp. 133–147. ACM Press, New York (1993)

    Chapter  Google Scholar 

  12. MacQueen, D.B.: Modules for standard ml. In: Proc. of the ACM Conf. on Lisp and Functional Programming (1984)

    Google Scholar 

  13. Maier, D.: Representing database programs as objects. In: Bancilhon, F., Buneman, P. (eds.) Advances in Database Programming Languages, Papers from DBPL-1, pp. 377–386. ACM Press / Addison-Wesley (1987)

    Google Scholar 

  14. Mitchell, J.C., Plotkin, G.D.: Abstract types have existential type. In: Proc. of the ACM Symp. on Principles of Programming Languages, pp. 37–51. ACM Press, New York (1985)

    Google Scholar 

  15. Odersky, M., Zenger, M.: Independently extensible solutions to the expression problem. In: Proc. FOOL 12 (January 2005)

    Google Scholar 

  16. Patterson, D.A.: Latency lags bandwith. Commun. ACM 47(10), 71–75 (2004)

    Article  MathSciNet  Google Scholar 

  17. Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)

    Google Scholar 

  18. Scharli, N., Black, A.P., Ducasse, S.: Object-oriented encapsulation for dynamically typed languages. In: OOPSLA 2004: Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 130–149. ACM Press, New York (2004)

    Chapter  Google Scholar 

  19. Torgersen, M.: The Expression Problem Revisited. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 123–146. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  20. Völter, M., Kircher, M., Zdun, U.: Remoting Patterns: Foundations of Enterprise, Internet and Realtime Distributed Object Middleware. Wiley, Chichester (2005)

    Google Scholar 

  21. Wadler, P.: The Expression Problem (November 1998), http://www.cse.ohio-state.edu/~gb/cis888.07g/java-genericity/20

  22. Zhao, T., Palsber, J., Vite, J.: Lightweight confinement for featherweight java. In: OOPSLA 2003: Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, pp. 135–148. ACM Press, New York (2003)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cook, W.R. (2006). Peak Objects. In: Thomas, D. (eds) ECOOP 2006 – Object-Oriented Programming. ECOOP 2006. Lecture Notes in Computer Science, vol 4067. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11785477_10

Download citation

  • DOI: https://doi.org/10.1007/11785477_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-35726-1

  • Online ISBN: 978-3-540-35727-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics