[译者序] 我们都在探索软件的未来,让我们回过头来看看过去的十年里发生了什么;我们又记住了什么;我们又将看到什么?因译者水平有限,如有不当之处,并非歪曲作者本意,请参阅作者原文。
从Java到密码系统,这些技术照耀着过去的十年。
The Internet
别把它搞错,在这个列表中的很多项(开放源码, Java, Linux, Web)从不能没有的Internet的商业的来临而出现。如果因特网仍然是大学生和研究人员的肮脏的小秘密,这张表将是不同的。它将主要是单个的供应商的专利技术。就算许多人就作为通讯媒介使用它, 用电子邮件和即时消息发送,Internet在不顾地理位置联络程序员中扮演了一个重要的角色。
除了作为一个通讯的工具,Internet也最终证明了客户/服务器计算模式的价值。“Web确实给予了客户/服务器所承诺的,它是分布式的,组件化的应用。”Zetie说, “客户端不必很大,很胖,不必是一个整体的软件集成块。”
Internet也消除了客户端和服务端保持紧密联系的必要,并为网络和远程交互理清了关系。至少,用常规的客户/服务器远程访问,你需要一个定制的客户端,更有可能的是专用的硬件和租用线路。现在你所需要的是一个支持HTML和HTTP的浏览器。“Web的伟大贡献是没有在怎样将被管理之前必须同意一个响应时能有一个联系”Simon Phipps,在Cupertino, Calif的Sun Microsystems的首席软件传道者这样说,“我们不必用相同的计算机或软件来共享数据。”今天的程序员可选择用瘦的,运行在任一浏览器的客户端,或存在于Windows或Unix里的丰富的,胖的客户端。
面向对象程序设计
OOP引进了现实的,一致的,组件化的软件设计方法,而并非程序员写一个基于单一来源而且必须按照它所规定的区添加子程序。如果程序员想在多个应用程序中重用他的代码,他必须保持代码是清洁的,组件化的,并且有好的文档。因此,不但节省了程序员大量的键入,OOP也净化了程序员的编程行为。
“它在软件设计的活动性方面被赋予了更多的知觉,”Jim Coplien, 一个在Murray Hill, N.J.的贝尔实验室软件产品研究部技术机构的著名成员说,“它向程序员表明设计是一项有用且有趣的工作—而不是一件苦差事。”
OOP结合作为通讯媒介的Internet把程序设计带到了一个技术的新台阶。因为它简化了程序员间的沟通,就像共享主意,代码和技巧那样,写出比以前更好的应用程序变得简单了。当然,Internet也对程序员增加了世界性得要求。因为这个增加了的需求和Internet的全球连接,程序员和开发团队的方法也适当地改变了。开发团队能在不同的场所工作—从家庭工作者到工作在不同大陆上的人,从Menlo Park到Moscow,从Bellevue到Bombay。这些开发团队集合了编程的才能而不管他们住在哪儿,而且他们召集他们的成员一起用Internet作为一个合作的,文件共享和通讯的工具。有了特有的OOP设计,应用程序不仅能被迥异的团队开发,甚至能在不同的地方被当主人招待。[待续]