作者: Brendon Chase
丹尼-索普(Danny Thorpe)是Borland公司的首席科学家,此前他也是Delphi开发团队的一员。近日Builder杂志采访了他,就.NET、Kylix和Delphi的将来等问题进行了讨论。
Builder AU:你目前在Borland公司担任什么工作? 索普:去年我被公司提升为首席科学家。我目前主要在思索行业和技术的未来发展趋势,然后根据这些前景制定我们公司的未来计划。就我个人兴趣而言,Delphi语言和编译器仍是我的关注重点。我正在探索重新架构Delphi编译器的新途径,我们也许有办法使编译器能支持多线程功能,在这方面我们以前还没有尝试过。
Builder AU:当时微软已推出了C#,那Borland为什么还要开发Delphi.NET?索普:.NET平台优势之一就在于它的灵活性和可以自由选择你所熟悉的开发语言。C#本质上是基于C语言的,Java也是基于C语言的,这样会把你限制在一种思维里。有很多人并不欣赏C语言的风格,还有很多人精通Pascal和Delphi,而懂Delphi和Pascal的开发人员学习Delphi.NET要比掌握其他语言快的多。
关于Visual Basic,值得注意的是VB.NET和VB6之间的关系。VB.NET是专门为.NET平台设计的,但存在很多兼容性问题。其中有些是出于偶然,还有些则是微软故意这样做的。Visual Basic社区为此很不愉快。而我们Delphi社区的力量就源自我们公司成功地使Delphi开发人员不断前进,进入新的领域。
Builder AU:你没有遇到传统的Delphi开发人员转向.NET的过程中遭遇的问题吗?索普:你会听到像“我不能像以前那样用指针”之类的抱怨。但是整的来说,我认为Delphi从Win32到.NET的转变要比从VB6 到VB.NET好上几个数量级。比如说,VB6里你使用的控件很难移植到VB.NET平台上。而对于Delphi来说,你只要花上几个小时,就可以把特定的应用程序移植到.NET平台。
Builder AU:Kylix目前进展如何,为Linux平台研制开发工具有哪些挑战?索普:Kylix推出得早了点,这让它成为牺牲品。以前Linux开发工具市场上有一小撮人叫嚣不需要其它工具软件,这让我很吃惊。他们说:“你们为什么要把Delphi带到Linux世界里?我们不想那样,快离开我们的地盘。我们有Emacs编辑器和C++语言就足够了。”这些言论很让人沮丧。我们在寻找向Linux社区服务的途径,草拟了一些技术文档,探讨需要做些什么才能让三年前发布的Kylix3达到目前的标准。Linux自2002年以来,又有了长足发展,所以Kylix还需要做很多工作。我们可以自己来做,也可以包给别人做,但都需要根据开发人员的反馈来修改完善Kylix。
Builder AU:那么你会选择把代码开源化吗?索普:运行时代码目前已公开了。至于将编译器代码开源化,那几乎是不可能的。随着时间进展,IDE开发环境也许可能在未来开源化。我不是IDE团队的,所以这只是我个人意见。但是编译器内部我们仍在使用很多知识产权。
另一个将Kylix开源化的因素是人们马上会将它和Eclipse相比较。Borland公司有足够资金来建设一个社区以支持Kylix自由软件或开源Kylix吗?这难度很大。也许另外的途径是考虑Eclipse开发思路,和以前一样针对同样的社区,象许多Eclipse成员那样用已有的工具软件开发商业产品。这也有可能。
Builder AU:你和Mono项目之间的关系会更密切吗?索普:那当然。我会时不时和Miguel de Icaza通通电子邮件。他现在在Novell公司,但他对Kylix很感兴趣。毫无疑问,Momo项目正在寻求实力强大的开发工具社区,所以他们对于Borland参加他们的项目很感兴趣。当然微软的阴影无处不在,我们不得不小心从事,以免触怒微软。Borland公司内部有几个人就很谨小慎微,但我不是那种人。我们有Mono平台beta版测试人员,他们在Mono平台下测试Delphi.NET,以确保我们的.NET代码能在Mono上运行。我们的营销会把握好分寸,以免微软关注。
Builder AU:Delphi今年要庆祝诞生十周年,你认为它在未来五到十年里它的前景如何?索普:在未来五到十年里我们要关注开发语言和工具集,它们将急剧简化复杂的编程任务,以至于像C++之类的标准语言和标准程度略低的C#都不可能跟上发展步伐。
我经常思考的一个问题是多核心处理器会对应用程序的开发造成什么影响。目前处理器的频率快要达到极限了,多核心处理器将大行其道。应用程序为充分挖掘计算机的潜力,就必须采用多线程技术。目前多线程技术的问题是它必须由编程人员人工编写。未来的工具软件就要提供简单的模型,能自动实现多线程的代码细节。如果我们能够重新定义一些现有的语言,或者引入一些新的元素到语言里,“使得程序能独立执行”,那么你就不必再为回调或其它事情犯愁了。
此外我们还在研究几何类及进一步分析代码,使开发人员能够有良好的编程习惯。同时还可以提高他们编写代码的效率。这些就是我们研究的所有领域。
我不希望看到Delphi成为一种狭隘的专门限于某一领域的编程语言。它是一种通用语言,我们要不断尝试,尽量挖掘它的潜力。我们在.NET领域拥有独特地位,但是在其它平台上我们也占有一席之地。而C#不能够跨平台,它只能在.NET平台下工作,毕竟能跨越平台的语言只是少数。我们一定还会继续让Delphi语言变的更为多样化。
Builder AU:最近两年里诸如微软和Sun之类的公司越来越热心地公布公司产品及服务的路线图。那么Borland公司是否也会对于开发计划和即将发布的产品更为开诚布公呢?索普:我们以前在公司外遵守保密制度。以前Borland公司无论对什么消息嘴都很紧,产品发布时引得消费者一片惊喜。但IT行业在变化,用户希望了解更多信息和通告。实力雄厚的企业投资了数百万美元,肯定不愿新产品上市时才知道。但是我们要平衡好可公开的信息和不可公开的信息之间的度。Delphi路线图之所以不公开,是因为里面有些信息一旦公布,会对我们在其它方面的谈判造成影响。
Builder AU:你认为Delphi将来会公布beta测试版吗?你认为这样做是否会产生出更好的开发工具?索普:我觉得以后有可能公布beta测试版。目前我们还没有这样做,但是内部要求公布测试版的压力正在增大。这只是个政策问题。但我认为公布beta测试版不会提高发现bug的效率,公布beta测试版只是一支霰弹枪——它子弹很多,但击中目标概率很小。查找bug要用系统单元测试方法,一行一行有系统的测试。公测的好处是可以为产品大做广告。公测会过早地引来广告宣传,这对于开发很隐秘的产品来说会给用户带来惊喜。至于公测提供的反馈及有用特性,我们公司内部的私测已有很多这类信息了。公测的主要用处就是广告宣传,别无其它。
Builder AU:收发电子邮件和开发Delphi编译器之外的时间,你做些什么?索普:我是一个狂热的滑雪爱好者。有两次我差点摔断脖子。现在我和一个朋友在自己制作滑雪板,不过遇到了点小小的技术问题,我们会找出问题并解决它。