商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

如果Delphi开源,会成为下一个Java吗?



【IT168 分析评论】

    晚上在水木社区 Programming 版灌水,聊起来 Delphi 的没落,突然想如果 Delphi 开源IDE 和基础库如何?搜了下 baidu 和 google,能找到跟这个想法相近只有 Marco Cantu的 blog 上这篇:http://blog.marcocantu.com/blog/opensourcecommunity.html,可能Delphi fans 习惯了商业模式,又或者年代久远各种讨论已经消失于各个角落,又或者觉得 Delphi 大势已去。按照 Marco 大叔的看法,Delphi 是不能开源的,事实也没有开源,虽然发布了个有沾光嫌疑的 Delphi For PHP,可惜还是日渐式微。

Delphi 有三部分:IDE、编译器、库,这里将库分成两部分:
* 基础库:核心库(RTL)和 VCL/CLX 中基本的组件库,能用来编写 win32/Linux 下的
GUI 程序;
* 高级库: VCL/CLX 中涉及数据库、网络控件、多层应用、报表等高级功能的部分。

我觉得 Borland(抑或现在的 CodeGear)可以考虑:
* 将 IDE 和基础库 *开源*,
* 和编译器 *一起免费* 供人使用,
* 授权可以自由开发第三方(也就是非直接将 IDE 和基础库打包)商业应用。
至于 Delphi 语言规范,可以由 Borland 主管(Sun 对 Java 就是这么干的),毕竟大家最感兴趣的还是 IDE 和库。

Borland 对于 Delphi 可以从如下几个方面收钱:
* 提供高级库;
* 由于 VCL 的优秀架构以及 Delphi 语言的创新,Borland 可以因此对编写商业组件的公司收取一定的费用,类似 Sun 收取 Java 商标使用费,这种收费应该能被大家理解,以支持 Borland 改进其编译器和 IDE,Borland 的这种改进,又能促进组件开发商的销售。
* IDE 的增强功能,这个其实最好还是开源免费用,以吸引开发者,得民心。

Delphi 编译器是 Borland 的老本,不开源大家可以理解,有了 IDE 和 基础库,有兴趣或者对 Borland 不放心的人不妨把 Delphi 移植到 gpc 或者 freepascal 上,到时候编译器三国鼎立,说不定能互相促进,更吸引眼球。以 Borland 多年的积累,肯定也不会担心三年五载就被人抢了风头。

IDE 是 Delphi 的一大特色,目前仍然觉得 RAD 领域还是 Borland 最拿手,其成就还是前无古人后无来者,Visual Studio、Eclipse 等虽然是很好的 IDE,但它们的重点还是在“集成”,而非“快速”开发。IT 行业里程序员相当于百姓,开发工具上失利甚至放弃相当于失民心!!!以 Borland 悠久的开发工具打造史,转行去干(还是专职?)软件工程,太让众多 Delphi/C++Builder 程序员叹息了。

VCL 的架构是非常优秀的,现在的 .Net 类库就明显有 VCL 的影子,如果基础的 VCL 库开源(不只是提供源码给正版用户)且免费提供,对于学习、扩展都是非常有益的,相信能带出更多更好的组件库。

Mozilla、Eclipse、OpenSolaris,从其开源都能看到一个共同点:开源和商业相辅相成,代码由开源社区和商业公司共同维护,商业公司的产品可以从开源代码提取改进。如果这些产品的前身(Netscape, Visual Age?, Solaris)不开源,即使有爱好者感兴趣,也只能看着它们没落而扼腕了。听说 FastMM 被 Delphi 新版采纳,FastMM 能够出现,跟实现者能够看到 RTL 部分的源码分不开,又听说 CLX 在 Linux 上性能很差,如果实现上面的开源策略,相信更加会有自愿者义务改进,目前 Linux 上开发 GUI 采用的方式还是比较原始,KDevelop、QT Designer、Glade,都无法与 Delphi 这样的 IDE + DCC + Library每一方面都优秀的 RAD 型 IDE 媲美,可惜 Kylix 不开源,现在早死掉了。

    Delphi 的优势不在于网页开发,赶时髦丢了拿手绝活,太不值得。程序有很多种,桌面应用占了很大一部分,单吃这一块也足以活的很滋润了。

置之死地而后生,与其慢慢没落乃至消亡,不如博一把,也许会象Java一样重新焕发生机。纵然失败,亦有豪气美名。

1
©版权所有。未经许可,不得转载。
[责任编辑:李宁]
[an error occurred while processing this directive]