分享

计算机简史:你想不通去脉,是因为不了解来龙

 沧海一粟1951 2020-05-25

我们从 1950 年以后经历了大型机、小型机、个人电脑微机、笔记本电脑,乃至 MP3、平板电脑并申请技术专利。

1968 年 IBM 的 Alan Shugart 领导的小组开发了只读的 8 英寸软盘。

1980 年日本人 Fujio Masuoka 为东芝工作时发明了闪存。这也为后来乔布斯研发 iPod 带来了灵感。

网络

计算机产业晚于电信产业。早在 1837 年美国人萨缪尔·摩尔斯就发明了电报,并发明了电报专用编码:摩斯电码。后来 1895 年,意大利人马可尼首次成功收发无线电电报。而电话是 1860 年贝尔发明,1877 年贝尔建立了电话公司,1895 年,贝尔公司将其正在开发的美国全国范围的长途业务业务剥离出来,建立了一家独立的公司称为美国电话电报公司、DEC组成产业标准联盟,制定 10M 以太网标准。IEEE 随即接受“蓝皮书”,用作 802.3 标准的基础。

1979 年,Bob Metcalfe 觉得这是个巨大的商机,于是出来自己创办了 3Com 公司。1981 年生产出来世界上第一张以太网卡,很快就被 IBM 采用作为 IBM PC 的组成部分。当然,计算机之间要联在一起,除了每个电脑上配备一块网卡以外,还得在以太局域网中配备集线器设备,以便数据通过 Hub 进行交换,所以世界上第一台以太网络交换设备也是 3Com 生产的。进入百兆以太网时代后,Intel 逐步重视网络芯片,大有后来居上。3Com 为了应对 Intel 就采取开放技术授权方式,让 Lucent、Broadcom、Marvell 等等公司都可以生产网络芯片。但是 3Com 最终没有干过 Intel。

提起网络,不得不提到一家公司,那就是思科。思科的创始人是莱昂纳德·波萨克,曾经加入 DEC 担任过硬件工程师,后来任斯坦福大学计算机系的计算机设备主任,他也是互联网前身 ARPA 网的主要推动人物。1984 年,他发明出了比 3Com 集线器更好的以太网数据交换设备,先在斯坦福大学应用,把斯坦福大学的 5000 台电脑连成一片以太局域网。他希望斯坦福大学支持他制造并销售这种设备,但是斯坦福大学没有答应他这个要求。于是他出来创业搞出来思科。后来互联网崛起,思科也顺势切入了互联网 TCP/IP 路由器领域。

显示器

最早的计算机都是使用电视机作为显示器。

电视机最早由英国工程师约翰·洛吉·贝尔德在 1925 年发明,1926 年,贝尔德向英国报界做了一次播发和接收电视图像信号的表演。

在 1927-1929 年期间,贝尔德做了通过电话电缆进行机电式电视试播。还做了首次短波电视试验。1930 年实现了电视图像和声音同时发播。

直到 1976 年,乔布斯成立苹果公司生产个人电脑 Apple I 时,业界才使用专门的 CRT 技术生产出电脑专用的显示屏。到了 Apple II 系列时,更是增加了彩色显示屏、图形操作系统、鼠标这些源于施乐实验室的技术。发明了激光打印机、复印机、图形操作系统、鼠标、以太网的施乐真是太悲催了,自己一点都没用上。

键盘

说到键盘,不得不说打字机。

第一台实用的打字机,是美国人克里斯托夫·拉森·肖尔斯。但是咱们如今键盘排列习惯的打字机,是和肖尔斯一起合作的约斯特,他发明的打字机采用 26 个键,可以转换大小写,而且可以使打字人随时能看到所打出的字。1874 年正式进入市场。而 IBM 最早生产的打孔机,其实就是把打字机和打孔卡结合的产物,操作者通过打字机输入字母,打孔机会根据转换规则自动输出带孔的卡片。

操作系统

1964 年,在 IBM 没有发明 System 360 大型计算机之前,IBM 已经发明了很多计算机。如 IBM 1952 年发布的第一台商用计算机:701 计算机。1959 年,IBM 首次利用晶体管、磁芯存储器、印刷电路技术,发明了小型数据处理计算机 IBM1401,但这些计算机都没有完整的操作系统概念,算是软件和硬件一体化。IBM 在 1953 年发布 IBM 650 大型主机时,才研发出来汇编语言,使人类终于告别了直接用最原始的 01010 编写程序的历史,人类终于可以靠打字机+打孔卡片,人类输入符合汇编语言规范的字母和数字,打孔机输出的就是用打孔卡片表示的 01010。把打好孔后的卡片送入到计算机的卡片读入设备,计算机就能执行程序了。

