[译者序] 我们都在探索软件的未来,让我们回过头来看看过去的十年里发生了什么;我们又记住了什么;我们又将看到什么?因译者水平有限,如有不当之处,并非歪曲作者本意,请参阅作者原文。
从Java到密码系统,这些技术照耀着过去的十年。
在过去的十年里,计算经历了16,32到64位的变迁,源代码更是从几千增长到了几百万行,到底什么技术在开发者工作领域产生了最深远的影响呢?你可能试图急促地背诵多数人使用的工具,比如Java, Linux, Visual Basic, 或C++。但是在工具以外,开发者所感受到的是新思想的影响,或者最后仍在工作的老思想。
新思想推动技术前进,这改变了我们编写程序的方法。我们大家都知道以技术坚持趋势是重要的—Fortran程序员有多少工作机会?—但对真正的革新来说,你需要一种新的思想。
这是我们在90年代为程序员编辑的最顶端的10个显著的变化和发展的列表的主题。在70和80年代,周围的技术,诸如Unix和C++,当人们发现适当地使用他们的方法时,它们最终起飞了。你可能选择不同的10个,让我们听听你的意见。没有特殊的顺序,这就是它们。
开放源码
开放源码和免费软件的想法已经存在很长时间了。它们大都来自成立于1985年的自由软件联盟。它们的教义最终流行于90年代,即GNU公共许可,最通用的就是开放源码许可。
尽管开放源码象征大学生的领域或像发对金融商业界类型的自由软件联盟,但上班族的专业程序员们都参与开放源码项目,在它们的余暇时间为某个项目工作。
“在自己社团的层次之外,工作的程序员创造了一个社区,”在Santa Clara的Giga信息组的主任, Carl Zetie说,“他们对他们的产品远比对他们的雇主要忠心”。
开放源码编程几乎与Internet上的每一个主要技术相关,这也许是两者都被广泛采纳的解释。“没有开放源码将没有网络,”开放源码拥护者和作者Eric S. Raymond说。这些技术包括阿帕奇网络服务器(它占据了超过一半的Web站点),Linux和FreeBSD操作系统,Perl网络脚本语言,和最初的网络浏览器,NCSA Mosaic。
Java
当Sun公司在1995年推出Java时,他们的口号很响亮:一次编写,到处运行。当现实证明了比口号所建议的更多的复杂性时,他们没有拒绝Java成为世界范围的开发前景的主要部分。因为Java的平台独立性,支持者最初相信它将能在Windows, Macintosh, 和Unix无关的平台开发客户端应用。例如,1996年,Corel宣布它将开发其全Java版本的WordPerfect Office套件。有些许诺的平台独立性从未被真正实现,但Java却被一个真正需要平台独立性的地方—互联网所拥抱。
Java有两个原因适合Internet,依照Popular Power的首席技术官Nelson Minar,一个在旧金山Calif的分布式计算软件开发者的说法, “第一,Java库非常擅长处理网络操作;第二,Java程序的网络发布很简单。”他说,“小程序砂箱和网络类加载器能在Internet上传送程序。我们只刚刚看到了这种能力的开始。”
Linux
在1991年Linux 0.1内核在Internet发布时,没有人,包括它的作者Linus Torvals,都没有想到它将进入一个行业。从最初时作为一个桌面操作系统开发的Linux,已在廉价的低端服务器方面取得了巨大的成功,稳定性介于Windows NT和Unix之间。但作为客户机,它没有轰动世界,部分原因是缺少开发商支持,部分原因是它没有足够的设备驱动支持来让PC世界里数不清的硬件得到有效的配置。无论是客户机还是服务器,Linux应用都被限制专业技术人员领域,因为它比它的竞争对手更难以安装。但易用性的障碍已逐渐被推掉并为更广泛的应用铺平了道路。
Linux虽然以免费来吸引人,但它的稳定性和能力还是让它在企业应用中占了一席之地。“对Internet经济来说,Linux是作为高可用性,廉价建筑群非常重要的。”Raymond说。
Linux也将Unix带出了大金属舞台并将它带给人人都用的PC。“Linux把Unix带出了迷宫并在成千上万人的桌面安装对我来说是件大事,”Minar说, “Linux扯去了Unix的神秘面纱并鼓励人们去修补它。Internet服务器好像突然少了很多慌乱。”
当然,建立商业应用是困难的,更何况是由一个正在成长的行业,一个免费的操作系统。尽管Linux被自由分发,但代理商能为其增值。比如Red Hat,它提供了多种级别的产品。在低端类,你可以下载这个软件的免费分发版本,但你不能获得支持和产品文档。高端类是有文档和客户支持的零售软件包,或具有防故障,集群和高级支持的企业版本。