查看: 52  |  回复: 0
VB6 VB前传,从教学到游戏,再到系统,似乎每步都是精心设计
楼主
发表于 3月23日 22:53

深刻理解VB的历史,有助于我们正确地认识VB,更合理地使用这项伟大的工具。

一、亲历曼哈顿计划,决心推广编程

美国达特茅斯(Darmouth)学院的院长John Kemeny参与了曼哈顿计划,担任程序员。他师从冯·诺依曼,也是爱因斯坦的助手。这不仅让他精通计算机,更明白计算机在该计划中的作用和影响力。

达特茅斯学院的数学教授Tom Kurtz则是计算机先驱约翰·图克(John Tukey)的学生。当他在普林斯顿大学的数学专业读研究生时,参加了加州大学洛杉矶分校的暑期课。在那里,他第一次计算机结缘,便产生了浓厚的兴趣。后来很快学会编程,也深知计算机对人类的影响。

1944年,第一台电子计算机MARK I问世。紧接着,第二台电子计算机ENIAC在1946年亮相。这让Kemeny和Kurtz意识到,电子计算机不会止步,计算机在推动教学和科研的发展中,具有巨大的潜力,于是决心教授学生编程。

二、Fortran教不会,徒手DIY新语言

大规模集成电路前的计算机,几乎都是大型机,造价昂贵,主要服务于科学研究。上世纪60年初,达特茅斯学院数学系就添置了一台LGP-30计算机,以便实施科研任务。这是一种相对便宜且功能一般的机器,仅有30K的RAM。但这足以让Kemeny实施他的计算机教学实验。

1956年,专为科学计算研发的Fortran(Formula Translation)语言,一经发布便获得科学界好评。到1960年,Fortran的应用已很成熟,身为数学教授的Kemeny和Kurtz自然想到了,用该语言进行教学。但是他们忽略了自己懂计算机编程的背景,以为教和学都很Easy。临阵时,学生们一脸脸的懵让他们傻眼了。这才意识到,虽然Fortran简单,但毕竟不是所有人都是科学家,也并非所有人都能掌握。Fortran能否再简单呢?让学心理学的,学哲学的,学文学的都可了解计算机呢?

说干就干,到1962年,DOPE(达特茅斯超简化编程实验)诞生了,这是一项专为教学而准备的语言试验。在DOPE中,每一行代码由行号、操作和参数组成。受限于硬件条件(30K的RAM), Kemeny将运算符都简化为1个字母,无分隔符,每行只执行1个简单的运算,参数列表具有固定长度。没有字符串,剥夺了数据类型(所有变量都为浮点数,打印时有小数点就是浮点数,没有就不是),使用「T」跳转到特定行号,行号是一个隐式数字(1到99),按代码块处理循环等。

DOPE在今天的程序员看来显得不可思议,很多做法不够专业,几乎没什么价值。但它向学生解释什么是计算机,如何运作的已经足够了。更重要的是,它验证了Kemeny的想法,为后来Kurtz继续开发BASIC提供了基础。

三、BASIC诞生,开启探索魔盒

