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

[img] Text
Seiten aus 10.1007_978-3-662-49665-7-2.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (2MB)

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) [discontinued]

UniBE Contributor:

Nierstrasz, Oscar

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 Nierstrasz

Date Deposited:

30 Jan 2017 13:06

Last Modified:

02 Mar 2023 23:28

Publisher DOI:

10.1007/978-3-662-49665-7_1

Uncontrolled Keywords:

scg-pub scg16 snf16 jb16

BORIS DOI:

10.7892/boris.94646

URI:

https://boris.unibe.ch/id/eprint/94646

Actions (login required)

Edit item Edit item
Provide Feedback