program BORLAND 在“迫害”程序员?;
{by 轻松虎}
Initialization 引子
今天在大富翁论坛上有人说被 Borland 的开发工具“迫害”很久,听到这种说法,先是一惊?难道 Borland 给我们的 RAD IDE 还不够好吗?还不够高效吗?还是跟不上潮流?不是Delphi 已经支持 .NET开发了吗?看完以后知道,原来是说 Delphi 把程序员变懒了,VCL 成了上进的阻碍,Delphi 只有“控件”没有“设计”。。。一开始很不服气,想来想去,就想不妨换个角度来考虑这个问题,我们希望 BORLAND 为我们提供什么样的开发工具? RAD经过这么多年还有那么神奇吗,现代开发工具和OOP语言对我们的开发有多大帮助?BORLAND 真的了解现在的程序员最需要什么吗?
Unit1.“迫害”元凶?
是 Anders,没错,先害完我们还要去微软害C++/VB的程序员。。
人家年纪轻轻,十来年功夫,创出两套伟大的凶器(Delphi 和 C#)。。。
什么时候我们也能出个“迫害”别人的家伙...Dream Dream.. not so long a Dream。
这个人不会就是正在看这篇文章的您吧?(*)
Unit2. 被“迫害”者?
做了十来年的程序员,原谅我倚老卖老,我觉得,不会写控件的人根本称不上 Delphi 程序员。
就象下围棋知道数气提子还不等于成了棋手
开发工具也是人做出来的。。。
新上手的人一开始做出东西会很惊喜,有成就感,觉得开发工具很了不起
崇拜过了头甚至有点迷信,可是过了一段时间发现卡住了,开发工具好像也没有那么神奇了
甚至还有bug,然后就大喊大叫,甚至骂娘
往往开始夸的最厉害的人往往也是将来骂的最凶的人
平生不喜欢大悲大喜的人,只有一开始不大喜的人,才会不大悲
其实道理很简单,全世界开发者那么多,这个问题是我头一个发现吗?
还有更好的解决方法吗?
OK,太好了,我终于有机会为我所喜爱的开发工具做点贡献了。。。
节约后人的时间(all over the world)~~不亦悦乎,发封邮件到 Borland 的 Buglist
喊什么“上当”,抱怨什么“迫害”,自己不过发现个 Bug,
Delphi的 Source 目录下有多少.PAS? 23兆,500多个文件,数十万行代码。。。
算什么啊?听说过 KOL 吗?(**)学学人家那点精神就行了
我用过的开发工具不下10来种,但是用的最多的还是 delphi,
没什么别的原因,就是喜欢,觉得自己的成果很容易重用并与别人分享
也能分享到别人的成果。。。
真的很可惜 Anders 的离开。。。
Unit3. 我觉得真正的“迫害”
我觉得 Borland 不是没犯过错误,而且很严重,但我认为不是上面说的那么浅薄
想当年,刚学会上网的时候,是97年,立马第一想到的是先冲到 Borland 的网站,
正好碰到一个程序员联署要求 Borland 开发 Borland Pascal 8 的活动,大致上是希望支持 32位保护模式的开发,咱也进去签了一把~~总共征集了上千个请求,结果很失望, Borland拒绝了,理由是 Windows95出来了, Delphi 也出了, DOS要进垃圾堆了,结果导致无数程序员转向晦涩的 WatcomC++...(虽然后来出来 TMT Pascal/Free Pascal~晚矣 ),从那时起就对 Borland 感到有点点不可理解。
我觉得 Borland 开发工具有点结构不匀称,现在只能说更加明显了:
上层工作做的很多很细,尤其以 Delphi IDE/VCL 为代表,方方面面可以说发挥了 RAD 精髓的极致,TForm的属性越来越多,空空的一个Project1也要350K.
这样过多过细的 IDE/VCL 为 Delphi 的移植背上了包袱(据说Kylix 开发时,编译器开发只用了很短的时间,IDE 却非常漫长。。。)
窃以为, IDE/VCL 固然是 RAD 的精髓,但是 Object Pascal 的威力必须依赖它们才发挥的出来吗?还是说 Object Pascal 编译器的移植很难?
其实大学里学过《编译原理》的每一个学生,几乎都做过类Pascal编译器,可能做不出 Object 语法,但这落在 Borland 手里肯定是小菜一叠。。。
上层技术和编译技术的关系就好象做乘法 M * N,当其中 M 已经很大时,N只要增加一点点就能使结果迅速增大,而一味追求 M 变大已经很困难(Delphi 7 的 RAD IDE 还能带给你多少新奇?)。
Unit4. Delphi 的“包袱”
......During the "Meet the Delphi Team" the question of WinCE was brought up. Ben Riga asked for a show of hands of those present aboout interest in seeing Delphi for WinCE. Almost every hand went up. I think they (Inprise) were suprised. (***)
著名的 Delphi 电子杂志 undu 上这么一个小故事:
大意:...在“与 Delphi Team 见面”活动中,关于 WinCE 的问题被提了出来。 Ben Riga 则要求那些对Delphi for WinCE 话题有兴趣的代表举一下手。几乎所有的手举了起来,我认为他们(Inprise/Borland的人)当时很惊讶。...
干嘛一定要 RAD, 说不定还有比 VCL 更好的解决方案呢?
Object Pascal 的编译器性能/效率上虽然不输任何 C/C++ ,
可是我们却看到 C/C++语言横行天下
可是Object Pascal 底层编译器单一,仅限于 x86平台,导致学 C 的可以走遍天下,而学 Pascal 的人毕业了却乏用武之地
Borland 公司在 Pascal 上的投入不可谓少,从每次 Delphi/CBuilder 版本升级就可以看出
Borland 是优先考虑 Object Pascal的,但是长期过多集中在上层建筑,RAD越做越精,也越来越庞大。。。
这时候如果在编译器上多多创新,一定会事半功倍
凭着 Borland 的经验,在各种平台上各做Object Pascal 编译器应该比别人快多了
现在 Pocket PC 这么火,但各CPU厂商跟着微软其实很窝火~~
如果 Borland 能调整战略会处于非常有利的商业地位。。。
甚至连 HP-Compaq iPaq (Pocket PC最大的合作伙伴)受制于微软感到很不爽,拼命出钱成立了基金会开发 POCKET LINUX (****),生怕哪天微软翻脸了...
而一大群 Delphi 程序员只能在旁边观望,一大批控件群只能在一个平台里发展。
虽然现在有了 Kylix,但是还是没有脱开 x86,我的希望是 Borland 彻彻底底的把底层编译器技术再来一次革命,不拘泥于 x86 指令的优化,其实接触各个 CPU 多了,这种工作也是大同小异,事半功倍的。
Unit5. 对DOT NET 说DO NOT ?
我的意思不是说要拒绝.NET,而是仅仅寄生在 .NET 上还不够,就象我当初也不看好 Java 一样,现在也是如此:
总觉得是隔靴搔痒~~~~而且免不了越搔越痒受制于靴。。。其实跨平台的问题早被人为夸大了,不要追求通吃天下!为什么人们对已有的跨平台技术熟视无睹,C代码是,TCP/IP也是,当然如果加上Object Pascal 就更好了。
只有原生的执行代码才是完美的!
我说这话可能有些人不服气~~所以说微软才是最厉害的,它鼓动软件人员都去写.NET应用程序,而原生代码部分,也就是把多种 CPU 硬件结合编译和代码优化的工作揽到自己身上,表面上累一点,可是它取得了最佳的商业地位(实际上这方面有技术很多可重用资源和人才储备),它是软件与硬件技术结合点,等于微软抓住了IT工业的两大命根(操作系统和编译器),而微软则处于隐蔽的不可替代地位, 自然其商业利益不可言喻。最终导致硬件厂商和其他软件厂商拼命竞争,任何应用软件商甚至连CPU 厂商都无法撼动微软。
一台电脑付给微软20美元的OEM 费用不高,可是如果每一台电脑,每一部手机,每一个智能家电..都付给微软20美元,那是怎样一个数字。。。(甚至每一个商铺终端,每一辆交通工具,每一个马桶里。。。微软无处不在:))
话题越说越大,收回来。。。
操作系统要撼动微软很难,但编译器技术绝对有可能。可是现在的 WIN CE/POCKET PC 上编译器技术也将被微软垄断,如果其他第三方编译器寄生在 .NET 之上,这才是最令人悲哀。
finalization 结论
我的结论:
Borland要抛开包袱,躲开漩涡,轻装前进。
包袱是 RAD IDE/ VCL (没错!),漩涡是.NET(有人会说我疯了)
如果 Borland 还没意识到开发多平台代码优化编译器技术的重要性的话,
那我只能说明天的世界属于。。。抛开这个重大使命不谈,BORLAND 自己发展的空间在哪?开发者也需要更加多能更加高效的工具,还要走遍天下(不是通吃天下)。
很长时间没写文章了,谢谢你看到这里,你可以把上面的文字看成是工作后的GGYY的闲扯,现实如此,自己又能如何呢?可是如果能多思考一点点,作为一个技术人,一个程序员,不要失去独立思考的能力吧?甚至想想,啥时候轮到咱们自己动手改造改造这个世界?如同 The Matrix 黑客帝国里那样,生下来一切都是被别人安排的才不爽,选择之~~~~~~~红色药丸和蓝色药丸,吃完一粒睡觉去醒来再看看~~
end.
(*)拍读者的MP总是没错的。哈哈
(**)KOL Key Object Library http://bonanzas.rinet.ru
(***)Unofficial Newsletter of Delphi Users http://www.undu.com/Articles/981012a.html
(****)iPAQ Linux Home http://www.compaq.com/products/software/linux/iPAQ.html
p.s. Borland Pascal 8 申请活动原先也有网页,现在已经 404 not found :-) 该换 Delphi For CE 了:)