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
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 |