最后,关于Smalltalk的热议 - 彭博社
bloomberg
在1970年,当美国公司努力理解巨型主机时,刚获得博士学位的艾伦·凯(Alan C. Kay)开始着手构建连儿童都能编程的计算机。在施乐公司的开创性帕洛阿尔托研究中心(PARC),他开始制定一种新的编程语言。这种语言要足够简单,以便年轻的头脑能够理解,同时又要强大到足以帮助凯和他的满怀理想的研究团队构建前所未见的系统。他称之为Smalltalk。
多年来,Smalltalk一直处于阴影中,成为计算机科学家和一些敢于尝试的客户的专属,包括中央情报局。他们理解它所体现的深刻突破——一种称为面向对象编程的概念,通过这种概念,程序可以重用预制的代码块。但Smalltalk并没有打入企业市场,因为它与其他方法截然不同。而且它也很独特。多年来,它需要一种只有施乐公司出售的特殊计算机。
然而,突然之间,Smalltalk开始大放异彩。它现在可以在普通的桌面计算机上运行,从花旗集团到德州仪器公司等大型企业都在使用它来打破传统软件对其业务的限制。大多数商业应用程序——例如运行应付账款系统——都是用如COBOL这样的语言编写的,这些语言要求每个微小功能都需要一行单独的代码。完成一个大型应用程序可能需要数年时间。到那时,即使软件按计划工作,它也可能不再是公司竞争所需的东西。更糟糕的是,可能很难,甚至不可能进行修改。
当你考虑到软件不仅是办公室中的一个重要工具,而且在创建产品和服务中也是必不可少的工具时,这个问题就显得格外严重。“剑齿虎距离许多美国企业的面孔只有六英寸,”现在是苹果电脑公司研究员的凯说。“他们绝望了,愿意尝试他们以前不会考虑的事情。”
Smalltalk来拯救。通过使大型程序能够由经过测试的软件对象构建,它可以在程序员的生产力和软件质量上提供十倍的飞跃。程序完成得更快,工作得更好,并且能够承受反复和激烈的变化。
名词和动词。也许更重要的是,Smalltalk程序使用非技术人员可以理解的术语。大多数编程语言使用“子程序”和“循环”等术语——这些术语与实际的商业世界没有关系——而在Smalltalk中创建的对象可以捕捉现实世界中事物的属性和行为。一个对象可以是运输计划、发票或仓库货架。“Smalltalk让你使用自己的名词和动词,”Smalltalk软件供应商Object Technology International Inc.的总裁兼首席执行官戴夫·托马斯说。
而且因为这些对象可以模拟其现实世界对应物的功能,它们可以根据需要进行交互——而不需要程序员规划每一步。当运输对象调用库存项目时,货架对象将“知道”其内容。货架或任何对象的行为也可以在任何时候被修改,通常由非程序员进行。
尽管Smalltalk的销售仍然微不足道——每年约3000万美元,但正在翻倍——成功开始不断积累。1991年,美国航空公司希望建立一个新系统,以帮助跟踪和调度2600个每日互联航班的机组人员、餐食和其他资源。美国航空的Sabre系统计算机部门的项目经理Dennis Styles表示,这是“航空公司的神经中枢”。在旧系统中,达拉斯的每个调度员都需要扫描来自各种大型机数据库的数据,以管理每日航班的进出。这是一个复杂的数据网络,必须不断调整以适应变化,例如延误。
在新系统中,每个航班都可以在屏幕上以图形方式表示。通过鼠标点击,调度员可以调出所有相关数据,这些数据由“飞机”等对象表示。当发生变化时——比如航班必须重新规划以避开恶劣天气——信息会自动传递给其他对象(例如那些代表连接航班及其机组分配的对象)。一个由三名程序员组成的团队在八个月内用Smalltalk编写了该系统,仅发现两个错误——“这是一个了不起的周转时间,”Styles说。
巨大的需求。Smalltalk的一些最大粉丝在华尔街,那里几乎每天都会创造新的金融“产品”。第一波士顿公司表示,现在全新的金融工具的计算机模型可以在几天内完成,而不是几个月。摩根士丹利公司正在用Smalltalk重写一个全球交易系统,以获得额外的灵活性,而摩根大通公司则利用它快速建模定制的掉期、期权和其他“衍生品”。在华尔街,Smalltalk专家的需求如此之高,以至于他们中最优秀的可以获得高达2000美元的报酬。
一天。
小型谈话并不是免费的午餐,支持者们很快就会警告。这是因为它要求在观点上进行根本性的转变。程序员必须“忘记”关于他们任务的传统思维。正如摩根大通副总裁洛雷特·卡梅伦所说,“传统软件就像一个中央计划经济,由一个主规划者控制一切。对象是自主的,你会得到相当于看不见的手来做出决策。”
小型谈话的优势从一开始就在施乐公司显而易见。这种语言的发展导致了现在熟悉的图形用户界面,由图形对象组成:重叠的程序窗口、图标、弹出和下拉菜单,以及可以用鼠标点击的按钮。1979年,史蒂夫·乔布斯在访问帕洛阿尔托研究中心时看到了小型谈话,并获得了后来成为苹果麦金塔的想法。
如今,小型谈话语言有几种版本可供选择。适用于IBM兼容PC和太阳微系统公司的机器的包价格从500美元到3500美元不等。然而,目前能够利用它的程序员相对较少。因为它与其他语言差异很大,并且有成千上万的对象需要学习,所以掌握小型谈话需要更长的时间。为了帮助传播这一信息,小型谈话的两大供应商Digitalk Inc.和从施乐PARC分拆出来的ParcPlace Systems,现在出售预包装对象的套件。然而,随着企业看到小型谈话的好处,越来越多的程序员接受培训,这种语言可能会取代COBOL,成为商业编程的标准,康涅狄格州罗克斯伯里的OrgWare总裁汤姆·洛夫说,他是许多新兴的面向对象技术咨询公司的其中之一。
间谍力量。这可能看起来过于乐观。但Smalltalk和面向对象编程在一般情况下正逐渐获得作为程序员终极工具的声誉。事实上,面向对象编程可能是应对商业编程复杂性的唯一方法——不断变化的个人计算机网络、新类型的信息如全动态视频和声音,以及商业条件的快速变化。摩根大通的卡梅伦说:“使用传统编程,你无法处理同样级别的复杂性。”
中央情报局十年前就意识到了Smalltalk的力量。它雇佣了施乐公司创建了分析师,这是一个基于Smalltalk的计算机,帮助CIA员工浏览大量的地图、数据库、电子表格和文本。由于该系统的可塑性和固有的简单性,分析师们可以根据自己的喜好和不断变化的任务定制系统。“如果你看到不喜欢的东西,你可以自己进入代码并不断修改,直到你觉得合适。它是如此直观,”该机构的Smalltalk专家安吉拉·乔·科波拉说。科波拉指出,她的学位是历史。
如今,Smalltalk最有前景的应用之一是在商业建模中。使用对象来表示商业功能,想要“再造”其操作的管理者可以在计算机的安全环境中尝试新想法。ParcPlace与管理咨询公司Gemini Consulting Inc.合作,制作了一系列通用商业对象。这些对象可以模拟新的办公室程序,例如,随后帮助创建必要的基础软件。
Smalltalk会席卷计算机行业吗?也许,但不会很快。还有那些客户依赖的旧的、不灵活的软件——他们不敢轻易动它们。花旗集团的高级技术专家科林·克鲁克说:“70年代和80年代的悲剧在于我们用我们的系统把一切都浇上了水泥。”如果他们当初听取了艾伦·凯的意见,那修改所有这些系统就会变得轻而易举。