BASIC将在我国重新兴起 秦笃烈 教授 1994-04-15 Basic巨星陨落,但Basic还活着。 1992年12月26日,Basic的主要创始人凯梅尼(kemeny)因患心脏病逝世,第二天,纽约时报刊载长篇讣告和照片,哀悼这位计算机先驱、BASIC创始人、优秀数学家及教育家。1956年,凯梅尼和卡茨(Kurtz)为了便于大学生学习计算机,在分时系统中创造了BASIC。56年夏季,在Dartmouth召开人工智能会议,会期三个月。在此期间,凯梅尼和Lisp程序设计奠基人麦卡锡(Macarthy)讨论了Basic语言的构想。 以后,BASIC风靡全球,由于凯梅尼和卡茨等人的努力,1987年BASIC成为美国国家标准化语言之一(American National Standard for the Programming Language Full BASIC, X3.1B-1987,ANSI),而它的结构化版本True Basic是它的子集。凯梅尼认为,非结构化版本Basic违背了他们的本意,他们把非结构化版本Basic称为“大路货Basic”。结构化BASIC吸取了C语言和ModulaⅡ(Pascal语言发明人沃思(Wirth)搞的改进版本)的优点。凯梅尼和卡茨反复强调,使用计算机的用户中等专业人员仅占极少一部分。 计算机硬件和软件飞速发展是人所共知的,但是有两个传统始终没有变,一是每一台IBM PC机都装有某个版本的MS-DOS,二是均装有BASIC程序设计语言。BASIC始终活在计算机用户心中。 BASIC曾在我国盛极一时,现在“冷”了吗? 在计算机引入我国的相当长时间内,几乎很少搞程序设计的人未学过BASIC。BASIC几乎成为计算机软件的代名词,谭浩强教授编写的BASIC教材发行量创造了科技书籍发行量的世界记录。由于数据库、统计、电子表格、图形、文字处理、CAD等高质量功能化的应用系统以及其它计算机语言的发展,用BASIC编程的需求大为减少,用BASIC编程的机会也相应的减少。于是出现了“BASIC是小学生语言”、“BASIC过时”、“广泛介绍BASIC是一种历史性错误”等议论。这些议论的动机和根据是多方面的,不能一言以蔽之正确和错误。不过,其中不少人由于看到某些语言或软件的长处,而对BASIC产生了片面的评价。另一些则对BASIC的发展情况和现状缺乏具体的认识。对计算机的硬件和软件都要用动态的发展眼光去看待。没有一成不变的东西,不断翻新和多元化是总的趋势。DEC公司六十和七十年代以小型机PDP系列闻名于世,八十年代以超级小型机VAX系列独领风骚,九十年代又推出Alpha机再展雄风。PDP早已进入历史博物馆,VAX也早已停产,但DEC公司由于继续适应市场需求而得到盈利和发展。C语言也有各种牌号和版本。BASIC也是如此,Ture BASIC、Turbo BASIC、Quick BASIC、Basic Compiler、PDS、ProBas(包含900多个外部函数!)、Ruby、Visual Basic、GFA BASIC、Power BASIC、Image BASIC以及BASIC CA-Realiger等等。许多热衷于BASIC教学和应用开发的用户由于各种原因对BASIC的迅速发展了解不够,在众多议论面前也产生了犹豫和徘徊。即便如此,在学习和使用的人数方面,BASIC仍然居于其它程序设计语言之前死。 微软的观点:BASIC是PC机的根 出于对计算机科学的深遽洞察,许多优秀的计算机科学家献身于BASIC的发展。BASIC究竟有没有生命力,取决于它解决不断涌现的新问题的能力。 保罗·G·阿伦(Paul G.Allen)(微软创始人之一)说:“在1975年,比尔·盖茨(Bill Gates)和我为微处理器写第一个BASIC。那时,除了使用汇编语言代码以外,BASIC是写应用程序的唯一工具。BASIC对计算机产业产生了强有力的影响,因为它将PC程序设计工具交给范围极广泛的PC用户手中。所以,那时BASIC成当时为渴望使用微机的用户的及时雨。 按照BASIC美国国家标准,微软公司推出Quick BASIC及供专业程序设计人员使用的PDS。数量惊人的科学计算、工程、统计、图形等BASIC软件已推向市场。其中,Crescent软件公司以其总裁维纳(Winer)为首推出一批质量较高的具有通用性的Quick BASIC软件包,如Quick Professional等。你要做电子表格吗?你要做数据库吗?你要在程序中调用字处理程序吗?你要自己设计字段个数不定、字段长度可变的数据库吗?你要制作多种二维和三维统计图吗?只要调一个BASIC子程序就可以了。该公司甚至推出运行速度超过C语言和Pascal语言的BASIC工具。由于这种杰出贡献,在93年BASIC最高级技术会议(VBITS 93)上,由微软公司授予维纳以“BASIC英雄”的称号。 九十年代,随着Windows平台的出台,程序设计的挑战性任务是多任务、图形用户界面、多媒体、客户/服务器、网络和通讯等。虽然人们自然想到功能强大的C语言。但是实践证明,用C语言完成以上任务是太繁重了。这时,BASIC又一马当先,当仁不让,勇于挑重担。库珀(Cooper)说:“1987年我写了一个名叫“Ruby”的程序,它使中等水平用户能够完成可视程序设计任务。当我把原型向比尔·盖茨演示以后,他说‘这一工作将现状推进了一步'。那时我对究竟能走多远知之甚少。两年多以后,当这一项目取得进展时,Ruby和Quick Basic结婚了,其结果是Visual Basic(可视BASIC)的诞生__这是第一个地道的Windows程序设计环境。你们第一次能从Windows内部写Windows程序,而摆脱了用C语言所需要的极大的代码数量。对于具有实际应用开发需求的实际客户,它们是实实在在的程序。”霍华德(Howard)等许多人认为用VB建造用户界面原型等工作比C或C++更快。 1991年,微软公司正式推出Visual Basic1.0,立即引起轰动。微软大学三天培训费为900美元,免费的录音咨询电话每周七天昼夜开放,由专家回答问题的热线电话咨询费用为每分钟2美元。1993年VB已推出3.0,其专业版本增加十五大项新功能,已能完成SDK绝大部分功能,包括支持Microsoft SQL Server、SYBASE SQL Server以及Oracle ODBC驱动程序,包含Microsoft Access V1.1数据库引擎以及支持OLE2.0等新内容。 Visual Basic推出以后,由于其编程风格与Quick Basic极为相似,许多专业软件公司竞相推出基于VB的软件包。Sheridan软件系统公司推出基于VB的Windows应用开发工具VBASSIST 3.0。他们的比喻是,用C语言和SDK开发Windows应用如同乌龟爬行,利用VB设计则如同乌龟穿上溜冰鞋,而利用VB Assist则如同乌龟乘上了火箭。Borland公司推出拓宽C/C++和VB应用开发能力的Visual Solutions。FarPoint技术公司推出Spread/VBX、Spread/VBX++以及Grid/VBX等,使VB用户读写数据等工作更为容易。Q+E软件公司推出的MultiLink/VB2使VB3.0用户客户/服务器开发更为容易。Visual Tools公司推出的Formula One/VB是第一个唯一实用的VB或Visual C++应用程序可调用的电子表格。该公司推出的Image stream/VB则为输入和输出增加了工业标准图形过滤程序。 Visual Voice公司推出的Visual Voice客户控制元将应用程序和数据库与任何按键式电话相连接。美国VB开发热潮、软件产品及书籍畅销的故事可以说美不胜收。 最近比尔·盖茨访华,在对Basic现状和发展的提问所作回答时曾称“Visual Basic是能迎接计算机程序设计挑战的最佳例子”。此言非虚。 BASIC与中国计算机用户 BASIC在我国究竟应放在哪种地位。会不会热?会热得多高?这些问题的回答只有通过对BASIC及其进展的彻底研究以及对BASIC适应计算机发展需求的应变能力正确估计以后才能得出。本人的粗浅意见是,这件工作要由许多专家和广大用户的研究及实践来完成。如果大学对Windows平台的必然趋势有了共识,那么BASIC仍然作为一种教学和开发的重要工具将是比较自然的结论。由于BASIC的复杂性和应用开发的多元性,它已不是一种简单的语言,甚至可以称为BASIC学。如果说,它会继续在中国“热”起来,其表现形式和内涵显然也会和过去有所不同。作为总的原则,既然计算机硬件也好,软件也好都是用户的工具,所以只要能解决用户的问题就可用,生硬地推广或生硬地贬低都不是好办法。我认为,不理解BASIC的发展的价值可以说是对软件认识的老化和落伍。 凯梅尼和卡茨曾提出“Back to Basic”的口号。我愿在此预言:BASIC将在我国重新兴起!