AG和记1943年(二战期间)宾州大学开始研发第一台计算机ENIAC,并且于1946年在发布,计算机的发明和战争离不开,战争部门开始讨论利用计算机进行核武器分析、天气预报、石油勘探、飞行器设计AG和记、弹道测量等一系列功用,其中蒙特卡洛模拟、天气预报等恰好也是ENIAC的早期核心场景,在计算机出现之前,这些工作都是由大量的人手工计算,这些计算一般是女员工承担,而早期的计算机编程程序员也是女性为主的。此后政府继续计划第二台计算机EDVAC,其主要有三个维度的突破:其一是硬件,其采用高速内存+二进制存储;其二是采用冯诺依曼计算架构,其将计算机的开关(当时还是真空管,后来晶体管其实也是就是一系列开关的集合)称作神经元,将存放程序和数据的内存称作器官,而存储和计算都采用二进制,这就是bits。EDVAC有一个类似CPU的中心化计算单元,其仅与内存连接。其三则是具备一系列操作代码,其与人们进行科学计算习惯契合。EDVAC的基础循环就是从内存里面读取操作指令,对操作指令进行解码,然后执行。
早期计算机销售。冯诺依曼的夫人为ENIAC编写了第一个执行蒙特卡洛模拟的程序,此后科研人员还给类似的计算机配置了CRT显示器,增加了数据结构寄存器,将单个操作代码能访问的地址从1个增加到4个,且从传统的串行读取bits的的方式增加了并行读取。为了复用程序,汇编程序被发明第一个基于符号汇编程序是IBM进军计算机项目组开发的。1947年当时Association for Computing Machinery成立,这是IEEE的前身。早期业内人士认为计算机在美国市场很有限,可能也就5-6台的市场空间,结果证明其远远低估了计算机的潜力。1948年,第一台计算机建造者Eckert和Mauchly合伙成立公司开始销售类似的计算机,第一代Univac计算机每秒可以做465次乘法运算,运行时钟频率是2.25MHz,这些数据相比ENIAC,Univac内存更大,读取数据速度更快。第一台计算机交付给了美国统计局,到1954年大概有20台计算机投入使用,单价是100万美元(天价),这些客户里面主要是政府机构,也包括GE、Du Pont等大公司。从Univac早期应用场景来看,除了科研场景,商业场景里面其替代效应最强的是 ,比如GE购买计算机后主要用来四个具体任务:工资支付、原材料规划和库存管理、订单管理和支付、会计管理。这些场景原来就是基于IBM的卡片计算机(也可以解释为何后来IBM能够统治计算机市场,因为这个属于延续式技术创新),而更先进设备带来的人力节省(卡片计算机需要很多人力搬运卡片)是说服高管更换设备重要原因。
IBM成为领先者。二战结束后,冷战带来的国防预算依然是支撑计算机产业发展重要源泉。1952年IBM第一台电子计算机IBM701推出,其最早19台全部交付给了美国国防部,从而被称为“国防计算机”,其采取租赁形式,1.5万美元/月。IBM701计算机大致和Univac相似,但是读取内存速度更快,因为其一次读取一个词,而后者一次读取一个bit,701用作场景包括武器设计、飞行器设计、加密计算等。到1956年,得益于强大的销售能力和客户资源,IBM交付的大型计算机的数量就超过Univac,其主力型号704(交付了140台),是701的升级版,其采用了Core Memory(即使断电也可以存储数据),支持浮点计算能力(表示成10的几次方,对科学计算很重要,因为支持很大数字运算),支持结构化寄存器(编程更简单),从而获得了客户亲睐。下一代IBM 709进一步升级了硬件——能够支持大数据的输入输出、拥有独立数据存储、打印机设备管理的模块(单独计算机)。早期找到可靠的存储设备是难点,当时高端计算机存储用的都是高速磁带,也有用磁鼓(Drum)做存储设备的低价计算机(售价3万美元,相对于高端百万美元)。
科学编程语言Fortran等。汇编语言实现了人类书写指令,机器执行指令。而编译器则负责将数学公式,以及更高阶的编程语言转换成为机器能直接执行的语言。1957年,IBM基于704型号推出了Fortran编程语言,由于早期计算机编程效率很低,编程+debugging的成本甚至超过了执行程序的成本,因此Fortran出现更多将程序员从冗余的过程中解放,更多聚焦真正想解决的问题。比如Fortran用于计算的符号和语法和代数很接近,其编程效率和表现很强。早期的程序分享主要基于民间组织,1955年一群IBM 701客户组成了SHARE分享组织,很快聚集了62个会员单位,并且开始分享类似求逆矩阵等基础数学程序,这些分享组织是早期开源社区的基础。SHARE分享程序里面还包括早期操作系统的雏形,由于内存资源很稀缺,这些软件在本身体量很小的前提下提供管理内存等功效,早期GM(通用汽车)是实验室开发了一个batch processing的程序,用来控制程序运行的流程,告诉计算机接下来运行是Fortran程序,还是一个新的程序,其后来演变成为IBM计算机的早期的操作系统。Algol发布于1958年,也是早期重要编程语言,其引入了Block架构,拥有begin和end的block可以成为一个独立的指令,且Algol支持一个程序调用自己不断重复运行(recursion)。Stack(堆栈)的数据结构也被提出来,用来和Algol进行结合,而无线循环的程序就会遇到Stackover的错误。
晶体管和超级计算机。1950年,ATT旗下贝尔实验室发明了晶体管,由于其当时反垄断调查不允许其进入除运营商外赛道,因此贝尔实验室以较低价格(2.5万美元)给予其他公司晶体管授权,例如 就是这时候学习了这门技术,晶体管体积更小(尤其是后来集成电路发明后),更可靠,其很快在计算机领域普及替代真空管,成为计算机重要的“神经元”,比如IBM 709推出一年后,就推出了晶体管版本7090,售价300万美元,卖了几百台,其升级版本7094租赁价格是3万美元/月。早期程序员编程都不是实时的,需要先输入程序,然后等待运行结果,通过看指示灯检测运行状态,通过打印结果来看运行结果寻找问题。1955年,IBM推出超级计算机Stretch,其计算能力是IBM 704的100倍,相对传统计算机采用读取-解码-运行的步骤,Stretch读取数据时,可以同时计算其他程序,因此效率更高。Stretch还配备了IBM当时的黑科技“硬盘”,配备了虚拟内存技术,其类似现代的虚拟机,可以让有限的内存显得更大。1960年其正式被命名为7030,售价高达1350万美元(天价),但是其实际表现仅是规划的一半(虽然也是很强),其商业上不成功,但却孵化了后来划时代的IBM 360系列,没有汗水是被浪费的。其他超级计算机厂商主要包括Control Data,其Cray 1客户主要也是国防部,具备向量计算等能力,销量达到80台,单台售价800万美元,直到1982年,Cray都是全球最快的计算机。
IBM称霸商用计算机。计算机的应用场景除了科学计算,同样还有商业应用。美国企业中存在一种对自动化办公本身的信仰——他们相信计算机有一天能够处理公司全部交易,并且处理全部商业数据,为管理者提供决策依据。早期,IBM 650计算机是最成功的型号,其基于磁鼓存储,因此售价相对低廉,其销量达到2000台,月租金是3500美元。为了普及计算机,从源头大学生做起,Watson Jr允许大学用4折价格购买机器,而其后续型号IBM1401(其速度达到650系列7倍)则继续渗透到每一个IBM传统卡片式计算机的客户,销量达到1.2万。到1962年,IBM仅仅推出第一台电子计算机7年后,其来自计算机收入便超过了卡片式计算机,其占据美国计算机市场三分之一。针对大数据体量计算,IBM的硬盘发明也有了用武之地,相对于传统磁带(搜索数据要6分钟)或者磁鼓,硬盘可以高速提取任意数据,效率提升很显著。此外,在SHARE等开源社区,一些基础分类、工资支付等基础程序开始流行。相对于Fortran在科学计算领域成功,Cobol则是在数据处理领域核心的编程语言,其基于类似英语语法编程方式,能够实现各种数据处理的功能。
IBM360成为行业标准。从需求来看,科学计算和商用存在一定差异,前者需要复杂的计算,但往往数据量不大;但是后者则往往有大量数据,但只需要简单计算。因此早期IBM针对两种场景有单独产品线,但很快IBM就开始策划开发一款计算机产品打通两大需求。1965年,IBM推出了360系列,奠定了其此后50年在大型商用机领域的领先地位,同时也是打通科学计算(7070系列)和商用计算(1401系列)两大领域的划时代产品。360系列除了自身很强能力外,还有拥有向前兼容性,即有别于此前IBM计算机不同型号互相不兼容,360系列能够兼容此前IBM系列程序,360高端系列可以模仿科学计算机系列,而低端系列则能够胜任此前商用系列的能力。IBM360系列实际上是IBM身家性命的赌注,其连带一起发布了150款新产品,包括新键盘、硬盘、磁带等。360系列一经推出第一个月就收到了1100个订单,大多数NASA的计算机第一时间就切换到了360系列以适用当时美国登月计划。但是IBM初期经历了产能瓶颈,软件交付也是难题,最开始IBM准备推出一个单一OS/360操作系统,后来宣布放弃改成针对大小内存,硬盘和磁带存储的型号推出四个不同的操作系统。整体来看,360系列在商用领域还是更加成功,而科学超级计算机则是CDC的市场,不过商用领域后来市场规模远大于科学计算,1960年代中期计算机领域就被称为白雪公主(IBM)和七个小矮人 (RCA,Honeywell等) ,1970年IBM安装计算机达到3.5万台,1971年IBM净利润突破了10亿美元,360系列一直到1990年代仍然是IBM的拳头产品。
数据库和IRS。1960年代,基于计算机的数字化管理成为很多人的畅想,很多人觉得计算机可以革命传统公司管理架构和流程,传统员工对公司忠诚度之类的因素变得不再重要,而就事论事的理性元素将更加重要(因为任何人什么贡献都可以被计算机量化),管理将进一步被去中心化。然而,这种系列在当时技术条件下被证明只是美好的幻影,就连整合一个大公司各个不同系统都是一件很难的事情。不过,来自GE 的Bachman发明了数据库的雏形,Integrated Data Store(IDS),这样软件要使用数据,不用直接和数据打交道,而是采用IDS的指令,数据库成为系统重要基础设施,Bachman也因为这个发明获得了图灵奖。美国税务局IRS是商用计算机早期大客户,其1960年代税务升级系统预算达到6.5到8.5亿美元,1965年起针对每个美国纳税公民提供一个独特SSN号码,进一步便利了计算机进行数据处理。不过后来,针对公民隐私的指控(白宫可以方便看到任意公民的税务情况),使得IRS系统更新一直落后时代,直到2018年还在使用1960年代编写的Cobol等程序。
SAGE项目开启实时控制。早期的实时控制系统应用在武器控制、飞行模拟器等领域。后来美国国防部推行SAGE(半自动防空系统)大项目核心目的是拦截苏联的导弹。1950年SAGE项目给IBM贡献了5亿美元收入,比IBM从其他计算机获取的收入还多。此外,SAGE还被认为培育了美国最早的程序员队伍,SDC等项目外包公司开始成立,不过仅1957年IBM就培养了1.4万名程序员,因此IBM才是最大培养方。1957年,苏联发射了卫星,美国成立NASA用来反击,此外NASA改造了IBM的大型机用于航天器实时控制(打破了传统,因为IBM传统计算机都是租赁的,所以不允许使用方进行改装)。
DEC开启Mini计算机时代。冷战驱动计算机发展另外一个方向是mini小型化,催生了DEC(Digital Equipment Corporation)诞生,其于1957年成立,由MIT的研究生Ken Olsen创立,DEC的第一款计算机PDP-1基于晶体管的全新可能性设计,其每秒能够进行10万次加法运算,其售价仅为12万美元。DEC开启了mini计算机时代,其不断基于最新半导体技术,PDP-8种类为250磅,显著小于IBM的大型机,售价仅为1.8万美元,其销售量最终达到5万台。此外,众多其他厂商通过改装PDP-8打造新产品,比如LS-8成为百老汇歌剧的舞台灯光控制器。DEC凭借和MIT科研能力紧密绑定,在IBM也进军mini计算机反击下活了下来(1969年,IBM推出了Syetem/3,1000美元/月租赁费用),并且其旗下产品开始切入IBM的腹地——商业数据分析领域。
集成电路发明。将晶体管电路所有零部件都“打印”在电路板上,省去有型的电线和安装,便产生了集成电路的前身,其进一步将半导体小型化发挥到了极致。集成电路发明者是来自TI的Jack Kilby和Intel创始人之一的Bob Noyce,后者还发明了Planar 工艺,能够大规模生产集成电路产品。其最早的应用场景包括助听器,其对便携性要求很高,但早期集成电路最大买家还是来自航天产业,其采购量占1963年行业产量的95%,阿波罗飞船大量采购使得单片芯片价格从1000美元下降到30美元。由于军方和航天对产品的可靠性要求很高,芯片加工开始推行超净间,任何杂志混入可能都会导致芯片异常,芯片Fab的对卫生条件要求远远超过医院。此外,软件可靠性也要求很高,IBM获得了飞船控制软件的订单,他们通过设计冗余度来解决安全的问题,简单来讲就是IBM准备了三套系统(后来飞船搭载了5台AP101计算机),任何一套故障不影响另外系统正常运行。以使用寿命为例,2004年登陆火星的漫游者号本来设计寿命仅有三个月,但是最终却正常工作了超过14年。
进入1960年代,更小型、更便宜、可靠的Mini计算机普及,以及时间共享系统(Timesharing System)的普及共同推动计算机成为普及的实时反馈通用计算系统。DEC的Mini计算机PDP-1在MIT的普及,驱动第一批计算机“极客”的诞生,他们开发了最早的计算机游戏Spacewar,开发了最早计算机绘图软件Sketchpad。另一方面,基于时间共享的使用计算机的方式开启普及,进一步提升计算机效率,比如在一个用户输入程序过程中,计算机可以运行其他程序,不过这种共享操作对于内存要求很高。MIT一个团队开发了基于时间共享的操作系统CTSS,基于IBM7094计算机,其允许30名用户同时使用计算机(后来升级到50个),此外,MIT用户还开发了一系列应用程序来高效使用计算机,比如文字编辑器,一系列编程工具,其中最流行的应用是1965年电子邮件,基于同一台计算机,不同用户之间可以发送电子邮件,这台共享计算机某种程度构建了一个局域网。此外AG和记,来自达特茅斯大学程序员开发了BASIC编程语言,其是一门简单易学的编程语言,能够基于共享计算机系统开发应用程序。1976年,新墨西哥州大学则开发了Matlab软件包,其在PC时代被包括Mathworks在内几家公司商业化。
Timesharing系统的问题。1960年代末,时间共享计算机模式发展开始进入高潮,GE等大公司也开始进入了这项类似云计算雏形的业务,IBM也改造了360型号计算机适配时间共享系统。不过这些共享系统最大的难点就是应对不确定任务,以及不同任务之间切换的难度。由于需要给多名用户呈现出一种及时响应的感觉,系统必须快速在不同用户程序之间切换,程序必须在任意点停止运行,否则一个大型计算任务就会独占整个系统,这些高阶要求在当时硬件条件下都举步维艰,这也导致共享系统用户使用体验不佳,或者成本居高不下(当时一台计算机计算能力和价格平方成正比,100万的机器计算能力是10万机器的100倍),由此时间共享市场在1970年代保持一个不大不小的市场规模,很多用户发现相较于价格和用户体验,时间共享系统还不如采购一台mini计算机来的划算。此外,当时还有多核芯片来扩充主机计算能力,不过CompuServe实践经验证明采用多台例如PDP-10mini计算机连接的效果好于一台超级计算机共享效果。
软件工程和Unix操作系统。1960年代,计算机厂商擅长于做硬件,但是对软件不擅长,编译器、操作系统等产品经常延期很久才发布(此时软件工程基本等于系统软件),而计算机系统软件开发成本占总成本占比也从1950年代早期10%提到1970中的80%,越来越重要,1968年,大学们开始建立计算机科学博士学位。实际上,早期大型软件开发主要采用的是人海战术,而由于缺乏开发经验,便经常导致开发周期延迟(这个现象直到1980年代还很普遍,比如Windows开发),1970年代,结构化编程(Structured programming)提供一种自上而下开发大型软件方案,不过软件工程实际上是一种组织管理方案的迭代,其需要创立更好表现评估、过程管控、评价等成熟组织管理模型。另一种解决方案就是精干的小团队(逃开组织的熵增),这种模式催生了Unix操作系统:其诞生于Bell实验室,其开发目的是为实验室的时间共享机器(DEC PDP-7)开发一个操作系统,由于早期经费不足,团队只能是小团队(大团队估计还开发不出来),Unix提出一种“fork”机制,即某个进程可以直接复制初始进程在内存运行,这使得运行程序更简单,Unix针对特定功能都有单一的执行程序,且前一个程序输出可以成为后一个程序的输入。此外Unix开发过程中,也逐渐从汇编语言迁移到更高级的C语言,其同样是Bell实验室工程师发明的,其针对操作系统开发很高效。使用C语言编程很容易产生bug,一个&符号位置不对就会报错,这使得程序员很抓狂,但是正是因为基于C语言,Unix日后可以相对简单移植到不同计算机平台,Unix在大学及学术界最先普及,且其推动了DEC的Mini计算机平台的崛起——1965年DEC员工从900增长至1970年的5800,1977年增长至3.6万,1970年代,PDP-11销量达到11万。1973年DEC推出超级mini计算机VAX(32位),其每秒能够读取100万个指令(MIPS),前10年销量达到10万台。
时间共享系统是基座。Timesharing系统虽然没有大规模普及,但是多名用户使用一台计算机这本来就使得这些用户之间可以很方便联网沟通。最早的电子邮件系统诞生于MIT(1965年),到1960年代末期,电子邮件成为时间共享计算机的标配功能,后来类似论坛、社区、类协同办公软件等互联网社交产品雏形也开始出现。1978年,一本《The Network Nation》的社会学书籍畅想了一个没有纸质出版,出版、邮件、教育都是线上联网的社会(够前瞻)。早期计算机输入设备包括light pen(笔),1967年鼠标发明。1970年代Plato是一个基于图形化显示功能的时间共享系统,其主要应用于教育领域,可以实现线台Plato投入使用,且开始全面商业化,但由于单显示终端成本高达8000美元(还有后台计算机成本),最终商业化不成功(背后公司CDC投资高达8亿美元),不过Plato成为后来很多互联网早期系统的雏形。
互联网早期发展。ARPANET(国防部)是互联网前身,当时间共享系统成为一个个节点后,且用户习惯于将计算机看成通信设备后,如果能把这些计算机连起来,就成为一张互联网。核心要解决问题是不同计算机之间如何通信的问题,传统方法类似电话即建立直连,但ARPANET创新提出基于数据包交换的方式,如果传输过程中丢包,则计算机可以重新发送,1969年联网计算机是4台,1970年到10台,1971年则提升到15台,1972年ARPANET正式对外发布,其通过向ATT租赁电话线形式在不同计算机之间传递数据。电子邮件自然成为ARPANET早期Killer app,而由于需要标记不同时间共享系统,@标识被发明,1973年标准电子邮件格式包括from,data和subject(主题),SMTP(电子邮件协议)也开始普及。1970年代中期,TCP/IP协议提出,前者核心是计算机重组接收到数据包,如果有丢包,发送方就要重新发送,后者则引入了IP地址,用来区分两台计算机是否处于一个子网络内,第4版TCP/IP于1980年代批准(IPv4),其到2020年仍然被广泛使用。实际上,早期互联网更像局域网,且有很多个平行的网络比如Usenet(新闻服务),CS Net,BITNET等,1980年开始出现了类似商业化联网服务,CompuServe为用户提供包括邮件、新闻、天气、股票、体育赛事、彩票等一系列联网服务,而IBM、DEC则为企业提供例如电子邮件等服务。运营商ATT也决定在电话线不区分数据传输和电话服务,并且提出jack,使得普通用户可以直接将电话线连接到上网modem上。早期互联网用户最多的是法国,Minitel1983年发布,其提供可搜索电线年其普及到法国每个角落,到1993年就有650万用户。
互联网本身是去中心化的。1981年,有200台计算机联网,5年后提升到5000台,1990年则达到16万台。DEC的VAXmini计算机叠加Unix操作系统成为早期互联网上最常见的软硬件配置,主要在大学校园AG和记。1988年,利用Unix漏洞传播的电脑病毒开始出现。1986年NSFNET(美国自然科学基金网络)迅速成为了互联网的主干网,且不断提速,NSFNET和BITNET等多个局域网合并,其很快替代了ARPANET成为互联网中心,且成为后来信息高速公路的基础设施(information superhighway)。1990年代,提供互联网服务的ISP服务商开始出现,互联网流量开始迅速增长,其传输的比特数量从1992年1万亿byte/月到1994年10万亿/月。此外IP地址很难被人记住,模仿邮件地址,域名系统开始发明,而域名分配机构则是IANA,其也成为了互联网去中心化基础架构下少有的中心化重要机构,其管理机构是ICANN,是一家非营利性公益企业,2009年取得了独立于美国的地位,2022年其拒绝了乌克兰把俄罗斯踢出互联网的请求。实际上,回顾互联网发展史,去中心化的基础属性很重要,其数据传输与内容无关,其更多依赖于社交机制来进行管理(互相监督,而不是设立一个中心化管理机构),且任何计算机都可以使用互联网发送数据。
CPU和Intel开创时代。PC时代开启得益于微处理器的发展,其本质又是半导体集成电路的发展,实际上芯片产业发展首先受益的是计算器(加减乘除),1964年华裔王安和哈佛大学老师合作开发了电子计算机器Wang 300,便宜易用。此后 也推出了HP-9100计算器,售价5000美元。1970年代,MOS工艺开始普及,其生产芯片性能不及bipolar,但是成本更低,CMOS芯片因为低能耗非常适用于电子表等场景。此后,芯片价格不断下降,计算器、电子表等电子产品售价也不断降低,计算器从1972年150美元下降到1976年50美元,来自日本Casio和Sharp成为市场领先者。 的CPU芯片进一步开启了PC时代到来,一片芯片代表一台计算机时代到来,此外EPROM等存储技术发明进一步加速了CPU市场开拓。此后,Intel整合了CPU,EPROM等产品,售价1万美元,客户可以直接采购用于组装计算机,Intel决定这个产品不直接ToC,避免成为自己客户的竞争对手。摩尔定律的持续推进,则指数级别不断降低单位算力芯片的成本。
Atlair和微软。1975年Atlair推出第一个计算机套件(Kit)MITS,定价360美元(成本75美元),命名为Microcomputer,早期的Kit客户都是计算机极客,他们主要买来玩游戏用。早期的MITS有16个卡槽(玩过学习机的应该知道),可以通过硬件来拓展功能,销售附加卡也成为一门生意。MITS早期用户里面就包括比尔盖茨,他和Paul Allen开发了BASIC编程程序,BASIC易懂且对内存要求低(第一版本仅要求4KB内存),成为PC早期最重要的编程语言, 最开始变现也基于BASIC销售(定价60美元)。由于早期盗版猖獗,盖茨还写过一封著名公开信,谴责这种不付钱行为。早期最流行的操作系统CP/M,其核心功能包括将碎片化存储的文件进行整合等。CP/M背后公司是Digital Research,其和微软、IBM最早的故事很有戏剧性,可以参见 。
早期PC产品。实际上,这时期的计算机应该还叫微型计算机,PC这个名字是IBM的产品名称变成行业俗称。早期的PC像个玩具,而由于采用CPU的集成芯片,对于DEC等传统厂商来说接纳CPU这套标准相当于放弃他们传统自研的半导体架构(有一个笑话,说一个工程师可以从DEC VAX半导体架构看出公司的架构,因为一个部门负责一个架构),传统厂商兴趣不大,而这无疑给与苹果、Commodore、Tandy(Radio shack的子公司)等新进入者机会,Tandy的TRS-80售价400美元,采用Zilog Z-80,用户购买它用来体验计算机或者玩游戏(比较类似学习机)。苹果成功产品是Apple II,沃兹尼亚克是核心产品研发者,其整合市面上其他产品的优势,但是采用更少的芯片,性能更强,且首次提供了彩面功能(当时主要通过电视机显示),售价495美元,Apple II的崛起也依赖于VisiCals(Excel雏形)这个Killer App,而教育市场则是其最成功市场,苹果公司对大学有专门折扣价格。如上文所言,1980年代类互联网服务开始普及,BBS等互联网产品雏形开始普及,到1989年,美国统计局数据显示PC在美国家庭渗透率为6%。
早期PC核心场景是游戏。电子游戏最早商业化形态是街机(Arcade),此后游戏主机等类计算机形态开始普及,主要得益于专有芯片产品普及(单片机)。此后,基于PC的游戏也开始普及,尤其是早期类学习机的计算机产品普及,主要依赖于ROM的游戏卡槽进行内容拓展(学习机买游戏卡),Atari等早期游戏主机&内容厂商在1970年代兴起(这段历史详见 ) 。此外,基于微型计算机发展,当时类似智能家居等概念和产品也开始兴起。此外,类似文曲星一样的便携个人计算机产品也开始普及,其中1981年推出Sinclair ZX81售价140美元,2年后进一步降价到40英镑,销量达到100万台。计算机进入家庭还带来意想不到效果,直到1980年中,计算机科学学生女性占比一直在提升,而随着计算机进入家庭,游戏等场景让人感觉计算机更为男性用户而设计,其导致男性在计算机专业中占比越来越高。
文字和表格处理软件。1970年代,计算机开始真正进入办公室(此前都是专门部门),两大办公场景分别是文字处理(Word processing)和表格处理(Spreadsheet)。对于文字处理,1970年代其更多以专有设备形式存在,1971年IBM将打字设备命名为“文字处理机器”,法律文件则是首要文字处理场景,文字处理专用设备领先设备玩家是Wang Labs(王安创立的),一套Wang文字计算机,包括硬盘设备售价3万美元,但考虑到其替代劳力成本,仍然有价值。PC时代到来后,通用设备开始颠覆专用设备,Wordstar是第一代文字处理软件(1979年),其适配CP/M操作系统,当时科幻小说作家也是Wordstar早期核心用户。VisiCalc则是基于Apple II最先兴起的表格处理软件,Apple II由于每行只能显示40个字母(正常的一半),因此不适合文字处理,但是却正好适配表格处理,且显示更流畅,VisiCalc很快就成为爆款应用,甚至成为华尔街金融人士必备技能,其定价200美元,1981年收入就突破10万美元,两者很快成为绝配互相促进销售。
IBM PC推出。1981年IBM发布了旗下第一款微型计算机命名为Personal Computer(简称PC,下图),其配置一个外置键盘,且拥有一个内置芯片等主机,支持多个拓展槽,可以说IBM PC集合了市面上其他产品的优点,16KB内存的最便宜版本IBM PC售价是1565美元,如果要选高配比如32KB内存,打印机等辅助设备,价格攀升到3405美元。微软为IBM PC提供16位操作系统PC-DOS,其运行内存仅需6KB。IBM PC最开始的成功依然来自企业市场,这些大公司部门仍然认为苹果计算机不可靠,他们和IBM关系很好,不过采购PC预算逐步从部门领导下放到普通员工,这也预示着IBM的客户关系优势在逐步被削弱。1980年,Intel发布了8087芯片,使得PC终于具备了浮点计算功能。1983年,IBM PC XT发布,其最大创新是配备了10MB的硬盘,其使得PC用户体验接近工作站或mini计算机。Lotus 1-2-3(表格计算)、Wordperfect(文字处理)、dBase(数据库)抢先拥抱了IBM PC平台成为PC下一个时代软件领头羊,Lotus 1-2-3相对VisiCalc增加了画图和数据库能力(2,3指的就是),其还能够记录和重复一系列命令操作,第一年营收就达到5300万美元。
IBM PC成为行业标准。到1983年,有107家公司为IBM PC生产拓展卡(包括声卡等),微软也开始向其他计算机厂商销售MS-DOS操作系统,其每次只能允许一位用户允许一个程序,能力有限。不过要真正推出完全兼容IBM PC的计算机并不容易,首先要破解的是IBM PC的BIOS 代码,且IBM对此拥有版权。三位来自德州仪器的工程师成立了Compaq,他们通过反向工程方式破解了IBM的BIOS,同时编写新代码来实现类似功能,这是低效但是合法的方法。Compaq第一款产品1983年推出,最大吸引力就是兼容IBM PC,其第一年公司营收就突破了1亿美元。随着IBM兼容计算机普及,计算机成本开始不断下降,其用户从大企业、富人逐步下沉到小企业、中产阶级等。1984年IBM推出高端机器IBM PC AT,定价5795美元,其提供媲美mini计算机用户体验,能够支持16MB内存,搭载Intel 286处理器,其定位多任务、多用户场景(DOS拖后腿)。AT很快也被破解,克隆版本开始出现,且由于IBM忌惮AT性能太强影响大型机销售,限制CPU时钟在6MHz,但克隆机器没有这方面限制,其性能甚至强于IBM AT。1984年,PC具备局域网LAN功能,使得员工电脑间可以快速发送文件、进行打印机共享等,销售局域网主机的公司是Novell,其后来聚焦局域网软件。
IBM失势,微软获益。1987年,IBM准备发布PS/2新产品,且其初始期就具备完善专利保护,准备把那些克隆厂商都踢出去,就像当年IBM 360主机横扫行业一样。当然,想要不被横扫也可以,那就交保护费,上交收入的5%给IBM,IBM甚至想追溯过去的PC系列克隆收入。IBM还为新产品定制新一代操作系统OS/2,其由IBM和微软联合开发,功能比DOS更强大,包括多线发布,但是当时内存价格猛涨,3MB内存售价高达1000美元,这使得OS/2普及较预期更慢(不得其时)。此时,克隆厂商并没有坐以待毙,他们联合起来对抗IBM,Compaq等不及慢吞吞的IBM,自己发布了Deskpro 386,结果其销量很成功,Compaq最终收购了DEC增强技术能力,并且开始提升销售能力。Dell开始直接ToC销售计算机,并且凭借高效销售渠道获胜,用户先下订单,后交付产品(现金流也很好)。在IBM和其他克隆厂商决裂这波浪潮中,受益最大的是微软,其成为真正行业标准,其指数级别增长一直到2001年才结束。
施乐发明了GUI。早期PC拥有图形显示能力,比如玩游戏、绘图软件等,但这种能力几乎被DOS系统所忽视。要说到图形化操作界面不得不提施乐(Xerox),其1970年代凭借领先的复印技术成为行业龙头。1970年代,美国很多国防项目终止,施乐趁机在硅谷成立研究中心网罗科研人才,其在加州研究中心开始研发下一代互动操作系统,第一代GUI发明者Thacker后来因此获得图灵奖。此外,相对于传统操作系统模式化操作,即如果计算机处于删除模式下,选择某个文件就会删除它。施乐的GUI则推行用户先选择需要编辑文件,然后选择对应操作。施乐工程师们还推崇基于object编程方式,催生了C++语言。GUI最终实现的效果是所见即所得(WHAT YOU SEE IS WHAT YOU GET),结合施乐研发中心发明的激光打印机技术,引领了行业变革。实际上,通过销售和授权激光打印技术,施乐早就把研发中心成本覆盖了。施乐也认真想商业化GUI技术,但他们的错误恰好是过早将这项技术推广到大众市场(不得其时),1981年施乐推出Star系列计算机,搭载GUI系统售价1.6万美元,其技术很卓越,但售价太高,其销量仅有2.5万台,到1980年代末施乐宣布放弃这个系列。
服务器和Macintosh。mini计算机的替代最早不是PC,而是服务器工作站(Workstation),1981年Apollo基于摩托罗拉68000芯片发布了32位工作站,售价4万美元。此后Sun MicroSystem加入竞争。乔布斯看中了施乐GUI潜力,挖来了施乐开发GUI系统的Larry Tesler,其对原有系统操作进行一些简化,苹果基于此开发了苹果Lisa系列,售价高达9995美元。Lisa第一年销量达到10万台,Apollo则仅有几百台,然而苹果目标是颠覆行业,这个销量显然不达标,但Apollo作为行业新型玩家,其吸引了很多VC兴趣。此后,苹果推出Lisa廉价版本Macintosh(如下图),售价3000美元,相对于Apple II和IBM PC,Macintosh是封闭的,其不支持拓展卡,1984年,其销量达到25万台,但很快就开始下滑,乔布斯因此被赶出苹果。但是Macintosh优雅的操作界面设计仍然在行业内造成了巨大影响,PageMaker( ) 设计软件和苹果激光打印机输出高质量设计产品,这些专业设计群体是早期苹果计算机核心用户(现在Mac还是)。
从DOS到Windows。1980年代,DOS系统的短板几乎行业众所周知,微软和IBM渐进式的提升并没有带来根本性转变,比如DOS的软件开发者必须为不同硬件开发适配驱动程序,DOS缺乏多线程操作的功能,缺乏GUI图形化操作界面等。实际上,1980年代,Visi、Lotus、微软等不同公司都在开发GUI操作系统而努力,无奈当时硬件还没准备好,因此这些产品不但不成功,而且其巨大时间和金钱成本还使得Visi等公司失去了竞争力,IBM的OS/2最大战略错误则是仅支持Intel 286芯片,没有及时跟进最新的386芯片。直到1990年微软发布Windows 3.0,GUI操作界面才真正具备成为大众软件的条件,而微软正好抓住平台转换的机遇将自己的Word和Excel办公软件(这俩软件最早都是给苹果Mac开发的,品质不错)顺势推成Windows平台上统治地位的办公软件。此后,Windows系统开始统治PC操作系统市场,其任何一代产品销量轻松破千万。但直到此时,Windows仍然是制约硬件发挥的关键因素,比如内存利用效率低等。
Intel制定行业硬件标准。进入1980年代后期,显卡等一系列设备发展使得计算机主机传统造型没有拓展空间了,Intel推出了基于自身芯片的集成主板,其继承了和内存、拓展卡通信功能。1993年Intel发布了奔腾系列CPU,连带发布还有PCI主板,Intel开始销售整个主板,到1990年代末,Intel对PC硬件系统拥有很强的话语权,其推动例如USB等新技术普及。1980年代基于极简指令集的RISC CPU也开始兴起,作为针对Intel 的复杂指令集CISC CPU的竞争产品,MIPS等公司开始生产相关芯片,1992年,RISC CPU频率很容易达到150MHz,其显著快于Intel最快CPU (33MHz),RISC CPU在工作站市场普及较快。1993年,Intel推出奔腾芯片,此后其芯片开始快速迭代,吸收了很多RISC设计的优点,其和RISC芯片性能差距越来越小,1998年Windows NT宣布停止对RISC芯片Alpha Chips支持,此后Intel芯片凭借规模和成本优势开始垄断CPU市场(其实是和RISC技术融合了,即PC和工作站技术合流)。不过RISC技术基于其低能耗特点在移动时代迎来爆发, 等公司开始兴起。1980年代兴起的新技术和新产品包括关系型数据库,其代表公司包括 (激进销售文化) ,Sybase(微软后来授权成为SQL Server)等。实际上35-40%公司IT部门时间会花在维护文件和数据库中数据一致性上,这也体现了数据库是多重要的基础设施。
WindowsNT和Windows95。从普通大众视角来看,进入1990年代PC计算机基本替代了传统的Mini计算机和服务器工作站市场,然而从技术视角来看,实际上是后者的技术覆盖了PC的技术。到2000年,PC的技术架构(以Windows NT成为后来Windows主体)更像1980年代的mini计算机,而不是早期的DOS系统。1991年,微软宣布下一代操作系统WindowsNT,其架构很像DEC的Mini计算机操作系统,因为其设计者Dave Cutler以前就是DEC OS的核心设计者。Windows NT拥有硬件抽象层,从而能够适配多种不同CPU,比如Intel,MIPS等RISC芯片(当时Intel有点式微)。在WindowsNT开发过程中,微软要求每位工程师每天提交日志,如果其更新导致系统崩溃,你就必须负责修理这个bug(eating your own dog food)。Windows NT功能上显著强于当时Novell的竞品,1997年微软发布几个版本NT,售价4000美元的企业版,以及售价319美元的工作站版本。1995年Windows95发布,其营销预算达到3亿美元,增加了上网功能,发布了开始菜单,其发布4天销量突破就100万,5周内销量达到700万,更厉害的微软开始在新计算机里面推行预装模式。1998年,Windows NT 5.0被重新命名为Windows 2000,此后是WindowsXP ,Vista,7,8,8.2,10(命名完全不规则)。因此,可以说现有的Windows系统基础实际上是WindowsNT,其是mini计算机的技术。到2000年,美国的PC渗透率达到88%。
数字化音频。计算机的发展和普及实际上有两条路径,其一是外在的即从大型机到mini计算机到PC计算机;其二则是内在的,即半导体集成电路发展使得传统专有设备也逐步被芯片等计算机设备替代,且数字信号替代传统模拟信号,这就包括电视、音频、电话、音乐播放器、相机等。1965年傅里叶变换提出使得我们可以将时序信号转换为不同频率信号叠加,复杂的信号可以解析为一系列简单信号叠加,从而使得模拟信号数字化成为可能。1982年迪士尼动画电影《Tron》其中15分钟动画采用纯电脑绘画产生(CG动画),开创了新时代。此外,YAMAHA等厂商开始生产电子合成器,成为现代流行音乐中间重要元素,电子键盘合成器使得编曲更像编程。1980年代,CD开始普及,其相对于传统磁带存储量大,而且成本低,音质更好(磁带是模拟的,而CD是数字信号)。此后CD成为计算机标准的存储介质,其存储数据量680MB,光驱也成为计算机标配硬件,游戏主机后来也采用CD-ROM来读取游戏。1990年代,MP3数字音频格式开始普及,其能够将一张CD压缩到20MB,不过MP3兴起也推动盗版音乐发展,早期互联网应用Naspers就因为版权问题被迫关闭。MP3格式普及推动音乐播放器革命,最著名的就是苹果的iPod,其凭借极简且优雅的设计,以及iTunes等内容布局成为爆款产品(截至2007年苹果销售了1.1亿台iPod),也是苹果和乔布斯崛起的第一阶段。
数字化图像。文本传输主要依赖传线年代传线万台传线万台,而传线美元。扫描仪几乎在同时开始普及,其可以将传统纸质图书扫描成为数字图片,在计算机设备间传播,Adobe的PDF等格式开始成为行业标准。数码相机普及依赖于CCD技术的发展,1974年柯达研发了第一款数码相机,2000年后CMOS芯片技术开始在数码相机中普及,到2006年普通数码相机价格下降到几百美元。DVD在2000年左右开始普及,1997年一台DVD售价高达1000美元到2003年左右一半美国家庭拥有DVD播放器,其价格下降到50美元。HDTV高清电视普及(1080p),1998年一台高清电视机售价高达8000美元,2009年美国宣布停止模拟电视信号传输,智能电视(基于芯片)开始普及。3D游戏开始发展,游戏《Doom》开启了游戏引擎时代,其进一步降低3D游戏开发门槛,英伟达和ATI等显卡(GPU)厂商也借助3D游戏浪潮开始兴起。相对于一般芯片价格不断降低,顶级GPU产品价格不断走高,2006年英伟达的GeForce 8800售价高达600美元,成为计算机中最昂贵的零部件。游戏主机的硬件同样开始被PC架构替代,2001年微软发布的Xbox采用Intel的奔腾3系列CPU。
互联网迅速发展。互联网最早的概念超文本(hypertext)诞生于1945年,其后来成为互联网超链接的前身,Berners Lee发明了URL网址和Http协议,其能够链接到对应文件、网址等。图形化网络浏览器Mosaic和Netscape推出引爆了互联网浪潮,1994年互联网连接了1万台服务器,到1995年6月达到2.4万台,到1997年3月突破100万台,到2001年12月突破1000万台。1995年,ATT推出20美元月费互联网无线套餐,而早期商业专有网络提供商AOL(类似局域网,由于用户体量大,早期互联网用户分不清AOL和互联网)和微软MSN等也迅速完成了向互联网服务提供商ISP转型。早期互联网流行应用包括IM产品ICQ等,而为了鼓励互联网发展,美国政府表示不会给网上销售产品征税。早期互联网用户痛点包括搜索信息、支付等,门户成为用户早期核心信息索引方式,YAHOO成为第一批互联网赢家,其建立一个汇集不同类型网站网址的网站目录,吸引大量用户流量。早期互联网搜索更多基于关键词出现频率,这很容易作弊,用户体验不佳,而Google则依赖类似论文引用数量来评价论文质量的逻辑PageRank算法,打造了高效的Google搜索引擎。广告成为互联网重要商业模式,1990年代后期,AOL、Yahoo和微软三家占据互联网广告市场43%份额,2000后Google推出按点击转化付费的效果广告模型,并且建立广告联盟,其广告营收开启持续增长。基于Cookies的个性化推荐进一步提升用户体验和广告投放效率,Https加密协议推出则使得网上交易变得更加可信。微软和网景公司世纪浏览器大战成为互联网早期轰动事件,关于行业更多详情,可以点击 。
开源软件LAMP。1984年,ATT反垄断诉讼取得突破性进展,其分拆了地区电话公司,也因此获得了商业化非电信业务的自由,其首先准备商业化就是基于Unix操作系统。基于此背景,来自MIT的极客Stallman开发了Unix兼容的GNU系统,GNU代码开源,且用户协议中要求未来任何基于此系统更新也必须免费开源,这一要求是具有革命性的,Stallman认为free software不仅是免费软件,而且是任何用户都可以自由使用的软件。基于GNU操作系统,Linux系统推出,1999年Linux成功在IBM 390大型机上运行,虽然销售Linux基本无法赚钱(协议要求),但是销售配套服务可以,相关公司如Red Hat于1999年上市,股价涨得很高。类似软件还有数据库领域的MySQL,其于1995年发布,且在未来15年里逐步缩小和Oracle数据库功能差距,2010年Oracle通过收购Sun间接收购了MySQL。PHP是当时最流行的网络编程语言,Apache则是世界流行服务器软件。Linux,Apache,MySQL,PHP并称为LAMP,是计算机开源软件发展的四大典范。
数据中心和云计算。1990年代服务器使用芯片都是Intel Xeon高端系列,2001年Intel和惠普联合推出高端CPU Itanium,其64位架构能够支持更大内存以及更复杂计算,然而由于其技术弱点,性能不及预期,销售自然也不及预期。不过Google却用另外一种方式实现了超级存储和计算功能——将一堆普通计算机连接起来组成数据中心,这也是Data Center的雏形,早期Google搜索基于昂贵的Sun服务器,1999年Google工程师Urs Holzle开始尝试组装几百台低价服务器,实现了高效、低成本、且稳定的计算和存储,并且通过水冷等高效散热,通过冗余设计实现可靠性。2004年Google推出存储空间高达4GB的Gmail电子邮件服务,很大程度依赖于自身数据中心构建能力,而数据中心架构也为云计算发展奠定了基础。2008年,Intel推出酷睿双核处理器,进一步提升CPU性能。Intel后来CPU产品体系更像BMW车型,推出i3,i5,i7低中高端产品,且此时CPU已经不依赖时钟频率提升了。在Win-tel联盟里面,微软始终是那个拖后腿的,也可能是Intel的工作可能是做得太好了,实际上现在很多10年前的CPU机型都可以顺畅运行Windows和Office。
虚拟化和流媒体。Google发明Data center更像使多台计算机连接在一起表现像一台超级计算机,而虚拟化则相反,使得一台计算机表现得像多台虚拟计算机。最早尝试虚拟化的公司是IBM,他们在1970年代就发明了虚拟内存,目的是将IBM 360大型机虚拟化提供时间共享服务。虚拟化能力逐步从大型机渗透到了PC,VMWare于1999年发布了支持Intel芯片的虚拟化软件,Intel和AMD两大芯片巨头也开始针对性研发支持硬件。当下普通PC用户实际上会不知不觉用到虚拟化功能,比如Windows在运行时间久远程序时候就是用的虚拟机模式。虚拟化最大的应用场景还是服务器,其成为云计算能够成立的关键能力。随着宽带互联网时代到来,线上流媒体视频服务成为一大风口,Youtube借力成为行业龙头,Netflix也从DVD租赁商转型成为流媒体龙头,视频播放占美国互联网流量三分之一。社交媒体也开始兴起,其中最成功是Zuckberg在哈佛大学创立的Facebook,其从大学生群体出发成为全民社交平台(更多详见 ) 。付费订阅和广告成为互联网最常见两大商业模式,当然也存在另类比如Wikipedia,其依赖用户捐赠运营,比如Craigslist,其保持最简单页面,凭借上架广告按条收费覆盖成本。
Java和SaaS。1990年代互联网时代到来,基于浏览器打造新平台的想法成为流行,Java愿景就是打造一个兼容所有软硬件环境的互动平台,Oracle,IBM,Sun(Java母公司)联合起来打造新一代硬件上网本,意在绕过微软的Windows成为新一代平台。然而,不管是上网本网速很慢,还是Wordperfect基于Java平台的Office套装很难用,Java系统本身bug很多,还是Windows在背后使坏(Sun一直是支持对微软反垄断的先锋),简单结果就是Java的愿景没有实现,不过意外收获是Java成为广泛使用的编程语言依然存在。软件即服务(SaaS)模式以Salesforce为代表,其本质上是企业服务的互联网化,到2010年代,其客户从中小客户进化到大客户,成为云计算中重要一环。SaaS服务使得传统软件企业收入从项目制变成了订阅制,其进一步降低了软件门槛,打击盗版难度,提高了软件公司收入可持续性,提价能力等。典型案例是2013年Adobe的Creative工具包宣布SaaS化,此后5年其收入提升了一倍。1995年,网景推出JavaScript(和Java没关系),成为动态网页基础支撑,微软IE很快宣布支持JavaScript,Google则基于此打造了Gmail、Google docs等流行应用。最后,虽然IE和网景打得火热,最终微软凭借捆绑策略胜出,但浏览器市场最终赢家却是Google的Chrome,其推出于2008年,其极简设计和明显更稳定的性能很快获取市场份额,到2012年拿到了70%市场份额。
移动互联网时代。要追溯智能机,一大雏形是便携式计算设备,最早是手持计算器,1990年代苹果在非乔布斯时代曾经重仓Newton手持计算机(PDA),但由于时机未到没有成功。另一大雏形则是移动电话,其最早可以追溯到二战时期,1980年代摩托罗拉的模拟通话设备大哥大(DynaTAC 8000X,如下图)成为时代的经典。2G时代带来了短信功能,手机也开始可以通过WAP等方式上网。2003年黑莓手机开始流行,其能够便利用手机收发邮件等成为商务人士必备。还有一个支线系就配置了GPS导航功能,此后Garmin等专有GPS设备厂商开始出现。最早的“智能”手机领先玩家还是微软,其WindowsCE操作系统1996年推出,惠普、Compaq、Dell等厂商生产相关设备是早期领先智能手机。不过智能手机集大成者,这些支线最终的汇聚点是苹果的iPhone,其创新性将大屏幕(3.5英寸,当时已经很大了)作为最核心显示和输入界面,并且辅以苹果原创multi-touch触屏操作方法,打造了App Store应用生态,开创了智能机时代。移动互联网时代,催生了Uber打车、 、Grindr交友等一系列原生移动应用。此后苹果推出iPad进一步拓展智能移动设备蛋糕,推出iWatch进军智能可穿戴设备,而Google则以安卓开源操作系统方式建立抗衡苹果的生态。如今,智能手机、智能手表等硬件设备已经成为人们最离不开的设备,而AI时代到来或将进一步加速硬件智能化的趋势。
相对于更加聚焦细节的公司发展史,写行业发展史尤其是比较长期发展史总让人有些流水账的感觉。不过,这种流水账至少有一个好处——更容易将事情发展的前因后果联系起来,从而减弱“不识庐山真面目,只缘身在此山中”。总结此文有几点让我印象深刻:
产品创新无法规划,但技术投入总会值得。正如IBM早期进入超算计算机失败,但是其技术却成为后一代360系列基座,而后者则横扫整个计算机行业。
同样还有时间共享系统,虽然其自身发展不及预期,但是其一方面孵化了互联网前身 (基于一台核心计算机用户互相沟通),另一方面孵化了开源软件生态,Unix操作系统,以至于后来LAMP四大开源软件王者都和时间共享系统离不开。而从软件行业发展历史来看,闭源和开源就是事物的阴阳两面,正如当下AI大模型开源VS闭源发展路径一样。
根据《创新者窘境》,我们看到PC计算机以ToC商业模式对于ToB模式产生很大颠覆效应,PC颠覆了大型机,mini计算机,工作站等,微软、Intel也颠覆了IBM等传统企业服务巨头,这是从商业模式角度来看。然而,从技术发展角度却是融合的,正如Windows NT成为Windows 2000以后基座、RISC芯片架构融入了Intel芯片一样,mini计算机的技术基础成为PC计算机核心基础架构。
互联网之所以能够大而统一,发挥最大网络效应,与其去中心化的基础定位有很大关系:数据包发送方式和发送内容无关,任何设备都可以加入互联网,唯一中心化的域名管理机构获得了独立且非营利地位,互联网治理更多依赖社交机制,而不是靠特定机构来管理。
下一篇:AG和记2025国家公报考指南
添加微信