Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yegor256/awesome-academic-oop
Curated list of academic writings on object-oriented programming
https://github.com/yegor256/awesome-academic-oop
List: awesome-academic-oop
academic awesome-list object-oriented-programming oop
Last synced: 17 days ago
JSON representation
Curated list of academic writings on object-oriented programming
- Host: GitHub
- URL: https://github.com/yegor256/awesome-academic-oop
- Owner: yegor256
- Created: 2017-10-03T20:21:03.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-03T14:56:22.000Z (8 months ago)
- Last Synced: 2024-05-19T22:42:31.544Z (6 months ago)
- Topics: academic, awesome-list, object-oriented-programming, oop
- Homepage:
- Size: 30.3 KB
- Stars: 40
- Watchers: 8
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/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](https://dl.acm.org/doi/pdf/10.1145/947955.947961):
> "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](https://dl.acm.org/doi/10.5555/782096.782099):
> "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](https://dl.acm.org/doi/10.1145/63320.66468):
> "The paradigm itself is far too general."Scott Danforth, et al.
**Type Theories and Object-Oriented Programming**.
_ACM Computing Surveys_, 20(1), 1988.
[ACM](https://dl.acm.org/doi/abs/10.1145/62058.62060):
> "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](https://www.microsoftpressstore.com/store/object-thinking-9780735691308):
> "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](https://blog.jot.fm/2010/08/26/ten-things-i-hate-about-object-oriented-programming/comment-page-2/):
> "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](https://www.ijfrcsce.org/index.php/ijfrcsce/article/view/1202):
> "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](https://www.eolang.org),
an object-oriented programming language with a [dataflow](https://en.wikipedia.org/wiki/Dataflow_programming)
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](https://dl.acm.org/doi/abs/10.1145/3445814.3446703):
> "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](https://link.springer.com/chapter/10.1007/BFb0019443):
> ...## 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](http://www.acm.org/publications/authors/reference-formatting) with a bolder font for titles.
To find new papers I recommend to use
[Google Scholar](https://scholar.google.com.ua/schhp).## License
[![CC0](https://i.creativecommons.org/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)
To the extent possible under law, [Yegor Bugayenko](https://www.yegor256.com)
has waived all copyright and related or neighboring rights to this work.