【24h】

The Death of Object-Oriented Programming

机译:面向对象编程的死亡

获取原文

摘要

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.
机译:现代软件系统的寿命越来越长。为了在满足新需求时优雅地发展这些系统,开发人员需要在域概念和解决这些域的代码之间进行有效导航。面向对象的最初承诺之一是,在需求分析,设计和实现过程中将使用相同的面向对象模型。但是,当今的软件系统通常是由主流代码和专用DSL的异构“语言汤”构建的,这些DSL解决了各种应用和技术领域。面向对象的编程是否超出了其目的?在本文中,我们认为我们需要重新考虑面向对象的原始目标及其与现代软件开发的相关性。我们建议将“编程即建模”作为驱动准则,并探讨这对编程语言,工具和环境的含义。特别是,我们认为:(1)源代码不仅应用于指定软件系统的实现,而且应对相关应用程序和技术领域的可查询和可操纵模型进行编码; (2)IDE应该利用这些域模型来实现开发人员廉价的浏览,查询和分析; (3)需要打破代码库,正在运行的应用程序和整个软件生态系统之间的障碍,并开发和监视它们的连接以支持开发人员进行理解和演化任务。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号