The Death of Object-Oriented Programming

Nierstrasz, Oscar Marius (2016). The Death of Object-Oriented Programming. In: Stevens, Perdita; Wąsowski, Andrzej (eds.) Fundamental Approaches to Software Engineering. FASE 2016. Lecture Notes in Computer Science: Vol. 9633 (pp. 3-10). Springer-Verlag 10.1007/978-3-662-49665-7_1

Full text not available from this repository. (Request a copy)

Modern software systems are increasingly long-lived. In order to gracefully evolve these systems as they address new requirements, developers need to navigate effectively between domain concepts and the code that addresses those domains. One of the original promises of object-orientation was that the same object-oriented models would be used throughout requirements analysis, design and implementation. Software systems today however are commonly constructed from a heterogeneous "language soup" of mainstream code and dedicated DSLs addressing a variety of application and technical domains. Has object-oriented programming outlived its purpose? In this essay we argue that we need to rethink the original goals of object-orientation and their relevance for modern software development. We propose as a driving maxim, ``Programming is Modeling,'' and explore what this implies for programming languages, tools and environments. In particular, we argue that: (1) source code should serve not only to specify an implementation of a software system, but should encode a queryable and manipulable model of the application and technical domains concerned; (2) IDEs should exploit these domain models to enable inexpensive browsing, querying and analysis by developers; and (3) barriers between the code base, the running application, and the software ecosystem at large need to be broken down, and their connections exploited and monitored to support developers in comprehension and evolution tasks.

Item Type: Conference or Workshop Item (Paper)
Division/Institute: 08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)
UniBE Contributor: Nierstrasz, Oscar Marius
Subjects: 000 Computer science, knowledge & systems
500 Science > 510 Mathematics
ISBN: 978-3-662-49665-7
Series: Lecture Notes in Computer Science
Publisher: Springer-Verlag
Language: English
Submitter: Oscar Marius Nierstrasz
Date Deposited: 30 Jan 2017 13:06
Last Modified: 30 Jan 2017 13:06
Publisher DOI: 10.1007/978-3-662-49665-7_1
Uncontrolled Keywords: scg-pub scg16 snf16 jb16
URI: http://boris.unibe.ch/id/eprint/94646

Actions (login required)

Edit item Edit item
Provide Feedback