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 了:) 

来自:www.delphifans.com

BORLAND 在“迫害”程序员?相关推荐

  1. 关注程序员健康,刻不容缓

    关注程序员健康,刻不容缓 听到著名模拟器开发者李可文逝世的消息,人们不禁为一个天才的早逝扼腕叹息.在为他感到惋惜和怀念的同时,我们也清晰地看到,行业中绝大多数程序员生活在疾病或者亚健康状态之中.从选择 ...

  2. 原Borland Delphi研发部程序员Joe C. Hecht讲述自己离开Borland公司作为个体户程序员独立单干接活谋生的故事

    你好.这篇文章是我们与专业软件开发人员交谈的系列文章的一部分,询问他们以编写代码为生是什么感觉,并可能在此过程中获得对软件开发行业的一些见解. 今天我们要和 Joe C. Hecht 交谈,他也被称为 ...

  3. 二十载风雨飘摇,成败荣辱也潸然――Borland程序员之痛

    二十载风雨飘摇,成败荣辱也潸然                                                ――Borland程序员之痛   (宋宝华 [email]21cnbao@ ...

  4. 程序员的自我修养--链接、装载与库笔记:Windows PE/COFF

    1. Windows的二进制文件格式PE/COFF 在32位Windows平台下,微软引入了一种叫PE(Portable Executable)的可执行格式.作为Win32平台的标准可执行文件格式,P ...

  5. 一个老程序员的心里话(转载)

    1.希特勒地堡与cih病毒 99年4月,我来到北京参加研究生复试.复试完了之后就不回去了,我拿着一张光盘,里面刻着我用vb和authorware3.5编的一个cool 3d的教学软件,到处参加招聘会, ...

  6. 程序员的语言“艳遇史”(一)——班长pascal

    程序员的语言"艳遇史"(一) (***以下小说情节纯属虚构,供朋友们在紧张编程后轻松一下,如有雷同纯属巧合,切勿对号入座***) 地狱里,一个曾经的程序员经不过魔鬼们的严刑拷打,终 ...

  7. 程序员成功之路 ——The road ahead for programmer(转引)

    一.我很羡慕在座的各位同学,因为你们是中国未来的程序员,而我不是,我一直很遗憾. 比 尔盖茨曾经写过一本书叫做<未来之路>The road ahead, 那么今天我选择这样一个题目, th ...

  8. 人生苦短,开发用云 | 如何优雅完成程序员的侠客梦?

    作者 | 马超 来源|阿里巴巴云原生公众号 Coding 的魅力如此之强,引无数程序员竞折腰,在今年由 CSDN 举办的 1024 程序员节上,中国初代程序员大宗师求伯君说,当年看到有人在用 WPS, ...

  9. Delphi程序员代码编写标准指南

    Delphi 6 程 序 员 代 码 编 写 标 准 指 南 一.序言 二.通用源代码格式规则 2.1 缩格 2.2 页边空格 2.3 Begin-End 配对 2.4 代码文件中通用符号含义 三.O ...

最新文章

  1. 三个事件同步实现双相机同步WaitForMultipleObjects
  2. 共享共治 - 全球化背景下的DNS基础设施服务
  3. 参观北京移动信息港森华易腾机房
  4. createform用法_vue自定义表单生成器form-create使用详解
  5. java 后台和前端的消息提醒_滴滴Java后台3面题目:网络+内存溢出+各种锁+高性能+消息队列...
  6. Spring-@Value
  7. 计算机合计功能,Javascript自动求和,Javascript自动合计
  8. Android 多线程之阻塞队列
  9. Open3d之点云离群点剔除
  10. 企业网站电子邮件营销的优势与转化率分析
  11. java map映射_java8流操作之map映射
  12. Spotfire 表达式之转换函数
  13. 无插件播放之http-flv
  14. 一份完整详细的新媒体营销推广策划方案 (微信微博等)
  15. 《我的世界》JAVA版本需使用微软账号登录
  16. VTK_Learning_交互与拾取_单位拾取
  17. 《管理长歌行》——青蛙与蜘蛛的对话
  18. ROS2:Humble 教程
  19. Linux攻关之基础模块五 Vim
  20. python如何安装pil库_Python安装PIL库

热门文章

  1. 超宽带室内信道模型研究与matlab仿真,复杂室内环境超宽带信号信道模型及仿真结果分析.pdf...
  2. 游戏敏感词屏蔽词过滤
  3. 随便小计:MRP元素参与计算标准配置
  4. 基于Hive的搜狗搜索日志与结果Python可视化设计
  5. 如何编写敏捷开发中的user story
  6. 【读书笔记】《怪诞行为学》丹·艾瑞里
  7. Vue中ref的作用???
  8. Mathematica:向量、矩阵之间的区分
  9. 一篇重新带你认识:C语言
  10. 科技节图像后期处理三等奖作品---陪伴是最长情的告白