1964 年,IBM 发布了 System 360 大型计算机。这算是出现了计算机的操作系统雏形。早期的计算机,都是一个型号就有一套 CPU 指令集。但是 IBM 在设计 System 360 的时候,就做了精良的设计,承诺以后 IBM 出的计算机 CPU 指令集具有向上兼容性,而且 IBM 出的其他系列的计算机,指令集和 System 360 的 CPU 指令集也兼容。为了达到这个标准要求,IBM 就开始抽象出薄薄一层软件,但当时,这层软件也是最后和硬件计算机一体的,并不单独发布和售卖。

在当时,各大公司都想生产计算机,就连通用电气公司也不例外。所以 1964 年,通用电气公司联合贝尔实验室、MIT 成立了一个项目组,来设计 Multics。后来通用电气决定退出计算机行业,就没再资助这个研发项目了。1969 年,无所事事的 Multics 项目组成员 K.Thompson,想把一款游戏移植到另一个型号的计算机上,他为了好移植,决定用汇编语言开发一个简化版的 Multics,命名为 Unics。

1973 年,Dennis Ritchie 和 Thompson 两人一起完善 Unics,但是 Dennis Ritchie 发现 Unics 越来越功能强大并复杂,用汇编语言开发起来不顺手。于是他在 B 语言的基础上开发出 C 语言,然后他们就开始用 C 语言重写了 Unics,并把它命名为 Unix。1974 年,Kenneth Thompson 和 Dennis Ritchie 合写的“The UNIX Time-Sharing System"在 Communication of ACM 上发表,正式向外界披露了 UNIX 系统。从此,软件和硬件第一次分离。

而 BSD 首先开枝散叶。1982 年,斯坦福大学研究生安迪.贝克托森制造出一种图形工作站,于是他和斯科特·马可尼里创立了 Sun 公司。他们用开源的 BSD Unix 3.0 版本改造出了 Sun OS,后来 Sun 的创始人员 Bill Joy,他来自伯克利大学,从 SunOS 5.0 开始,SUN 的操作系统开发取得 AT&T 的商业授权,转向 Unix System V Release 4,并且有了新的名字叫做 Solaris,这是 Sun 公司闭源的商业操作系统。惠普公司也取得 AT&T 的商业授权,研发出 HP 闭源的商业操作系统 HP/UX。IBM 也取得了 AT&T 的商业授权,研发出了 IBM AIX 闭源商业操作系统。

但其实 86-DOS 是在 CP/M 的基础上改进出来的。CP/M 是加里·基尔代尔在 1974 年发明的,大家想想 1974 年也是 Unix 对外公布的年份。当时他对 Intel 在 1974 年发布的 8008 CPU 很感兴趣,于是 Intel 就送给他一块 8008 芯片。他花了几个月的时间基于 Intel CPU 写了一套 PC 操作系统,但是当时他只是盖茨眼中的计算机业余爱好者而已,展示自己的本领就 OK。所以在计算机俱乐部聚会中他也只是大力宣传自己的软件,开源免费传播。所以五花八门改出来的 CP/M 可以运行在多达 3000 多种型号的计算机上,也支持 Intel 和摩托罗拉芯片。后来基尔代尔看见盖茨卖 MS-DOS 卖的欢快,也自己成立了 Digital Research 公司开始销售 CP/M。在 MS-DOS 没有大行其道之前,CP/M 以及它的各种开源改进版本,就被安装了多达 50 万台电脑上。

提到 Unix、CP/M、微软、SCO 这几样东西和几个公司,我们不得不提到一家公司:Novell。这家公司 1979 年就成立了,瞎折腾。先是自己设计个人电脑,装上 CP/M 操作系统卖。后来 1981 年看 IBM 的 PC 上有 3Com 网卡和以太网联网功能,于是 Novell 也在自己的电脑上搞网卡并开发以太网联网功能。1982 年 Raymond Noorda 当 CEO 的时候,就大力发展以太网联网功能当主打特色,也是他首先提出:网络操作系统、网络文件服务器、网络目录服务器、网络打印服务器。他还把 Novell 电脑改造成无盘工作站号称网络电脑。所以 Noorda 在业界有个名头叫:以太局域网之父。是他把这些在大型主机才应用的技术引入个人电脑领域、引入局域联网领域。当微软有这些技术的时候,那已经是 1993 年 Windows NT 发布以后,可想 Novell 当年的技术有多么强大。尤其在 1993 年 Novell 还收购了 AT&T 的 Unix 知识产权更加增强自己的技术实力。但是不知道 Noorda 动错了哪根筋,开始和微软全面竞争,1994 年并购了 WordPerct和 Quatto Pro,而且 1995 年还把好不容易到手的 Unix 知识产权又卖给了 SCO。2003 年又回归初心到网络操作系统,并购了 SUSE。

