软件工程的发展历程及展望

软件工程发展至今,催生出了许多优秀的编程语言和编程思想,本文将带领大家一起了解软件工程经历的四个阶段:汇编语言表达业务逻辑、过程化语言表达业务逻辑、面向对象和模块化思想表达业务逻辑、服务化和组件化表达业务逻辑。最后谈一谈未来可能的发展方式。

  • 指令型语言表达业务逻辑

    软件发展之初,为了基于计算机构建应用,发明了汇编语言,该语言的特性是基于CPU指令集进行编程。为 了编写出有效的软件,需要理解大量计算机底层的特性。这个事情的软件开发难度大,成本高。

  • 过程性语言表达业务逻辑

    从汇编语言到C语言,出现了更高级别的抽象思维,当时抽象出了三种可以涵盖所有逻辑结构的范式:顺序结构、选择结构和循环结构。同时出现了面向过程化的编程思想。这就促成了软件开发的效率,但这种方式仍然不好控制软件的复杂度,不利于大型软件的开发。

  • 面向对象和模块化思想表达业务逻辑

    为了更清晰的构建软件,我们找到了一种更利于人类认知世界的编程方法——面向对象思维。通过构造出的一个个具有类型结构的对象在一起工作,使得软件得以运行。这一时期也催生出许多程序框架和工具用以简化软件生命周期的各个流程,如Spring框架、Maven构建工具、git版本控制工具等。可是这一时期的软件不具备弹性伸缩的能力,只能依靠升级硬件的配置来扩展服务能力。

  • 服务化和组件化表达业务逻辑

    服务化和组件化是目前主流的构建软件的方式。利用分布式的思想通过服务化和组件化,能够大大地提高软件的服务能力以及复用性。目前的容器化和编排技术的出现,更加促进了服务化和组件化软件的模式。也大大减小了构建大型应用软件的成本。可下一阶段,软件该如何发展呢?

    展望

    目前可以看到组件化的趋势势不可挡。可是如何基于组件构建出大型应用程序有较高门槛,如何去简化门槛便成为了一个很好的诉求?我想将来的趋势应当是能够基于业务流程来编排我们的应用,通过我们资料库的资料库在可视化界面上拖拉拽一个preti网从而生成一个完全可运行的业务流程甚至应用。

 

你可能感兴趣的:(项目经验)