作为开放源码促进会的领袖人物,埃里克·雷蒙德一直在商界努力为老一代的Unix的程序员和越来越多的Linux的拥护者之间搭建一座桥梁。而且他的这一思想与他写的“新黑客字典”一书的内容不谋而合,该书1991年出版,主要谈到了因特网和黑客文化,至今仍具有浓厚的传奇色彩。
最近埃里克·雷蒙德推出了他的一本新书“Unix编程的艺术”,书中涉及了编程文化的精华和使用Unix的一些思维过程。在近期为其新书做促销的间隙,埃里克·雷蒙德接受了因特网新闻(internetnews.com)的采访,就许多科技话题提出了他的看法。
问:过去十年里,程序员在上学期间接受的初步训练都是Windows,目前是不是同样的状况?或者学生们都在接受Linux的培训?
这两种情况都存在。现在是个人计算机的世界,这是再明白不过的事实。在今天的孩子们看来,所谓的微型机和大型计算机都似乎没有存在过。
问:你认为还有什么更加重要的发展趋向?
64位计算机的出现产生的影响出乎我几年前的预料,而主要的原因是对地址空间的需求超出了我原来的估计。
问:可扩展标记语言(XML)目前在程序开发者中间都非常流行,人们对XML的作用会不会存在一些误解?
据我所知,有些人认为XML具有一种神奇的功能,它可以解决数据结构和数据组织问题,这是一个严重的误解。事实上XML不可能有这样的功能,因为它仅仅是一个基本的syntax,只能解决一些低级问题,比如如何连接记录,写出在高层次上设计的结构等。像文档类型、数据库方案,以及在不同的方案和文件类型之间传送数据等一系列问题都是XML自身所无法解决的。现实的世界多源的,一直是这样,将来也会是这样。
问:我们谈一下XML的安全性能好吗?
我认识XML数字认证组织的负责人。他很快将发布一个标准,我们也将会拥有一种标准的、保证XML数据安全性的体系。因此我想在不远的将来数据安全性将有很大的进展。
问:你对SOAP-即以XML为基础的简单对象访问协议有何看法?
事实上我认为SOAP的作用并没有宣传的那么好,就如同C++和C之间的关系一样。你也知道C++的功能要强大一些,但同样它使得程序更为复杂了,因此它的效益并不好。我想SOAP跟XML-RPC(远端程序呼叫)之间也是同样的关系。
通常有一种现象叫作第二系统综合症,也就是说你第一次设计的系统可以完成80%的工作任务,这个系统是相当简洁的,但是为了完成另外20%的工作你往往就会重新设计第二个系统,而这个系统本身将会是无比的复杂,以至于自身常常都会崩溃。
SOAP就是一个糟糕的第二套系统。我认为SOAP并不可靠,因为它自身过于复杂。人们只能有两种选择,要么决定XML RPC已经完全足够了,要么搞出一个第三套系统来。
问:谈谈你对Java的看法?
我对Java并没有更深的研究。大多程序员都使用Java,我却使用Python,这两种语言在功能上没有太大的区别,因此我也没有放弃Python而选择Java。
问:谈到scripting语言,不可避免还要涉及Python、Perl和PHP,你对此有何看法?
我认为这些新一代的scripting语言非常容易上手,是功能强大的工具。它们并不能解决所有的问题,但是他给你提供了一个寻找快速解决方案的途径。这是难能可贵的,因为与传统的编程语言之间的冲突是相当严重的,你也无法尝试所有的方案。
问:过去,Scripting语言一直排在分类语言的后面,因为Scripting语言占据了大量的计算资源,现在是不是还是这种情况?
开发工具的整个发展史也就是机器时间相对程序员的时间越来越变得廉价的历史,换句话说,程序员的时间变得越来越昂贵,因此使低端的资源存储和管理实现自动化是非常有意义的。程序员可以集中精力攻克一些高端的任务,这也可以说是scripting语言的功劳。
问:还有一个相关的问题:廉价计算资源的出现是否会对软件业造成负面的影响?
我认为廉价计算资源的出现并不会对软件工程造成负面的影响。如果说有影响的话,只是使简洁的软件设计更加必要,因为写出大量代码是相当容易的。
从3万英尺的高度看各种语言在功能上的差距,你会发现Python和Perl之间是相当接近的。你用其中一种语言实现的功能几乎都可以利用另一种语言实现。而仅有的一点的差别就用Python来编写一些模糊的代码相对比较困难。经过六个月的实践我发现Python语言较Perl更容易阅读。我也确信,对于今天我们所进行的大规模的项目来说,保持长期的稳定性可以说是任何一种语言最有说服力的功能。
问:特别是当所有的维护工作都能轻易完成时,对不对?
当然,但我并不是说这就是一个长期的发展趋向,我想人们将会发现为此将付出越来越多的隐藏的成本。
问:以上是不是基于一种文化上的差异,或者因为你希望程序员可以在线相互交流?
兼而有之吧。
(责任编辑:zhaohb)|
· 时代亿信企业级信息安.. · 时代亿信企业级安全电.. · 基于角色的终端安全访.. · Windows年底再现图片漏.. · MBSA本地审核策略建议 · 年终岁末,注意病毒给.. |
· “熊猫烧香”病毒制造.. · 中国黑客超强X档案 第2.. · 中国黑客超强X档案 第2.. · 服务器被挂马,束手无.. · 被DDOS攻击 · 推荐一款好用的共享文.. |
|
|||
| · 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
· 华为路由器产品 · 路由器模拟器 · AIX操作系统管理应用(.. · 思科路由器配置 · 路由器组网解决方案 · 路由器密码恢复 · 无线路由器故障处理 · 路由故障处理手册 |
||
|
|||
| · Java基础教程 · VPN技术 · SQL Server 2005全解 · ARP攻击防范与解决方案 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · 三层交换技术专题 |
· SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 · Windows操作系统安装 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 · Windows操作系统安装 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·网名接龙--之大话黄琨 ^o^ ·ARP欺骗引发的“冤案”—.. |
·ARP欺骗的原理、步骤和危.. ·利用负载均衡技术针对Web.. |
| ·VMware Workstation 6.01.. ·Windows Server 2008 RC0.. |
·ISA Server 2006的全自动.. ·ISA Server、虚拟机、托.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· IT基础教程 · 平凡黑客讲述精彩人生(.. · 平凡黑客讲述精彩人生(.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· AMD三核心处理器解析 痛.. · 服务器基础知识入门 · Rambus第二?看全缓冲内.. |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |