软件最杰出的十个成功(6-8)

原创 2001年04月14日 16:03:00

[译者序]我们都在探索软件的未来,让我们回过头来看看过去的十年里发生了什么;我们又记住了什么;我们又将看到什么?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

因译者水平有限,如有不当之处,并非歪曲作者本意,请参阅作者原文。

 

Windows平台

多年以来它变成了一个多块的组合,需要的不仅仅是一些补丁,并使很多程序员和IT管理员因其复杂和封闭的结构而疯狂。但毫无疑问,微软也让用所有PC单一的桌面的程序员的生活更简单。

通过Win32 API,动态链接库和组件对象模型(COM),微软给了开发者一个很大的平台去建造他们的应用或他们都能用的接口。所有技术集合起来允许开发者为这个平台而创作,这就是微软在第一的位置上设法要做到的,”Frank Dzubek, 在华盛顿的通信网络建筑师协会会长说。可供选择的办法就是要么在DOS世界中的单任务,这是我们都记得的,或为了不同风味的Unix把应用程序写几次。

甚至Sun公司将给这个魔鬼它应得的权力。微软, 或者故意或者偶然,一定设法在使许多人非常成功的20世纪90年代的软件建造一个基础。对此勿用置疑。”Phipps说。

快速应用程序开发(RAD)

如果你是在20世纪80年代编程,你记得这个过程:把代码写到一个初步的编辑程序(例如EMACS),运行一个命令行编译程序(例如GCC),然后等待喝一杯咖啡时间。图形用户界面( GUIs) 只属于Macintosh,就如图形的程序设计一样。MacintoshHC(Hypercard)程序使应用程序建立非常容易,而且甚至对编程或编程语言一无所知的终端用户也能建立那样的应用程序,虽然简单, 却提供了一定量需要的功能性。

Visual Basic给开发Windows应用程序带来相同的易用性。早期的Windows应用程序开发简直困难到了可笑的极点。你必须一切从头开始,包括接口,而且这个过程是昂贵的,费时的,Bug潜伏的,而且这只是对精英程序员而言。你必须提供应用程序的最基本的基础结构和机能关系。Visual Basic通过让你专心于特定的应用程序功能,并非它的内部关联而改变了这一切。VB给你那些你能从工具条到窗体来拖动并删除的现成的零部件(控制)来提供应用程序的UI。更重要的是,所有的这些零部件把那些基础的窗口消息钩建造在里面。那样的话,它们从开发者中抽象了Windows内核和OS操作,因此他或者她只需集中精力于应用程序逻辑。

VB的集成开发环境是图形化的非常易于使用,而且VB也引入了快速应用程序开发的概念,但你牺牲了一定的性能来让这些成就流畅化,并安排它所需要的时间来创建应用程序。像用HC一样,你用VB建立的最初的应用程序是简单的。但是,开发者和商家从开始就意识到VB的价值,并且提高这个工具的性能是如此困难以至于VB的特色只保持了几年的指数般的增长。VB怎样广泛地进入商业应用程序市场呢?现在商业应用程序中VB代码的行数已多于Cobol代码的行数。

VBRAD能力的最重要的方面: 开发者能从第三方购买控制并且把他们增加到VB的工具条中用于他们的应用。它们将极力夸张这种能力是多么重要。对于一些低成本开发和测试的组件,它使开发者可能购买功能并且用在他们的应用程序中。在许多情况下,你能够购买功能但VB本身并不提供这种能力。

微软把许多VBRAD特性迅速结合到其它编程工具中,包括Visual C++,它也能让你插入第三方控制。微软的竞争者也把RAD特性集成到他们的开发工具中。例如,Borland(Inprise)Delphi开发工具比VB晚问世两年,但已经常在实现新的特性时在速度上超过VB。今天在开发和实现一组预定功能的时间总量是你决定使用哪一个开发工具的重要考虑。

RAD密不可分,集成开发环境提供了一种易接近的方法来控制开发项目的所有方面(甚至是多个项目)。它们也是可伸缩的,允许诸如集成Bug跟踪和报告,调试器和代码生成器等作为附加工具,而不论它们来自编译器厂商或第三方厂商。

IDE惟一的最占优势的因素是能够有立即打开的多重的窗口,”Coplien说。当每件事依次地被完成时,开发者能同时看见每件事而取代了过去的批处理。“当开发者做大型设计时,他们可立即观察若干种观点。然后把他们能十分精细地看不同的模块或者配置管理,并同时看代码和测试脚本”。

VB不仅是Windows应用程序快速开发的先锋,也是集成开发环境开发的流行创始人。RAD对开发者掩盖了像铅锤测量这样的细节,IDE则优化了开发过程让程序员专注开发,而不是做琐碎的家务(SDK风格)。自从诸如永远可见的包含窗体控制的工具箱和工程文件管理器变得普遍后这样简单的改革以来,开发者生产率从未变得如此高。

第三方组件和工具

这极少的10个杰出成就不是孤立的。当许多都相互依赖时,没有比今天健壮的第三方组件和工具市场更加需要相互依赖的。作为RAD开发工具,Visual Basic占据了重大的市场份额,作为平台,Windows有绝对优势,而且作为被广泛采纳的促进了基于组件的开发OOP,在过去的十年里,对框架组件来说,这些是完美的。

