热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Delphi架构师DannyThorpe访谈录

作者:BrendonChase丹尼-索普(DannyThorpe)是Borland公司的首席科学家,此前他也是Delphi开
作者: 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编译器之外的时间,你做些什么?



索普:我是一个狂热的滑雪爱好者。有两次我差点摔断脖子。现在我和一个朋友在自己制作滑雪板,不过遇到了点小小的技术问题,我们会找出问题并解决它。


推荐阅读
  • 本文探讨了如何在C#中实现USB条形码扫描仪的数据读取,并自动过滤掉键盘输入,即使不知道设备的供应商ID(VID)和产品ID(PID)。通过详细的技术指导和代码示例,展示了如何高效地处理条形码数据,确保系统能够准确识别并忽略来自键盘的干扰信号。该方法适用于多种USB条形码扫描仪,无需额外配置设备信息。 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • 在Spring与Ibatis集成的环境中,通过Spring AOP配置事务管理至服务层。当在一个服务方法中引入自定义多线程时,发现事务管理功能失效。若不使用多线程,事务管理则能正常工作。本文深入分析了这一现象背后的潜在风险,并探讨了可能的解决方案,以确保事务一致性和线程安全。 ... [详细]
  • Python数据分析入门指南:全面了解Python在数据科学中的应用 ... [详细]
  • 从用户转型为开发者:一场思维升级的旅程 | 专访 StarRocks Committer 周威
    从用户转变为开发者,不仅是一次角色的转换,更是一场深刻的思维升级之旅。本次专访中,StarRocks Committer 周威分享了他如何在这一过程中逐步提升技术能力与思维方式,为开源社区贡献自己的力量。 ... [详细]
  • 利用PaddleSharp模块在C#中实现图像文字识别功能测试
    PaddleSharp 是 PaddleInferenceCAPI 的 C# 封装库,适用于 Windows (x64)、NVIDIA GPU 和 Linux (Ubuntu 20.04) 等平台。本文详细介绍了如何使用 PaddleSharp 在 C# 环境中实现图像文字识别功能,并进行了全面的功能测试,验证了其在多种硬件配置下的稳定性和准确性。 ... [详细]
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • 深入RTOS实践,面对原子操作提问竟感困惑
    在实时操作系统(RTOS)的实践中,尽管已经积累了丰富的经验,但在面对原子操作的具体问题时,仍感到困惑。本文将深入探讨RTOS中的原子操作机制,分析其在多任务环境下的重要性和实现方式,并结合实际案例解析常见的问题及解决方案,帮助读者更好地理解和应用这一关键技术。 ... [详细]
  • 本文深入探讨了 C# 中 `SqlCommand` 和 `SqlDataAdapter` 的核心差异及其应用场景。`SqlCommand` 主要用于执行单一的 SQL 命令,并通过 `DataReader` 获取结果,具有较高的执行效率,但灵活性较低。相比之下,`SqlDataAdapter` 则适用于复杂的数据操作,通过 `DataSet` 提供了更多的数据处理功能,如数据填充、更新和批量操作,更适合需要频繁数据交互的场景。 ... [详细]
  • Kali Linux 渗透测试实战指南:第24章 客户端安全威胁分析与防御策略
    客户端安全威胁分析与防御策略主要探讨了终端设备(如计算机、平板电脑和移动设备)在使用互联网时可能面临的各种安全威胁。本章详细介绍了这些设备如何作为信息和服务的提供者或接收者,以及它们在与服务器等其他系统交互过程中可能遇到的安全风险,并提出了有效的防御措施。 ... [详细]
  • 教程:使用Source Monitor进行代码质量分析
    Source Monitor 是一款强大的代码分析工具,能够对 Java、C++、C、C# 和 Delphi 等多种编程语言进行复杂度分析,帮助开发者有效评估和提升代码质量。通过详细的指标和报告,该工具可辅助团队识别潜在问题并优化代码结构。 ... [详细]
  • 程序连接MySQL数据库的多种方法详解 ... [详细]
  • 软件开发史上最具影响力的十位编程大师(附图解)
    在软件开发领域,有十位编程大师对行业发展产生了深远影响。本文基于国外知名社区的一项评选,通过图文并茂的形式,详细介绍了这十位杰出人物,包括游戏开发先驱John Carmack等,为读者呈现了他们卓越的技术贡献与创新精神。 ... [详细]
  • Ubuntu系统(一)安装篇
    Ubuntu系统介绍及安装从网上下载Ubuntu的iso镜像文件。刻录到光盘。安装步骤1、将Ubuntu光盘插入光驱,设置光驱启动2、启动界面1、选择English& ... [详细]
  • 在Unity中进行3D建模的全面指南,详细介绍了市场上三种主要的3D建模工具:Blender 3D、Maya和3ds Max。每种工具的特点、优势及其在Unity开发中的应用将被深入探讨,帮助开发者选择最适合自己的建模软件。 ... [详细]
author-avatar
deniz2502915157
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有