计算机科学入门
个人计算机
的概念 , 在计算机发展的头 30 年难以想象,如果只让一个人用,成本实在太高。
但到 70 年代初,各种组件的成本都下降了 , 可以做出低成本 同时性能足够强大的计算机,不是玩具级计算机,是真正能用的计算机。
微型计算机
这个转变中 , 最有影响力的是 单芯片 CPU 的出现, 强大 + 体积小 + 便宜 。
集成电路的进步,也提供了低成本固态存储器,可以用于计算机的 RAM (随机访问储存器)和 ROM (只读储存器)。
忽然间 , 把整台计算机做到一张电路板上成为可能,大大地降低了制造成本。
而且,那时有便宜可靠的储存介质 , 比如 磁带 和 软盘 ,最后是 低成本的 显示器 , 通常是电视机稍作改装而成。
如果在 1970 年代 , 将这四种原料混在一起,就得到了 微型计算机
(microcomputer),因为和那个时代的 "普通" 计算机相比 , 这些计算机很小,"普通" 计算机就是公司或大学里的那种。
TIP
以前计算机课被称为 微机课 ,即微型计算机的简称。
但比大小更重要的是成本,这是有史以来第一次,计算机的价格足够低, 一个人专用 的想法变得可行。
不用划分时间和别人公用计算机,没有多用户登录,计算机只属于一个人,只有一个用户, 个人计算机 时代到来。
计算机成本下降 + 性能提升, 让个人计算机成为可能,但这个时间点很难准确定义, 并没有一个具体时间点。
因此 第一台个人计算机 这个名号,有很多竞争者,比如 Kenback-1
和 MCM/70
。
不过第一台取得商业成功的个人计算机 , 争议较小: Altair 8800
,首次亮相在 1975 年 《Popular Electronics》 封面。
售价 $439 美元,需要自己组装,计算通货膨胀后,相当如今的 2000 美元左右,不算小钱,但比起 1975 年的其它计算机,算是非常便宜了。
各种需要自己组装的组件包 ,卖给了计算机爱好者,因为买的人多,很快相关产品出现了,比如 内存 , 纸带读取器 ,甚至 **电传接口 ** ,让你可以从纸带上读取更长更复杂的程序,然后用电传终端交互,但程序还是要用 机器码 写。
Altair BASIC 和微软起源
写起来很麻烦,即使计算机爱好者也讨厌写,这没有吓跑年轻的 比尔·盖茨 和 保罗·艾伦 ,他们当时是 19 岁和 22 岁,他们联系了制造 Altair 8800
的 MITS 公司,建议说,如果能运行 BASIC 程序 , 会对爱好者更有吸引力。
BASIC 是一门更受欢迎更简单的编程语言,为此,他们需要一个程序 , 把 BASIC 代码转成可执行机器码,这叫 解释器
( interpreter)。
解释器
和 编译器
类似,区别是 解释器
运行时转换,而 编译器
提前转换。
MITS 表示感兴趣,同意与 Bill 和 Paul 见个面,让他们演示一下,问题是,他们还没写好解释器。
所以他们花了几个星期赶工 , 而且还不是在 Altair 8800
上写的,最后在飞机上完成了代码。
他们在墨西哥 阿尔伯克基 (城市) , 的 MITS 总部做演示时,才知道代码可以成功运行,幸运的是进展顺利 , MITS 同意 在计算机上搭载他们的软件,Altair BASIC
成了微软的第一个产品。
苹果公司
虽然 1975 年之前就有计算机爱好者,但 Altair 8800
大量催生了更多计算机爱好者,爱好者们组成各种小组 , 分享知识,软件,以及对计算机的热爱,最具传奇色彩的小组是 家酿计算机俱乐部
(Homebrew Computer Club)。
Apple - I
第一次小组聚会在 1975 年 3 月,看一台第一批运来加州的 Altair 8800
,第一次聚会上,24岁的 Steve Wozniak , 被 Altair 8800
大大激励,开始想设计自己的计算机。
1976 年 5 月,他向小组展示了原型机,并且把电路图分享给感兴趣的其他会员,他的设计不同寻常 , 要连到电视显示,并提供文本界面,在低成本计算机上还是第一次见。
同是俱乐部成员和大学朋友的 史蒂夫·乔布斯 ,建议说与其免费分享设计,不如直接出售装好的主板,但用户依然需要自己加键盘,电源和机箱。
1976 年 7 月开始发售,价格 $666.66 美元,它叫 Apple-I
, 苹果计算机公司 的第一个产品。
就像 Altair 8800
一样,Apple-I
也是作为套件出售,Apple-I
吸引了业余爱好者 , 不介意机器买回来自己组装,但个人消费者和公司对 Apple-I
不感兴趣。
Apple - II
这在 1977 年发生变化 , 市场上有了三款开箱即用的计算机,第一款是 Apple-II
,苹果公司第一个提供 全套设备 的产品,设计和制造工艺都是专业的,它还提供了简单彩色图形和声音输出,这些功能对低成本机器非常了不起。
Apple-II
卖了上百万套,把苹果公司推到了个人计算机行业的前沿。
第二款是 TRS-80 1型
,由 Tandy 公司生产,由 Radioshack 销售,所以叫 TRS ,虽然不如 Apple-II
先进 , 但因为价格只有一半,所以卖得很火爆。
最后一款是 Commodore PET 2001
,有一体化设计,集成了计算机,显示器,键盘和磁带驱动器,目标是吸引普通消费者。
计算机和家用电器之间的界限开始变得模糊,这 3 台计算机被称为1977年的 三位一体 ,它们都自带了 BASIC 解释器
,让不那么精通计算机的人也能用 BASIC 写程序。
VisiCalc
针对消费者的软件行业开始腾飞,市场上出现了各种,针对个人计算机的游戏和生产力工具,比如 计算器 和 文字处理器 。
最火的是 1979 年的 VisiCalc
,第一个电子表格程序,比纸好无数倍,是微软 Excel
和 Google Sheets
的老祖先。
但这些计算机带来的最大影响,也许是他们的营销策略,它们针对普通消费者,而不是企业和爱好者,这是第一次大规模的计算机出现在家庭,小公司,以及学校中。
开放式架构
这引起了全球最大计算机公司 IBM 的注意,其市场份额从1970年的 60% , 在1980年降到了 30% 左右,因为 IBM 忽略了增长的 微型计算机
市场,这个市场每年增长约 40% 。
随着微型计算机演变成个人计算机 , IBM 知道他们需要采取行动,但要做到这一点,公司要从根本上重新思考战略和设计。
1980 年 IBM 最便宜的计算机 , 5120
的价格大概是一万美元,永远也没法和 Apple-II
这样的计算机竞争,意味着要从头开始。
一个由十二名工程师组成的精干团队(后来叫"肮脏十二人"),被派往佛罗里达州的 , 博卡拉顿 (Boca Raton)办公室,让他们独立工作,不受 IBM 内部的政治斗争干扰 , 他们想怎么设计怎么设计。
没用 IBM 的 CPU,选了 Intel 的芯片,也没用 IBM 的首选操作系统 CP/M ,而是用了微软的 DOS 。
依此类推,从屏幕到打印机都这样自由选择,IBM 第一次不得不与外部公司竞争,来给新计算机做硬件和软件。
这和 IBM 的传统做法不同:自己做硬件来节省成本,然后和其它公司合作。
经过短短一年,IBM 个人计算机发布了,简称 IBM PC ,产品立马取得了成功。
长期信任 IBM 品牌的企业买了很多,但最有影响力的是 , 它使用 开放式架构
(open architecture)。
有良好的文档和扩展槽,使得第三方可以做硬件/外设,包括显卡,声卡,外置硬盘,游戏控制杆 , 以及无数其它组件。
IBM 兼容
这刺激了创新,激发了竞争,产生了巨大的生态系统,这个开放架构叫 IBM Compatible
(IBM 兼容)。
意味着如果买了 IBM兼容 的计算机,你可以用庞大生态系统中的其它软硬件,开放架构也意味着竞争对手公司可以遵循这个标准,做出自己的 IBM 兼容 计算机。
很快,康柏和戴尔也开始卖 PC ,微软很乐意把 MS-DOS 授权给他们,使 DOS 迅速成为最受欢迎的 PC 操作系统。
仅在前三年 , IBM就卖出了 200 万台 PC ,超过了苹果。
有了庞大用户群,软件和硬件开发人员 , 把精力放在 IBM 兼容 平台,因为潜在用户更多,同时,想买计算机的人 , 也会看哪种计算机的软硬件选择更多,就像雪球效应一样。
封闭架构
而那些生产非 IBM兼容 计算机的公司 (一般性能更好)都失败了,只有苹果公司在 没有IBM兼容 的情况下 , 保持了足够市场份额。
苹果公司最终选了相反的方式: 封闭架构
(closed architecture)。
即自己设计一切,用户一般无法加新硬件到计算机中,意味着苹果公司要做自己的计算机,自己的操作系统,还有自己的外围设备,如显示器,键盘和打印机。
通过控制整个范围,从硬件到软件,苹果能控制用户体验并提高可靠性,不同的商业策略是 Mac vs PC 谁更好 这种争论的起源,这些争论如今还存在 。
Macintosh
为了在低成本个人计算机的竞争冲击下生存下来,苹果需要提高自身水平,提供比 PC 和 DOS 更好的用户体验,他们的答案是 Macintosh
,于 1984 年发布,一台突破性,价格适中的一体式计算机 , 用的不是命令行界面,而是 * 图形界面* 。