乔布斯创办的 Apple 公司一向喜欢自己干,从硬件到软件都自己干。后来乔布斯被赶出苹果公司,乔布斯一气之下卖掉苹果股份开始在市场上晃悠,希望寻找机会东山再起。1985 年他遇到了一家创业公司 NexT 正在研发设计强大的图形工作站。乔布斯开始销售 NexT 工作站,他在思考哪儿最需要这种电脑。正好他遇到了卢卡斯,卢卡斯的电影特效制作公司工业光魔正需要这种强大功能的电脑。工业光魔是卢卡斯为了拍摄逼真的科幻电影星球大战而专门成立的电脑特效公司。1984 年,约翰·拉塞特离开了工作多年的迪士尼加入了工业光魔,开始制作电脑动画。但这和工业光魔的理念不符合,卢卡斯就想卖掉,于是找到了金主乔布斯。乔布斯 1986 年买下了这个电脑动画部,成立了公司叫皮克斯。乔布斯就用 NexT 的图形工作站制作电影:玩具总动员,并获得多项奥斯卡金奖。1996 年,乔布斯再次被邀请回苹果公司主持大局,乔布斯就把 NexT 公司卖给苹果公司,而 NexT 图形工作站的操作系统也是源于 AT&T 的商业授权的 Unix 版本,从此 NexT 操作系统成为了后来的 Mac OS 和 iOS 的基础。

数据库

1961 年,通用电气的 Charles Bachman ,开发了 IDS,这是世界上第一个网状数据库,也是世界上第一个数据库。1968 年, IBM 在 System 360 计算机上,开发了 IMS,这是 IBM 的第一代数据库,所以也称 IMS 为 DB1。IMS 是世界上第一个层次数据库。

1973 年,伯克利大学的 Michael Stonebraker 和 EugeneWong,利用 System R 的公开信息,开发了 Ingres并开源。该项目结束于 1985 年,在 Ingres 基础上产生了很多商业数据库软件,包括 Sybase、Microsoft SQL Server、Informix 等。后来 Informix 被 IBM 收购、Sybase 被 SAP 收购成为了 HANA 的基础技术。在 Sybase 独立的时候,微软还和 Sybase 一起合作研发运行在微软操作系统之上的 SQLServer,但是后来微软自己掌握了数据库技术就把 Sybase 一脚踢开。

1977 年 6 月,Larry Ellison 阅读了 Codd 的那篇论文觉得这是个机会,于是与 Bob Miner、Ed Oates 在硅谷共同创办了 SDL。1978 年发布 Oracle 数据库 1.0 版本,1979 年发布 Oracle 2.0 版本。这是世界上第一个基于 SQL 的商业版 RDBMS。1982 年,公司正式改名为 Oracle。

1990 年,TcX 公司的的客户,要求为报表工具 Unireg 的 API 提供 SQL 支持。TcX 的工程师 Monty 就自己写了一个 SQL 查询引擎。1995 年,Michael Widenius, David Axmark and Allan Larsson,在瑞典创立了 MySQL AB 公司。1996 年就发布了 MySQL1.0。2001 年,MySQL 集成了 Heikki Tuuri 的存储引擎 InnoDB,这个引擎不仅能持事务处理,并且支持行级锁,从此 MySQL 开始一飞冲天。

中间件

最早的中间件是 1984 年发源于贝尔实验室的 Tuxedo,用于用于控制分布式事务。1992 年被卖给了 Novell。1995 年又被卖给了 BEA,BEA 公司因此成立。

1989 年,欧洲粒子物理实验室的蒂姆·伯纳斯·李,他已经使用 Internet 两年时间了,他正在思考如何通过因特网和全球的高能物理研究领域的科学家交流科学论文和数据。于是他尝试开发了一整套程序,包含:HTML 超文本语言、HTML 解析工具网页浏览器、HTTP 网络文本传输协议、HTML Web Server 软件。1993 年,伊利诺斯大学学生马克·安德列森写出了 Mosaic 工具并在高校间传播,1994 年他觉得这是很好的商业机会,就创办了网景公司,从此拉开了世界互联网的大幕。1995 年,微软也眼馋互联网热潮,于是在 Mosaic 的基础上开发出来 IE 浏览器,免费绑定在 Windows95 中,与网景竞争。网景公司为了竞争,于是开发了可以在各个操作系统上都能运行的浏览器版本。

