- 浏览: 46866 次
- 性别:
- 来自: 南京
最新评论
Developer spotlight:Danny Thorpe
Brendon Chase
June 20, 2005
URL: http://www.builderau.com.au/architect/sdi/0,39024602,39194366,00.htm
<!-- Story Body BEGIN --> Builder AU: So what are you currently working on at Borland at the moment? Why Delphi.NET when C# is out there at the moment? What is interesting about Visual Basic is the relationship between VB.NET and VB6. The language was reimplemented from scratch for .NET and missed a lot on compatibility. Some of that accidental and some of that was deliberate from Microsoft and the Visual Basic community has been really offended by that. A lot of the strength we have in the Delphi community is that we’ve been very successful at bringing people forward and stretching forward into new areas. You haven’t seen that same problem from traditional Delphi developers moving into .NET? What is happening with Kylix and what are some of the challenges of making a developer tool for the Linux platform? Is putting the code out into the open source community an option for you? Another factor to open sourcing Kylix is that it would immediately be placed into comparison to Eclipse. Does Borland have the wherewithal to build a community to support a Kylix free or open source edition? It would be very difficult. Perhaps another way to approach that would be to consider building on Eclipse, to address the same community as before, to build a commercial product built on available tools as many of the Eclipse members are doing. That is a possibility. Could you see yourself working more closely with the Mono project? Delphi is celebrating its tenth anniversary this year. Where do you see Delphi in say the next five to ten years? One example is that I’m giving a lot of thought to how multicore processors are going to affect application development. The notion is that there is no more upside to gigahertz on the processors, the multicore processors are going to spread it out over multiple execution units. For an application to fully exploit all of that compute capacity the application has to be multithreaded. The problem with multithreading today is that it is all manual, the programmer has to do everything. The name of the game for tools is to present a simplified model that is automatic and just takes care of the details. I think we have an opportunity to go that way with Delphi language changes. If we can either redefine some of the existing language or introduce new pieces to the language that would say “this routine can execute independently of all the others” then you don’t have to worry about callback or a number of other things. We are also working on the type geometry and further analysis of your code to encourage good programming practices and at the same time reward you performance-wise for doing these things. These are all areas of research. I don’t want to see Delphi evolving into this narrow, vertical, domain specific programming language. It is a general purpose language and we want to try and exploit that. We also have a unique position of being entrenched in .NET but also well entrenched in other platforms. You don’t see C# anywhere else other than .NET and there are very few languages that can say that. We are definitely going to pursue that [diversity] further with Delphi. In the last couple of years companies like Microsoft and Sun have been keen to be more transparent about their roadmap for products and services. Are Borland going to be more open about upcoming releases and plans? Do you think Delphi will look at doing public betas? Do you think this route can produce better developer tools? What are you doing when you are not on e-mail or working on the Delphi compiler at Borland?
Danny Thorpe is the chief scientist at Borland Software, and was part of the original team that developed Delphi. Builder magazine caught up with Danny to talk about the move to .NET, Kylix, and the future of Delphi.
Danny Thorpe: Last year I was promoted to chief scientist, my primary focus is to look on the horizon for where we expect the industry and technology to be and try and set up our internal schedules to get us there. Personally, my focus is still on the Delphi language and the compiler. I’m also looking at ways to re-architect the compiler itself, perhaps there is a way we can take advantage of multiple threads within the compiler, this is something we haven’t pursued in the past.
One of the nice things about the .NET platform is the flexibility and freedom to choose the language you are familiar with. C# is fundamentally a C-based language, Java is a C-based language and that puts you into a particular mentality. There are plenty of folks that really don’t resonate with that C-style model. There are also a lot of folks with experience in Pascal, and Delphi and can relate to Delphi.NET better than learning a different or new language.
Well you hear the typical complaints like “I can’t do pointers like I used to’” but on the whole I think the transition from Win32 to .NET for Delphi is several orders of magnitude better than the migration path for VB6 to VB.NET. For example, you didn’t see the migration of the controls that you use in VB6 to the .NET platform, whereas with Delphi you should be able to take a typical application and migrate it to .NET within a matter of hours.
Kylix may have been a victim of coming out too early. One of the biggest surprises to me was how vocal and aggressive certain portions of the Linux market were to not wanting other tools. They were saying things like Why are you bringing that Delphi stuff over here? We don’t want that. Get that stuff out of my backyard. Emacs and C++ is all anyone ever needs’, and that was disheartening. We are looking for ways to provide service to that community and not lose our shirts. We have some technical documents already drafted on what needs to be done to bring Kylix up to current standards since the last release three years ago. Linux has moved a lot since then and a fair amount of work needs to be done with Kylix. We could do that in-house or we could possibly contract that out, either way it needs to be justified based on the community response.
The runtime is already out there in open source. As far as releasing the compiler for open source that is almost certainly not going to happen. Releasing the IDE for open source as time progresses that might eventually be a possibility. I can’t speak for the IDE team. However, there is a lot of intellectual property we are still using aggressively inside the compiler.
Absolutely. I have the occasional e-mail with Miguel de Icaza, he is now at Novell but he is interested in Kylix. Mono is definitely looking for a strong development tool community so they would be very interested in having Borland participation. Of course there is always the shadow of Microsoft, and we have to be careful on who and how we offend. There are certain folks within Borland that are being very cautious about that but I’m not one of those people. We have Mono beta testers on our Delphi for .NET test team to make sure our .NET code continues to run on Mono. The politically sensitive part would be how much of that do we promote and market to the point where Microsoft would then be concerned.
In the next five to ten years we need to pay attention to the development language and toolset to radically simplify certain complex programming tasks in ways that standardised languages such as C++ and to a lesser degree C# can’t move as quickly to get there.
We have been working the automatic secrecy out of our system. The old Borland was tight-lipped about everything and literally surprised customers with product releases. The industry has evolved since then and customers are expecting more information and advanced notice. Large companies do not want to be surprised by new products that they have invested millions in already. However, it is a balancing act between what we disclose and not disclose. The Delphi roadmap has been snagged on disclosure items that might impact on negotiations we are having in other quarters.
I think it is likely we will look at public betas. We are not there yet but certainly the internal forces are gearing up towards that sort of thing, it is just a matter of policy. I don’t think beta testing finds bugs effectively, public beta testing is a shotgun. The way you find bugs is systematic unit testing, line-by-line methodical testing. What public betas do is they feed the hype engine. They grab the mindshare prematurely which is very effective when put against a product that is secretive and comes out as a surprise. In terms of getting feedback and useful features, private testing provides us with a lot of that material already. The main advantage of a public beta is hype, that’s it.
I’ve become an avid snowboarder. I’ve almost broken my neck twice already and still got the shoulder to show it. It’s getting so extreme I’m working with one of my friends to build our own boards now. We have a slight technical problem we need to sort out but we’re just about ready to start.
<!-- Story Body END -->
Danny Thorpe is the chief scientist at Borland Software, and was part of the original team that developed Delphi. Builder magazine caught up with Danny to talk about the move to .NET, Kylix, and the future of Delphi.
Builder AU: So what are you currently working on at Borland at the moment?
Danny Thorpe: Last year I was promoted to chief scientist, my primary focus is to look on the horizon for where we expect the industry and technology to be and try and set up our internal schedules to get us there. Personally, my focus is still on the Delphi language and the compiler. I’m also looking at ways to re-architect the compiler itself, perhaps there is a way we can take advantage of multiple threads within the compiler, this is something we haven’t pursued in the past.
Why Delphi.NET when C# is out there at the moment?
One of the nice things about the .NET platform is the flexibility and freedom to choose the language you are familiar with. C# is fundamentally a C-based language, Java is a C-based language and that puts you into a particular mentality. There are plenty of folks that really don’t resonate with that C-style model. There are also a lot of folks with experience in Pascal, and Delphi and can relate to Delphi.NET better than learning a different or new language.
What is interesting about Visual Basic is the relationship between VB.NET and VB6. The language was reimplemented from scratch for .NET and missed a lot on compatibility. Some of that accidental and some of that was deliberate from Microsoft and the Visual Basic community has been really offended by that. A lot of the strength we have in the Delphi community is that we’ve been very successful at bringing people forward and stretching forward into new areas.
You haven’t seen that same problem from traditional Delphi developers moving into .NET?
Well you hear the typical complaints like “I can’t do pointers like I used to’” but on the whole I think the transition from Win32 to .NET for Delphi is several orders of magnitude better than the migration path for VB6 to VB.NET. For example, you didn’t see the migration of the controls that you use in VB6 to the .NET platform, whereas with Delphi you should be able to take a typical application and migrate it to .NET within a matter of hours.
What is happening with Kylix and what are some of the challenges of making a developer tool for the Linux platform?
Kylix may have been a victim of coming out too early. One of the biggest surprises to me was how vocal and aggressive certain portions of the Linux market were to not wanting other tools. They were saying things like Why are you bringing that Delphi stuff over here? We don’t want that. Get that stuff out of my backyard. Emacs and C++ is all anyone ever needs’, and that was disheartening. We are looking for ways to provide service to that community and not lose our shirts. We have some technical documents already drafted on what needs to be done to bring Kylix up to current standards since the last release three years ago. Linux has moved a lot since then and a fair amount of work needs to be done with Kylix. We could do that in-house or we could possibly contract that out, either way it needs to be justified based on the community response.
Is putting the code out into the open source community an option for you?
The runtime is already out there in open source. As far as releasing the compiler for open source that is almost certainly not going to happen. Releasing the IDE for open source as time progresses that might eventually be a possibility. I can’t speak for the IDE team. However, there is a lot of intellectual property we are still using aggressively inside the compiler.
Another factor to open sourcing Kylix is that it would immediately be placed into comparison to Eclipse. Does Borland have the wherewithal to build a community to support a Kylix free or open source edition? It would be very difficult. Perhaps another way to approach that would be to consider building on Eclipse, to address the same community as before, to build a commercial product built on available tools as many of the Eclipse members are doing. That is a possibility.
Could you see yourself working more closely with the Mono project?
Absolutely. I have the occasional e-mail with Miguel de Icaza, he is now at Novell but he is interested in Kylix. Mono is definitely looking for a strong development tool community so they would be very interested in having Borland participation. Of course there is always the shadow of Microsoft, and we have to be careful on who and how we offend. There are certain folks within Borland that are being very cautious about that but I’m not one of those people. We have Mono beta testers on our Delphi for .NET test team to make sure our .NET code continues to run on Mono. The politically sensitive part would be how much of that do we promote and market to the point where Microsoft would then be concerned.
Delphi is celebrating its tenth anniversary this year. Where do you see Delphi in say the next five to ten years?
In the next five to ten years we need to pay attention to the development language and toolset to radically simplify certain complex programming tasks in ways that standardised languages such as C++ and to a lesser degree C# can’t move as quickly to get there.
One example is that I’m giving a lot of thought to how multicore processors are going to affect application development. The notion is that there is no more upside to gigahertz on the processors, the multicore processors are going to spread it out over multiple execution units. For an application to fully exploit all of that compute capacity the application has to be multithreaded. The problem with multithreading today is that it is all manual, the programmer has to do everything. The name of the game for tools is to present a simplified model that is automatic and just takes care of the details. I think we have an opportunity to go that way with Delphi language changes. If we can either redefine some of the existing language or introduce new pieces to the language that would say “this routine can execute independently of all the others” then you don’t have to worry about callback or a number of other things.
We are also working on the type geometry and further analysis of your code to encourage good programming practices and at the same time reward you performance-wise for doing these things. These are all areas of research.
I don’t want to see Delphi evolving into this narrow, vertical, domain specific programming language. It is a general purpose language and we want to try and exploit that. We also have a unique position of being entrenched in .NET but also well entrenched in other platforms. You don’t see C# anywhere else other than .NET and there are very few languages that can say that. We are definitely going to pursue that [diversity] further with Delphi.
In the last couple of years companies like Microsoft and Sun have been keen to be more transparent about their roadmap for products and services. Are Borland going to be more open about upcoming releases and plans?
We have been working the automatic secrecy out of our system. The old Borland was tight-lipped about everything and literally surprised customers with product releases. The industry has evolved since then and customers are expecting more information and advanced notice. Large companies do not want to be surprised by new products that they have invested millions in already. However, it is a balancing act between what we disclose and not disclose. The Delphi roadmap has been snagged on disclosure items that might impact on negotiations we are having in other quarters.
Do you think Delphi will look at doing public betas? Do you think this route can produce better developer tools?
I think it is likely we will look at public betas. We are not there yet but certainly the internal forces are gearing up towards that sort of thing, it is just a matter of policy. I don’t think beta testing finds bugs effectively, public beta testing is a shotgun. The way you find bugs is systematic unit testing, line-by-line methodical testing. What public betas do is they feed the hype engine. They grab the mindshare prematurely which is very effective when put against a product that is secretive and comes out as a surprise. In terms of getting feedback and useful features, private testing provides us with a lot of that material already. The main advantage of a public beta is hype, that’s it.
What are you doing when you are not on e-mail or working on the Delphi compiler at Borland?
I’ve become an avid snowboarder. I’ve almost broken my neck twice already and still got the shoulder to show it. It’s getting so extreme I’m working with one of my friends to build our own boards now. We have a slight technical problem we need to sort out but we’re just about ready to start.
<!-- Story Body END -->
<!-- Story Body END -->
Copyright © 2005 CNET Networks, Inc. All rights reserved.
Builder is a registered service mark of CNET Networks, Inc. Builder Logo is service mark of CNET Networks, Inc.
相关推荐
从v1.0开始,DBpedia Spotlight在相同的API下分为两个版本,如下所示: DBpedia-Spotlight-Model:在描述-回购: : DBpedia-Spotlight-Lucene:在《 描述-回购:-https: 不再处于活跃开发中** 我们将使该存储库...
Just Spotlight:最简单的入门方法是仅针对生产数据运行此应用程序。 首先,建议您在主机上设置节点版本管理器。 有关安装说明,请参见( )自述文件。 接下来,检出Spotlight存储库,并在其根目录中创建一个....
SPOTlight的目标是提供一种工具,该工具能够对包含捕获细胞混合物的每个捕获位置中存在的细胞类型和细胞类型比例进行反卷积,该技术最初是为10X的Visium开发的-空间分子切割技术-可以用于返回混合物的所有技术细胞。...
React Spotlight是一款专为React开发的轮播组件,它允许用户在网页上实现具有焦点效果的动态展示。在本文中,我们将深入探讨React Spotlight组件的核心功能、使用方法以及它如何融入到React应用程序中。 首先,...
关于LivewireUI Spotlight LivewireUI Spotlight是一个Livewire组件,可为Laravel应用程序提供类似于Spotlight / Alfred的功能。 。安装要开始使用,请通过Composer要求该软件包: composer require livewire-ui/...
jquery.spotlight jQuery Spotlight 是一个 jQuery 插件,它允许您使用“聚光灯”效果突出显示页面中的元素。 这个插件是高度可定制的,不需要外部 css 或图像。 执照 GPL v3 用法 初始化: $(selector)....
:flashlight: 适用于Vue应用程序的可重复使用的微型Spotlight组件 演示链接- 这是所以让我知道我是否已将其保存在某处,请给我加星 :star: 如果你喜欢 :clinking_beer_mugs: 安装 yarn add v-spotlight CDN: | ...
总结来说,"Spotlight:电影制片厂,电影制片厂"可能是一个结合了HTML技术的在线电影服务平台,致力于电影制片人的作品展示和交流。"Spotlight-main"文件可能包含该平台的核心代码和资源,体现了HTML在构建用户友好、...
rofi:聚光灯依存关系rofi-git master branch python3 bash fd (optional) an icon theme (optional)使用的图标主题: 纸莎草纸特拉蓝运行方式: $ rofi -modi " Global Search " : " rofi-spotlight/rofi-...
入门这些说明将为您提供具有演示天气API的Spotlight搜索功能的副本,并在本地计算机上运行。先决条件目前,聚光灯需要jQuery。 关闭<body>标记之前,请包含此代码。 < script src =" /assets/js/jquery-...
现在,这就是Spotlight发光的地方。 您担心要构建该新功能,然后让Spotlight处理用户培训部分。 在运行时确定要突出显示的内容,而不会影响设计和版本测试的能力。 查看有关如何集成Spotlight的详细信息,并且永远...
【标题】"lapps-dbpedia-spotlight"是专门针对DBpedia-Spotlight服务的LAPPS(Language Analysis Pipelines)包装器。这个项目的主要目的是将DBpedia-Spotlight的功能集成到LAPPS框架中,使得用户能够更方便地利用...
聚光灯Spotlight是一个Android库,用于通过展示应用程序中的特定功能来吸引用户。屏幕用法new SpotlightView . Builder ( this ) .introAnimationDuration( 400 ) .enableRevealAnimation(isRevealEnabled) ....
而"threejs-volumetric-spotlight"是一个专为Three.js设计的扩展模块,它引入了一个独特的特性——体积聚光灯(Volumetric Spotlight)。体积聚光灯能够模拟真实世界中的光束效果,比如光线在空气中散射产生的雾气、...
••••• •Spotlight开箱即用: 无需额外的Javascript编码没有其他HTML片段没有额外CSS资源没有其他图标/资产无需额外处理动态内容和事件侦听器或者,您可以: 使用此库的非捆绑版本(通常包含css文件,图像文件...
每个脚本都使用文本作为输入,并使用dbpedia-spotlight查找最重要的实体(语言:英语,置信度:0.5,支持度:0)。 之后,对于每个实体,使用其dbpedia页面插入一个摘要,其中包含有关该实体的重要信息。 最后,保存...
jQuery 聚焦 关于 在 DOM 中的元素上提供简单的聚光灯效果。 原始插件由 Gilbert Pellegrom 创建。 我已经调整了这个版本以消除一些错误并继续维护这个插件。 要求 Master & 2.x - 仅支持 jQuery 2.0 和 IE9+。...
"Spotlight:基于中间件架构(PSR-4,PSR-7,PSR-12,PSR-15,PSR-17)的轻量级模块化微框架" 指的是一个名为 "Spotlight" 的PHP微框架,它设计得非常轻巧且模块化,利用了多个PHP标准化推荐实践(PSRs)。...
聚光灯一个最简单的查找器。 默认情况下,相似度计算依赖于这些内置算法之一: LCS(最长公共子序列)[默认] 莱文斯坦距离史密斯-沃特曼算法
要显示块聚光灯,请使用render block id spotlight-block 每行代表一个特定的参数。 参数通过以下语法进行标识: argumentName = argumentValue例如用于设置div宽度: divWidth=50 ,它将容器宽度设置为音符宽度的...