软件的发展历史(时间轴)


在这里插入图片描述
软件的发展史其实就是在裸机(硬件)和终端用户之间不断沉淀(平台化)的过程。

1、“计算机"理论阶段:20 世纪三、 四十年代——理论

计算机出现之前,就已经有很多数学家为计算机软件的出现打下了坚实的数学理论基础,最著名的是“阿兰. 图灵”,在 20 世纪三、 四十年代就创建立了“图灵机”理论, 从理论上解决了计算机软件和核心——“计算复杂性”以及“算法表示”问题。

正是有了这样的数学理论作为基础,加上当时电子技术的突飞猛进,二者相结合,才产生了计算机这样一个划时代的伟大产物。

2、第一台电子管计算机:1946 年——硬件

美国宾夕法尼亚大学经过几年的艰苦努力,研制出世界上第一台电子计算机,是电子管计算机,结构上以CPU为中心,使用机器语言,速度慢、存储量小,主要用于数值计算。

计算机都是按照“冯 . 诺依曼”体系设计的, 其运行的基本原理, 可以简单概括为“程序存储、集中控制”,“约翰 . 冯. 诺依曼”被称为“计算机之父”。

3、打孔纸带“编程”——语言

计算机的内部处理的全都是1 和 0 的二进制数字, 表示“开”和“关”.

而计算机刚刚发明出来的时候, 操作人员就必须用很多真正的“开关”来操作计算机,进步一点以后, 出现了“机器语言”的概念,使用例如在纸带上打孔的方式,把一些原来需要人手工拨动开关的操作序列,变成按照某种规则在纸带上的一系列孔的序列。

这种打着孔的纸带可以被看作是今天的鼠标、键盘、打印机、显示器、磁盘这些东西的总和,这些东西在当年,“打孔纸带”一个人就全包了。

今天我们分分钟编好一个程序,并且可以多语言混合编写。然而你能想象最初的编程竟然是通过打控纸写程序。

打孔卡(punch card)编程时期:20 世纪 60 年代,IBM 并为打孔卡设立了标准。

基本原理是通过打孔纸带上的圆孔或方孔,透光,则表示1,其他表示0。通过纸带输入老式计算机中,进行程序控制。

4、早期的“程序猿”

伴随着第一台电子计算机的问世诞生了。以写软件为职业的人也开始出现,他们多是经过训练的数学家和电子工程师,硬件通常用来执行一个单一的程序,而这个程序又是为一个特定的目的而编制的。

早期当通用硬件成为平常事情的时候,软件的通用性却是很有限的。大多数软件是由使用该软件的个人或机构研制的,软件往往带有强烈的个人色彩。

早期的软件开发也没有什么系统的方法可以遵循,软件设计是在某个人的头脑中完成的一个隐藏的过程。而且, 除了源代码往往没有软件说明书等文档。

5、机器语言——>“汇编语言”

机器语言通常称为“第一代语言”,其后又产生了“汇编语言”,即“第二代语言”。

汇编语言实际上就是机器语言,区别就是汇编语言中用一些符号代替0 和1 的序列, 仅仅是便于记忆。

此外,有少量的扩展功能,比如可以通过定义“宏”来产生类似于“子程序”这样的逻辑概念,通过编写汇编语言程序产生机器代码,效率提高了很多, 但是它依然是紧密依赖于机器的,和后来被广泛使用的高级语言是完全不同的。

6、Fortran——第一个高级语言:1954 年

1954 年,“约翰 . 巴科斯”建立了高级语言的思想,并设计出了世界上第一个真正意义上(至今广泛应用)的高级语言,第一个完全脱离机器硬件的高级语言—Fortran问世。

7、典型的操作系统FMS:1955

1955-,典型的操作系统是FMS (FORTRAN Monitor SystemFORTRAN 监控系统)和IBSYS (IBM为7094机配备的操作系统)。

8、晶体管计算机:1958年

