《基于模型的软件开发》——1.1 历史

简介:

本节书摘来自华章计算机《基于模型的软件开发》一书中的第1章,第1.1节,作者:[美] H. S.莱曼(H. S. Lahman)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.1 历史

20世纪50年代基本上不存在系统化的开发,那是编程的“黑暗时代”。现在的开发人员几乎很难想象当时的软件开发环境。当时大型主机的内存只有几KB(kilobyte,千字节),纸带就是高科技输入系统。西联曾经有效垄断了电传输入设备,该设备每按下一个键都需要做几英尺-磅的功,这些设备导致程序员患上腕管综合征,该症状甚至成了医学界的一个专有名词。没有浏览器、调试器或者CRT终端。基本汇编语言(Basic Assembly Language,BAL)是解决软件危机的银弹。
20世纪50年代末60年代初,更好的工具以更高级别计算机语言的形式出现,将0和1抽象为符号名、更高层次的操作、块结构,并且将结构抽象为记录和数组。这时的开发工作更加轻松,开发人员的生产力更高,但是关于如何正确使用这些技术没有指导。因此这种复兴催生了“黑客时代”,一个个人生产力占统治地位的时代。
黑客时代从20世纪60年代初直至70年代中。这一时期的特点就是由非常聪明的人生产大量的代码,每年10万行的FORTRAN代码产量并非不常见。开发人员必须非常聪明,因为他们花费大量的时间来调试程序,他们要精于此道才能使代码快速交付。对于问题,他们常有天才的解决方案。在20世纪60年代,黑客一词是很有赞赏意味的。它用于描述那些可以生产大量代码完成出色工作,并使其能够保持运行的人。
然而,在20世纪70年代末期,蜜月结束了。黑客变成了一个具有贬义的称谓。因为黑客们开始进行新的项目开发,将之前他们所编写的代码交由其他人维护。随着时间的推移,当更多特定应用出现时,这些代码往往不能正常工作。世界发生了改变,程序也需要随之提高。通常重写这些黑客代码比修复它还要简单一些。此时,人们才发现这些代码在“某些”方面错了。在行业的说明中,“可维护性”这一名词出现了,那些不可维护的代码此时被称为“黑客代码”。
20世纪60年代末的解决方案是一种更加系统化的方法,将之前获得的那些多种多样的宝贵教训组合成方法用于构建软件。同时,随着程序变得越来越大,需要为之设计结构的想法出现了。“软件设计”作为一项活动从软件编程中独立了出来。在黑客时代末期出现的方法将所获得的各类教训组合在一起产生协同效益,使整体大于部分的总和。这些方法都在结构化开发的涵盖之下。
从20世纪80年代开始,软件产业的各个方面都有了巨大的进步。OO范式是一种特别规范的分析与设计方法,带来了层出不穷的革新。

相关文章
|
27天前
|
存储 安全 程序员
【C++标准的演化】逐步解决历史遗留问题,从C++11到C++26的改进
【C++标准的演化】逐步解决历史遗留问题,从C++11到C++26的改进
131 0
|
9月前
|
程序员 云计算
编程历史的宏观下的微操作
编程历史可以说是人类智慧的结晶,是技术和文明的进步的重要标志之一。从最早的机械计算机到现代的高级编程语言,编程历史经历了许多关键的里程碑。在这篇博客文章中,我将探讨编程历史中的宏观下的微操作,即那些看似微小但却产生重大影响的事件和技术。
59 0
|
9月前
|
UED
从历史的角度看,为什么OKR?
从历史的角度看,为什么OKR?
40 0
|
12月前
|
机器学习/深度学习 消息中间件 人工智能
万字拆解!追溯ChatGPT各项能力的起源
万字拆解!追溯ChatGPT各项能力的起源
|
12月前
|
机器学习/深度学习 存储 自然语言处理
万字拆解!追溯ChatGPT各项能力的起源 2
万字拆解!追溯ChatGPT各项能力的起源2
|
Oracle 关系型数据库 Java
一些开发或使用软件过程中的经验(不断更新)
一些开发或使用软件过程中的经验
159 0
|
存储 监控 程序员
《程序员度量:改善软件团队的分析学》一项目跟踪系统
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第2章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1166 0
|
测试技术 程序员
《程序员度量:改善软件团队的分析学》一数据选择
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第2章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1211 0
|
监控 程序员
《程序员度量:改善软件团队的分析学》一数据获取
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第2章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
907 0