伊利诺伊斯大学还有一伙计算机爱好者,他们组成了一个叫 Apache 的自由软件联盟,开发了 Web Server 并把它开源,这就是 Apache Web Server。有家创业公司叫 WebLogic,在开发商用 Web Server,1996 年被 BEA 收购。

当时的 HTML 都是静态文字,网景公司为了竞争,想做出动态的技术来吸引用户。谁有可以支持各个操作系统并且可以动态执行的技术呢?

1991 年,Sun 公司想开拓智能家电设备市场。于是成立了一个叫做 Green 的小组,他们一开始为了兼容层出不穷的消费家电用 C++写,但是 C++写出的代码太庞大,而且 C++代码由于开发人员水平参差不齐导致有的代码很容易崩溃掉,这在大多数是家庭主妇使用的家用电器上面是不可饶恕的,所以他们开始创造一种叫做 Java 的虚拟机和开发语言,既可以兼容各种层出不穷的消费家电,而且即使是烂程序员写的代码也不容易崩溃,因为有虚拟机的保护。但是这个东西一直未能打开市场,他们面临着被 Sun 公司裁掉的风险。1996 年,互联网如日中天,他们就也想进入互联网市场。于是他们找到网景公司,声称他们满足网景公司的需求,并且愿意免费合作。于是 1997 年,Sum 发布了 JSP 技术在服务器端执行,网景公司的工程师 Brendan Eich 发明了 JavaScript 在浏览器客户端执行。

1997 年,担任 IBM 软件解决方案总经理 Mills 看到了 Sun 公司在互联网的举措,也在思考 IBM 如何进入这个新兴爆发的互联网软件市场。这些创业的互联网公司,用 x86 组装白牌服务器、用开源的 Linux 操作系统、用开源的 Apache Web Server、用开源的 Java 开发语言、用开源的 MySQL 数据库。

当时,IBM 决定在开源的 Apache 基础上开发出 IBM 的商用版本,并且也迅速跟进 J2EE 标准,由位于北卡罗来纳州罗利的十几个 IBM 开发人员在 Chris Wicher 和 Sue Wallenborn 的带领下开发,他们的进展非常快,在短短四个月内就开发出了第一个版本,并在三个月后推出了第二个版本,这就是后来的 WebSphere。

1998 年 Sun 想再次提高 JSP 技术的竞争力,而 IBM 也想继续增强 WebSphere 产品商业竞争力,于是两家一拍即合,又拉了一些公司做联盟,联合制定了 J2EE 标准,Weblogic 也迅速跟进。

编程语言

1953 年,IBM 发布 650 大型主机时,研发出来汇编语言,使人类终于告别了直接用最原始的 01010 编写程序的历史。

一开始计算机很昂贵也很复杂,主要用于科学研究和军事。所以,1957 年,IBM 发明了 Fortran 语言,主要目的用于科学计算。而与此同时,IBM 还发明了 Fortran 编译器,这是世界上第一个编译器。

在 1953 年,安达信会计师事务所就为帮助通用电气公司提高薪资处理效率而安装了美国第一台商用电脑,从此开创了企业信息化的时代。COBOL 开发语言于 1958 年产生。现在,全球很多金融机构,还有很多 COBOL 代码仍然在运行。还有个商业业务逻辑开发语言我们也介绍一下,那就是 SAP 公司的 ABAP。ABAP 最初是用于报表开发的,是随着 1979 年 R/2 套件开发而逐步产生的。你可以这么理解,ABAP 一开始就好像是 EXCEL 表格的函数和 VBA 宏脚本语言。这套语言在 1983 年发布。要知道,VBA 宏脚本语言,是微软 1991 年才发明的,到了 1993 年才随着 Excel5.0 的发布而发布。

还有一个古老的专用开发语言也需要介绍一下,那就是 1958 年产生的人工智能专用开发语言 LISP,而发明人就是曾联合发明 BASIC 编程语言的麦卡锡。

其实还有一个专用的开发语言要说一下,那就是 IBM 为了做数据库处理而发明的 SQL 语言。

1972 年,贝尔实验室的 D.M.Ritchie 为了开发 Unix,特意发明了 C 语言。这是历史上第一个人类可流畅使用的通用编程语言。

纵观整个计算机行当,是 IBM 创造了这个产业,带出了一众 Intel 芯片、3Com 网卡、微软操作系统、Oracle 数据库、Sun 中间件、SAP 应用软件这些小弟。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多