Skip to content

yegor256/awesome-academic-oop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 

Repository files navigation

logo

Awesome

This is a curated list of academic (!) books and papers on object-oriented programming, which promote "object thinking," and a few other related topics that I'm personally interested in. The quotes are mostly of critical nature.

OOP Is in Trouble

Tim Rentsch. Object Oriented Programming. ACM SIGPLAN Notices, 17(9), 1982. ACM:

"Everyone will be in a favor of OOP. Every manufacturer will promote his products as supporting it. Every manager will pay lip service to it. Every programmer will practice it (differently). And no one will know just what it is."

Amnon H. Eden, et al. Principles in Formal Specification of Object-Oriented Architectures. Proceedings of the Conference of the Centre for Advanced Studies on Collaborative Research (CASCON), 2001. ACM:

"Unfortunately, architectural formalisms have largely ignored the OO idiosyncrasies. Few works recognized the elementary building blocks of design and architecture patterns. As a result of this oversight, any attempt to use formalisms for the specification of OO architectures is destined to neglect key regularities in their organization."

Oscar Nierstrasz. A Survey of Object-Oriented Concepts. 1989. ACM:

"The paradigm itself is far too general."

Scott Danforth, et al. Type Theories and Object-Oriented Programming. ACM Computing Surveys, 20(1), 1988. ACM:

"Object-oriented programming, like functional programming or logic programming, incorporates a metaphor in which computation is viewed in terms divorced from the details of actual computation. However, in the case of OOP, this metaphor is rarely introduced with the mathematical precision available to the functional or logic programming models. Rather, OOP is generally expressed in philosophical terms, resulting in a natural proliferation of opinions concerning exactly what OOP really is." "The heart of the OOP metaphor is an anthropomorphic view of the objects of computation. Simply stated, the term 'object oriented' is used to describe programming languages in which the objects of computatio are (in a sense) like people."

Jeffrey Carter. OOP vs. Readability. ACM SIGADA Ada Letters, XVII, 1997.

"Inheritance in OOP allows you to write less code at the cost of less readability."

David West. Object Thinking. 2004. Microsoft Press:

"The contemporary mainstream understanding of objects (which is not behavioral) is but a pale shadow of the original idea and anti-ethical to the original intent."

Oscar Nierstrasz. Ten Things I Hate About Object-Oriented Programming, Journal of Object Technology, 9(5), 2010. JOT:

"OOP is about taming complexity through modeling, but we have not mastered this yet."

Zeba Khanam. Barriers to Refactoring: Issues and Solutions, International Journal on Future Revolution in Computer Science & Communication Engineering, 4, 2018. IJFRCSCE:

"Object oriented programming promotes ease in designing reusable software but the long coded methods makes it unreadable and enhances the complexity of the methods."

Dataflow Languages & Machines

Being a co-author of EO, an object-oriented programming language with a dataflow flavor, I'm particularly interested in works related to dataflow languages and machines. More specifically, I'm interested in their relation to object-oriented languages.

Dong Kai Wang et al. DiAG: a Dataflow-Inspired Architecture for General-Purpose Processors. ACM International Conference on Architectural Support for Programming Languages and Operating Systems, 2021. ACM:

"Pure dataflow architectures were limited in practicality since they could not easily support commonly used programming languages and data structures."

Unsorted Yet

William R. Cook. Object-oriented programming versus abstract data types. Foundations of Object-Oriented Languages: REX School/Workshop Noordwijkerhout, 1990. Springer:

...

How to contribute

I'm not interested in professional or scholar books, web articles, videos, blog posts, etc. The list must include only academic papers, like ACM/IEEE/etc. conference proceedings or publications in scientific journals.

I use ACM citation style with a bolder font for titles.

To find new papers I recommend to use Google Scholar.

License

CC0

To the extent possible under law, Yegor Bugayenko has waived all copyright and related or neighboring rights to this work.

About

Curated list of academic writings on object-oriented programming

Topics

Resources

Stars

Watchers

Forks