编程世界发展史(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标准

相关推荐
吾与谁归in1 小时前
【WPF中ControlTemplate 与 DataTemplate之间的区别?】
c#·wpf·template
yngsqq4 小时前
Cad c#二次开发 常见错误
c#
lzm1599849558110 小时前
C# 多线程
c#
浪里个浪的102411 小时前
【C#】书籍信息的添加、修改、查询、删除
c#
Envyᥫᩣ13 小时前
C# 中的异步编程:提升应用程序响应性和性能
开发语言·c#
伦比兔13 小时前
c# 核心技术指南——第1章 c# 和 .NET简介
c#
梦深时有鹿13 小时前
C#的winform商品信息管理程序
开发语言·数据库·c#
suzh1qian15 小时前
Unity类银河战士恶魔城学习总结(P156 Audio Settings音频设置)
学习·unity·c#·游戏引擎
CS软件开发框架16 小时前
Swagger自动生成API接口注释和实体模型注释
java·服务器·前端·c#·.net·.netcore·swagger
慧都小妮子17 小时前
Spire.PDF for .NET【页面设置】演示:旋放大 PDF 边距而不改变页面大小
pdf·c#·.net·spire.pdf·报表控件