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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Atkinson, M.P., Buneman, O.P.: Types and persistence in database programming languages. ACM Comput. Surv. 19(2), 105–170 (1987)
Banerjee, A., Naumann, D.A.: Ownership confinement ensures representation independence for object-oriented programs. J. ACM 52(6), 894–960 (2005)
Blackburn, S., Zigman, J.N.: Concurrency — the fly in the ointment? In: POS/PJW, pp. 250–258 (1998)
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)
Church, A.: The Calculi of Lambda Conversion. Princeton University Press, Princeton (1951)
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)
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)
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/
Hoare, C.A.R.: Proof of correctness of data representations. Acta Inf. 1, 271–281 (1972)
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)
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)
MacQueen, D.B.: Modules for standard ml. In: Proc. of the ACM Conf. on Lisp and Functional Programming (1984)
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)
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)
Odersky, M., Zenger, M.: Independently extensible solutions to the expression problem. In: Proc. FOOL 12 (January 2005)
Patterson, D.A.: Latency lags bandwith. Commun. ACM 47(10), 71–75 (2004)
Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)
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)
Torgersen, M.: The Expression Problem Revisited. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 123–146. Springer, Heidelberg (2004)
Völter, M., Kircher, M., Zdun, U.: Remoting Patterns: Foundations of Enterprise, Internet and Realtime Distributed Object Middleware. Wiley, Chichester (2005)
Wadler, P.: The Expression Problem (November 1998), http://www.cse.ohio-state.edu/~gb/cis888.07g/java-genericity/20
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)