1958年晶体管计算机,结构上以存储器为中心,使用高级语言应用范围扩大到数据处理和工业控制。

9、第一个数据库管理系统-IDS:1961年

1961年第一个数据库管理系统- -IDS由通用电气(GE)公司的Charles Bachmar开发出 。.

10、小规模集成电路计算机:1964年

1964年中小规模集成电路计算机,结构上仍以存储器为中心,增加了多种外部设备, 软件得到一定发展,计算机处理图像、文字和资料功能加强。

11、远程联机系统:60 年代中期之前

60 年代中期之前的第一代计算机网络是以单个计算机为中心的远程联机系统。

典型应用是由一台计算机和全美范围内2 000 多个终端组成的飞机定票系统。

终端是一台计算机的外部设备包括显示器和键盘,无CPU和内存。

12、“软件危机"与”软件工程“:60 年代中期

“软件危机”于60年代中期软件开始作为- -种产品被广泛使用,出现了“软件作坊”专职应别人的需求写软件。

这一软件开发的方法基本上仍然沿用早期的个体化软件开发方式,但软件的数量急剧膨胀,软件需求日趋复杂,维护的难度越来越大,开发成本令人吃惊地高,而失败的软件开发项目却屡见不鲜。

“软件危机” 就这样开始了!

1968年北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议_上第一次提出了“软件危机”(software crisis)这个名词。

概括来说, 软件危机包含两方面问题:

一、如何开发软件,以满足不断增长,日趋复杂的需求;

二、如何维护数量不断膨胀的软件产品。

同年秋季,NATO (北约)的科技委员会召集了近50名一流的编程人员、计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。

在那次会议上第一次提出了软件工程(software engineering)这个概念。软件工程是一门研究如何用系统化、规范、数量化等工程原则和方法去进行软件的开发和维护的学科。

软件工程包括两方面内容:软件开发技术和软件项目管理。软件开发技术包括软件开发方法学、软件工具和软件工程环境。软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划等。

13、“生命周期模型“五步走:60 年代末

60年代末“软件危机”后出现的第一个生命周期模型。如下所示:分析→设计→编码→测试→维护,使人们认识到了文档的标准以及开发者之间、开发者与用户之间的交流方式的重要性。

一些重要文档格式的标准被确定下来,包括变量、符号的命名规则以及原代码的规范式。

14、1969年UNIX出现

1969年12月,Internet的前身–美国的ARPA网投入运行,它标志着我们常称的计算机网络的兴起。.

1969年,提出了结构化程序设计方法。

15、1970年之后

1970年,第一个结构化程序设计语言- Pascal 语言出现。标志着结构化程序设计时期的开始,即PO (面向过程的开发或结构化方法)以及结构化的分析、设计和相应的测试方法。

1971年.大、超大规模集成电路计算机,应用更加广泛,出现了微型计算机。

1972 C语言 出现

1975年的第六版UNIX 才开始走出贝尔实验室

1979年0racle公司引入了第一个商用SQL关系数据库管理系统。

1983年C+出现

1983年IBMDB数据库产品推出的。

由于各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。

这些,都需要一种构筑于软、 硬件平台之上,同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应运而生。

1984年Tuxedo作为第-一个严格意义上的中间件产品由AT&T的贝尔实验室开发完成

1985年Windows 1. 0正式推出。之前软件结构体系也是Mainframe结构,该结构下客户、数据和程序被集中在主机上。

随着PC个人微机应用的推广,PC 联网的需求也随之增大,各种基于PC互联的微机局域网纷纷出台。

16、20世纪80年代

20世纪80年代中期出现了Client/Server结构。此结构把数据库内容放在远程的服务器上,而在客户机上安装相应软件。C/S软件一般采用两层结构。

1986年Eiffel出现。

80年代末面向对象的分析、设计方法(00A和00D)的出现,随之而来的是面向对象建模语言(以UML为代表)、软件复用、基于组件的软件开发等新的方法和领域。与之相应的是从企业管理的角度提出的软件过程管理。

