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

相关推荐
JaydenAI5 小时前
[对比学习LangChain和MAF-07]如何引入人机交互的审批流程
python·ai·langchain·c#·agent·hitl·maf
北域码匠6 小时前
SHA-1算法:安全哈希原理与应用解析
算法·c#·哈希算法
123的故事7 小时前
工具分享(7)-多Excel文件内容查询工具
c#·excel·实用工具
wjm0410068 小时前
ios内存管理
ios·objective-c·swift·客户端开发
iCxhust9 小时前
C#进程管理程序
开发语言·汇编·stm32·单片机·c#·微机原理
ceclar12311 小时前
C# 的任务并行库(TPL)
开发语言·c#·.net
xiaoshuaishuai812 小时前
C# 委托与事件
开发语言·c#
Song_da_da_12 小时前
C# 接口(Interface)深度解析:规范、解耦与灵活扩展
开发语言·c#
政沅同学12 小时前
基于 C# WPF + HALCON 的工业视觉算法工具框架(开源)
开发语言·c#·wpf