编程世界发展史(1)——从Simula 67到UNIX战争

------来自《什么塑造了今天的编程世界》

1967年,Simula 67在挪威面世,引入了面向对象编程中最重要的一些概念(类、对象、继承、虚函数等),它对C++,java,C#的设计都有影响。

高德纳 (Donald Knuth,《The Art of Computer Programming》的作者) 在审阅出版社样书时觉得书中的数学公式排得太难看,所以发明了数学排版软件Tex和定义矢量字体的编程语言METAFONT。太强了**...O_O...**

传奇计算机科学家迪杰斯特拉( Edsger W.Dijkstra) 在1968年发表了*《Go To Statement Harmful》(Go To语句有害论),"数年来我观察到,程序员的素养是一个递减函数,其中的变量是他们写的程序中出现Go To 语句的密度。"*🤣

1969年10月29日,阿帕网 (ARPANET)问世------人类在互联网上发出第一条信息:LOGIN(后面三个字母没发出去)

1970!

计算机系统中最常见的纪年就是UNIX纪年:1970-01-01 00:00:00 开始,每秒递增。也因为此,到2038-01-19 03:14:07,时间就会累积到32位的存储空间的最大值2147483647---------当跳完2147483647那惊心动魄的最后一秒后,所有用到这种"标准时间库"的C语言程序都会碰到时间计算上的麻烦。

1970年,尼克劳斯·沃斯 (Niklaus Wirth) 开发的Pascal 问世了,简洁优美、编译速度快都让这门语言广受欢迎。他还还提出了"结构化编程"的概念,并凭借那句***"** Algorithms+Data Structures=Programs**"***拿下了图灵奖。

1970年,埃德加·科德(Edgar F.Codd )发表论文*《A Relational Model of Data for Large Shared Data Banks》* ,也就是关系数据库的提出,Oracle就是根据科德的理论实现的。

贝尔实验室的肯·汤普森和丹尼斯·里奇在他们的论文里说:"Unix is very simple, it just needs a genius to understand its simplicity." (有被点到**...(⊙_⊙;)...**?

事实上,Unix的这次公开露面也为后面的Unix战争埋下了导火索。

1972年,艾伦·凯 (Alan Kay) 和团队开发出来第二门面向对象语言------Smalltalk ,采用了动态信息传递机制(关注object还是Messaging?),在它的影响下,1984年Objective-C诞生了,直到2014年Swift诞生前,它都是评估公司软件生态中最重要的开发语言。

IBM在20实际60年代进行System/360大型机研发,被视为"计算机发展史上的一次豪赌",赌得很成功,尽管其中OS/360操作系统的开发用了5000人年------"有史以来最可怕的软件开发泥潭" 。这个项目的负责人或许被这个项目的开发过程启发,在1975年出版了*《人月神话》* ,探讨 "The Mythical Man-Month(人月迷思)"

70年代后期IDE出现了,但是直到现在,还有不少人坚持不用IDE,IDE好不好的争论还是进行时。

20世纪80年代到90年代初Unix的各种商业化版本和非商业化版本混战开始,也就是Unix战争。这场没有硝烟的战争涉及商业、法律、专利、诉讼等诸多主题,几乎所有的知名企业都没能幸免,唯一的正面影响是,诞生了POSIX标准

相关推荐
pchmi13 小时前
C# OpenCV机器视觉:骨架细化
开发语言·opencv·c#
范纹杉想快点毕业13 小时前
XML通过HTTP POST 请求发送到指定的 API 地址,进行数据回传
xml·c语言·开发语言·数据结构·c++·python·c#
Ma_si14 小时前
python 如何调整word 文档页眉页脚
python·c#·word
Libby博仙15 小时前
.net core 为什么使用 null!
javascript·c#·asp.net·.netcore
白白白白纸呀15 小时前
ADO.NET知识总结6---SqlDataAdapter桥接器
开发语言·c#·.net
码农君莫笑15 小时前
Blazor用户身份验证状态详解
服务器·前端·microsoft·c#·asp.net
步、步、为营17 小时前
C# 与 Windows API 交互的“秘密武器”:结构体和联合体
windows·c#·交互
omegayy17 小时前
.NET framework、Core和Standard都是什么?
unity·c#·.net
sukalot17 小时前
windows C#-泛型接口
开发语言·c#
Damon小智21 小时前
C#进阶-在Ubuntu上部署ASP.NET Core Web API应用
linux·nginx·c#·asp.net·.net·.net core