1964年5月,在达特茅斯学院学院报告大厅的地下室里,由Kemeny、Kurtz和其学生一起研发的新语言诞生了。它就是BASIC,全称为初学者通用符号指令代码(Beginner's All-purpose Symbolic Instruction Code)。它借鉴了Fortran 66和Algol60语言特点,设计为让普通人也能掌握的编程语言。这在科学家和工程师当道的大型机年代,引起了巨大的反响。

通过达特茅斯学院的大型机,利用分时系统在校园里建起了互动的计算机环境,教师、学生,甚至附近的中学都可以访问。BASIC开启了计算机领域的全方位探索,足球、星际旅行等游戏,社会、人文科学,计算机约会等,显示出了个人市场的强大生命力。

BASIC真正伟大之处,在于Kemeny和Kurtz明知他们开启了什么样的魔盒,却仍然不取分文地将之公之于众,其胸怀远胜于Unix的持权方。借着BASIC注入的热情,在全球范围内很快就掀起了计算机世界的工业革命。1970年左右,Apple、IBM等各大厂商,纷纷在自家计算机上推出BASIC。

四、BASIC既当爹又当妈

随着数字设备公司(DEC)的PDP(Power Distribution Plan)计算机生产线风靡世界,连Fortran都学不会的人都开始加入购买队伍,计算机的个人市场开始崭露头角。为了吸引更多卖家,DEC取消了BASIC的编译执行机制,转而采用解释执行,开启了BASIC编译和解释执行的双重格局。

当时大型机和小型机上已有Unix操作系统,微机上却没有。一方面没有需求,另一方也没有装载能力。微机仅需能从ROM中读取的监视程序(Monitor),用于BIOS初始化屏幕、键盘、软驱和打印机。恰巧BASIC可以直接操作BIOS,还可以跨过BIOS直接操作硬件,这在游戏领域里大受欢迎,成为绝对的主宰。用BASIC编写的星际旅行长期占据着DEC主机的内存和CPU。

因此在早期的个人计算机上,BASIC既充当着简易操作系统,又是游戏编制的不二之选,这为BASIC的广泛应用奠定了坚实的基础。为各大厂商的计算机编写BASIC解释器,便成了很迫切的任务,微软早期就干这活起家。

五、CP/M开创微机系统标准

1971年,日本人认为计算机市场会像晶体管收音机那样,但是发明晶体管的美国人还没发明出微处理器。于是给Intel投资,用来制造4位处理器。很快世上首块微处理器芯片4004诞生了,但是在大型机和小型机当道的当时,并没有惊起波澜。因为4位处理器,不足以用户编写他们热爱的星际旅行。

无奈之下,Intel开始大甩卖,甚至打出了25美元卖一台微机的广告。正是这条广告在加里·基尔代尔眼里,发生了化学反应。基尔代尔曾是IBM的程序员,操弄着价值300万美元的IBM360.但当他看到微处理器时,毅然选择离开, 转而研究Intel4004。

基尔代尔决定用4004为父亲研发一款导航计算器,但很快就发现4004的指令集不够用,于是与Intel公司取得联系。Intel公司对其开发的应用很感兴趣,便在1973年邀请基尔代尔参观,并将最新研发的8位芯片8008交给他研发。几个月后,PL/M语言诞生了,并在DEC公司的TOP-10主机上,成功开发出了微机控制程序CP/M,从此Intel芯片上有了自己的通用控制调试程序。

CP/M将操作系统分为上中下三层结构。上层为控制台命令处理程序,处理类似于复制、粘贴和新建这样的命令。中层为磁盘操作系统,实现对磁盘文件的自动存取。下层为BIOS,处理基本输入输出。CP/M的创新,让其迅速成为Intel芯片的标准操作系统,在该系统上奔跑的应用软件有数千种之多。不仅让Intel站稳微处理器龙头地位,更让CP/M的结构体系成为PC操作系统的事实标准。

六、BASIC牵线,比尔.盖茨掘首金

1974年Intel推出8位芯片8080,真正的微型计算机才成为可能。1975年,MITS电脑公司推出了该芯片的首台个人电脑Altair8800,其搭载的正是CP/M。比尔.盖茨和保罗.艾伦,洞察到了个人PC市场的巨大潜力,决定为Altair8800开发BASIC解释器。最终卖给MITS公司,创立了微软。

1978年,Intel推出第1块16位芯片8086,SCP公司决定开发该芯片的个人电脑,但CP/M迟迟未升级到16位,于是决定自己开发16位的操作系统。Tim Paterson闪亮登场,他不仅充分借鉴CP/M的结构体系,甚至连用户界面和编程接口都一样,还引入了微软BASIC解释器的FAT文件系统。1980年8月,仅仅4个月,QDOS就诞生了。意为简易的操作系统(Quick and Dirty Operating System),可完美运行CP/M上的程序。

1980年10月,IBM决定推出基于Intel8086芯片的PC,于是找到基尔代尔创立的Digital Research公司,想要CP/M系统。但基尔代尔忙于销售火爆的8位CP/M,完全未顾及到这单生意,就这样拱手将机会让给了微软。

当时IBM还不知道QDOS,但比尔盖茨却因为BASIC,知道SCP公司正在研发的QDOS。当IBM寻求系统无果之后,想起了做BASIC解释器的微软,于是让微软提供操作系统。比尔.盖茨迅速以2.5万美元的代价,从SCP获得了QDOS的使用许可,做成了这单生意。就这样,在BASIC的穿针引线下,微软终于靠上了IBM这棵大树。

七、背靠IBM,紧握游戏生态,微软终成巨头

到1981年7月,微软对IBM PC的设计已经非常了解,决定不再使用QDOS的许可模式,而是又花了5万左右将QDOS买了下来,同时也挖走了Tim Paterson。微软将其更名为MS DOS,意为磁盘操作系统(Disk Operating System)。

1981年8月,IBM正式推出个人PC品牌IBM PC,在其ROM中固化了微软的BASIC解释器,系统使用MS DOS1.14版。

1983年,BIM又推出配备了磁盘的IBM PC/XT,使用MS DOS2.0。微软针对PC开发出了首个BASIC编译器版本,也即IBM BASIC1.0。虽然只支持64K程序,但足够开发星际旅行游戏。至此,在小型机上的星际旅行,终于可搬到个人PC上了。这为IBMPC吸引了大量购买者。这促使IBM在1984年里就推出了下一代个人电脑IBM PC/AT,使用MS DOS3.0。

1985年,借鉴Turbo Pascal的思想,微软为BASIC创建了鼠标驱动环境。但遭到IBM的拒绝,微软不得不将其更名为QuickBASIC2.0,暗示为IBM BASIC1.0的后继。在1987年重新包装后,更名为ProfessionalBASIC。该版本已具有64K程序空间和64K数据空间,星际旅行的最新版也可搬家了。

1989年,MS DOS4.0开始支持鼠标和图形界面。微软开始与IBM合作研发OS/2,为放弃DOS做准备。到1991年,MS DOS5.0内置QBASIC编程环境,成为最后1版独立的DOS产品。

1991年,1个全鼠标驱动的BASIC诞生了,它就是VisualBasic1.0。虽然这个版本不能与数据库打交道,但它支持星际旅行的图形化开发。随着Windows3.0的发布,大获成功,微软也最终与OS/2分道扬镳。 再后面的事(可参考《早判了,VB已死,但我说话了么? 》中VB的历史),几乎人尽皆知。

八、BASIC给人的启示

与BASIC一脉相承的VB,吸收了计算机发展史上,数种优秀开发语言的优点,最终落脚于服务普通大众。因为心胸开阔的Kemeny和Kurtz深知,人才是计算机的灵魂和归宿,普通大众才能赋予计算机无限可能。BASIC的历史脉络,也告诉后继的使用者,简单里有深厚的哲学,抓住得住时机,才有自己的时代。

不必苛责VB什么,找到合适的位置,这是BASIC立足于教育,带给我们的启示。诚如Kemeny所说,关键要看用户能否意识到哪些是计算机可以做的,哪些是计算机不能做的。但很肯定,它能给企业和大部分私人生活带来影响。


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com