17、20世纪90年代

90年代,中间件技术才开始迅速发展,建立在计算机和网络技术基础上的计算机网络技术得到了迅猛的发展。

1993年美国宣布建立国家信息基础设施NII后,全世界许多国家纷纷制定和建立本国的NII,从而极大地推动了计算机网络技术的发展,使计算机网络进入了一个崭新的阶段。

目前,全球以美国为核心的高速计算机互联网络即Internet已经形成。

1994年PHP出现

1995年Java出现

1996年JavaScript出现

18、2000年之后

2000年C#出现

业务基础平台作为一个新的软件层级尤为引人注目。业务基础平台是以业务导向和驱动的、可快速构建应用系统的软件平台。

2005年,ERP厂商再度引发“平台热”,金碟、SAP都在此时高调推出平台战略。

2006年被炒得沸沸扬扬的SOA (Service-0riented Architecture 作为下一代软件架构,主要用于解决传统对象模型中无法解决的异构和耦合问题。

……

总结

软件的发展史其实就是在裸机(硬件)和终端用户之间不断沉淀(平台化)的过程。

当与裸机接近的某个层次发展成熟后,与这个层次相关的创新和成果会明显减少,而从这个层次更靠近终端用户业务的层次的创新和成果会增多。就这样不断不断的沉淀形成平台,不断的向用户和业务领域靠拢。

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Serialplot软件是一款用于数据可视化的工具。它可以将串口接收到的数据以图表的形式展现出来,并且可以实时更新数据。在图表中,我们可以看到数据的变化,以及不同变量之间的关系。 而在Serialplot软件中,横坐标通常使用的是时间轴。通过时间轴,我们可以看到数据随着时间的变化而变化。这非常有用,因为它使我们可以监测数据的实时变化,并且可以追踪数据的趋势和模式。 同时,通过时间轴,我们还可以分析数据的周期性变化。例如,在传感器应用中,数据可能会随着时间的变化而呈现某种规律性,例如温度随着时间的变化而呈现日夜变化趋势。通过时间轴,我们可以更好地分析这些规律性数据,并提取有价值的信息。 总的来说,时间轴是Serialplot软件中非常重要的一部分,它使我们能够更好地理解和分析数据。使用Serialplot时,我们应该学会如何使用时间轴来分析数据,从而更好地应用Serialplot软件。 ### 回答2: SerialPlot 是一款能够实时绘制串口数据的开源软件,其横坐标是时间轴,具有高精度和高实时性等特点。当我们通过串口发送数据时,SerialPlot 会将数据按照时间顺序进行接收,然后实时将数据点画在坐标系上,使我们可以快速观察数据的变化趋势。同时,SerialPlot 还支持多条数据同时绘制,而且可以随时更新数据的显示范围。在工程应用中,SerialPlot可以用于模拟测试和数据分析等领域,可以帮助开发者更直观、更快速地观察数据特性,从而快速定位问题并进行优化。在工程实践中,SerialPlot 已经成为串口通信领域中广受欢迎的一款软件,其易用性和优越性能在技术社区中也广受好评。 ### 回答3: Serialplot软件是一款串口数据可视化工具,它可以将串口接收到的数据以图表的形式展现出来。其中,横坐标通常是时间轴,表示数据的接收时间。这是因为很多应用场景中,需要实时监测数据的变化,例如温度、湿度、压力等。时间作为横坐标可以直观地展示数据的变化趋势,让用户轻松地分析和判断数据是否符合要求。 在Serialplot软件中,用户可以自定义时间轴的刻度和范围,以适应不同的数据采集频率和数据长度。同时,Serialplot还支持多通道的数据显示,用户可以将不同通道的数据以不同的颜色和线型展示在同一张图表上,方便对比和分析。 总之,Serialplot软件中采用横坐标时间轴的设计十分合理,可以实现数据的实时监测和分析。用户可以根据自己的需求自定义时间轴,以得出更精准的数据分析结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值