今天,程序员能从接口小部件(例如,一个适用于VB的较好的栅格控制)专门研究,或高性能组件(如图像显示和操纵或Bar-Code翻译)中选择。每一个都由一个销售商的巨大阵列提供,或大或小。今天的工具市场反映了今天的开发状态: 需要更多高稳定性和高可靠性的工具就象Internet, WebXML工程支持等快速增长的片段。

但是组件仅仅是一幅画的一半。十年来,传统(PC)的开发者已有一套健壮的工具在过程的所有的步骤中推动开发。因为RAD鼓励迅速原型,它如此鼓励这些原型成为产品应用程序的基础,而不用关注要点设计回顾。同时,适用于RAD建造应用程序的调试和测试工具仍然处于胚胎期。今天,一些适用于设计过程所有步骤的强大工具将RAD渗透到了企业应用中,而且使VB应用程序和老学校的COBOL应用程序一样能生存于商业,或关键任务代码中。

解决问题的一把钥匙,远瞻生存周期工具:源代码管理。代码管理应在计算机工业中得到与奥斯卡最佳配角相等同的地位。就像没有源代码管理而试图写写最根本的软件。商业化的和开放源码的产品已使生活容易了许多,并且已协助完成了许多主要项目。那些没有源码管理工具的项目不能发布, Coplien说。

“代码管理是过去10年期间软件的幕后英雄之一,”说Phipps“CVS是奇迹之一孩子们。它不是非常富有魔力的,但今天拥有一个伟大的源代码管理系统造就了开放源代码世界的工作”。[待续]

软件最杰出的十个成功(1-3)

[译者序] 我们都在探索软件的未来,让我们回过头来看看过去的十年里发生了什么;我们又记住了什么;我们又将看到什么?因译者水平有限,如有不当之处,并非歪曲作者本意,请参阅作者原文。从Java到密码系统,...
  • MildSeven
  • MildSeven
  • 2001年03月31日 17:22
  • 888

软件最杰出的十个成功(9,10)

[译者序]我们都在探索软件的未来,让我们回过头来看看过去的十年里发生了什么;我们又记住了什么;我们又将看到什么?因译者水平有限,如有不当之处,并非歪曲作者本意,请参阅作者原文。 密码系统因为所有有关网...
  • MildSeven
  • MildSeven
  • 2001年04月14日 17:03
  • 768

软件最杰出的十个成功(4,5)

[译者序] 我们都在探索软件的未来,让我们回过头来看看过去的十年里发生了什么;我们又记住了什么;我们又将看到什么?因译者水平有限,如有不当之处,并非歪曲作者本意,请参阅作者原文。从Java到密码系统,...
  • MildSeven
  • MildSeven
  • 2001年04月01日 17:09
  • 1484

10个大数据领域的杰出公司

本文筛选了近几年在大数据领域具有独特建树的10家企业,涵盖云计算、数据可视化、数据分析应用、商业智能等不同范畴。在大数据领域虽然国外的优秀企业占众多数,但是国内也有不少企业在国数据应用市场创造了不可磨...
  • yuanziok
  • yuanziok
  • 2016年12月05日 11:06
  • 959

循环·4·小于m的最大的10个素数

以素数为核心
  • qq_40691356
  • qq_40691356
  • 2017年10月30日 21:39
  • 416

10个有关Java异常的最常见问题

关于Java异常的10个最常见的疑问
  • tracker_w
  • tracker_w
  • 2014年03月24日 15:09
  • 1045

软件史上最严重的十个Bug

 原文地址:http://www.cxybase.com/daypic/bug-117.html 2005年10月在通报其汽车预警灯毫无理由的点亮和汽油发动机出现不可预 见的延迟之后,丰田制造商宣布召...
  • zclmoon
  • zclmoon
  • 2010年08月18日 10:04
  • 699

如何成为一个杰出的程序员?(转自知乎)

我不能算是一个很优秀的程序员,但这个问题我已经反复思考了五年了。跟大家分享一下我的看法: 首先, 我认为答案绝对不是 "只要写很多年代码就好了“。我面试过不少有10年经验,代码却写的很糟糕的程序...
  • u014304232
  • u014304232
  • 2014年03月29日 23:28
  • 416

杰出经理行为测试

1, 创造一个让员工员工有成就感的工作环境         2, 会问问题,真正倾听,并努力理解           3, 友好,易亲近,有亲和力          4, 召开定...
  • feng0112
  • feng0112
  • 2011年11月09日 18:52
  • 310

成功的十个好习惯

一、不轻言退缩   二、不停学习,不断修正。  三、坐言起行,立即动手,从小事做起。     为什么看到机会却没有抓住,是因为我们在犹豫:用什么方法更好啊,是不是还有更好的机会啊,或者这是不是机会啊。...
  • kenwyn
  • kenwyn
  • 2007年04月29日 16:38
  • 334
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件最杰出的十个成功(6-8)
举报原因:
原因补充:

(最多只允许输入30个字)