重新认识Delphi

2008-02-23 07:17:41来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

简单性是这个世界上最难获得的东西:它是经验的最终界限,也是天才的最终努力目标。——George Sand

您已经是一位熟练的Delphi程序员,可以运用Delphi快速地写出一个漂亮、实用的程序;您热爱Delphi;她已经成了您工作、学习中不可或缺的一部分。我假设这些都为真,那么您当初选择Delphi作为自己的首选开发工具一定有自己的理由或者原因。
至少,我自己是符合以上的所有假设的。现在,我所想和您分享的,正是我选择Delphi的理由及原因,以及我对Delphi的认识。您可以把我看作一个拥护Delphi的狂热分子,虽然那样会让我感到您把我看得太过肤浅,我并不承认,但是我不介意。因为,我真的热爱她。
   在读高一的时侯,开始接触计算机。首次学习的编程语言是GW-BASIC,那时候懂得了程序是由顺序、分支、循环三种结构组成的。然后很自然的,转到了DOS自带的QBasic,只不过那东西不能把程序编译成可执行文件,有一天在看QBasic的在线帮助时,发现有一个叫作Visual Basic的可以做这件事。于是,我有了Visual Basic。那时候的VB的版本是 1.0,运行在DOS环境下的。拿到手后,突然感到非常陌生,出现了什么 Form、Control的,这可怎么写程序啊?但是,三天以后,我爱上了她。如果你没有经历过这个转变,也许你不会感觉到什么。但当时,在我熟悉了VB的用法之后,我的感觉,简直可以用“震撼”来形容,原来,编程是可以这样的!是的,哪怕现在回头想来,可视化编程方式的出现,绝对是一个划时代的转变。从这个意义上来说,VB是伟大的!
   从此,VB 1.0、VB 3.0、VB 4.0、VB 5.0……这样一路走来。又一次转变发生在大二的时侯。我尝试了一下广告上被称为VB Killer的产品——Borland Delphi。第一个接触的版本是 3.0的。由于同样是可视化的RAD开发工具,上手时没有遇到什么大的困难。促使我弃VB而投入Delphi的怀抱的最初理由简单到可以不成理由,那就是Delphi可以静态连编,可执行文件可以独立运行,这个特点对于发布绿色共享软件来说很重要。
   但是,随着时间的流逝,Delphi 3、Delphi 4、Delphi 5、Delphi 6以及Kylix,对Delphi的认识也越来越深。它是有着丰富内涵的工具,让人对它越了解,就越对它迷恋,越感觉离不开它,虽然它也还只是工具。Pascal是一种讲究程序美学的语言(毫无疑问,Pascal代码是最优美的代码),基于Object Pascal(一种支持面向对象的Pascal语言)的Delphi让这种美达到了极至。

1.1 开发工具“以人为本”论

  经常可以在各个编程论坛上看到类似这样的问题:“VB还有没有前途?”、“Delphi是不是要淘汰了?”、“MFC是不是要被.net取代了?”……其实,这些问题在被提出的当时,是没有人能给出答案的。因为一种技术、一个产品的前途,并不完全由其本身所能左右,还与市场需求、出品公司的发展方向等因素有关。而我们所应该关注的,是否就是这些问题的答案呢?我认为不是。
   我们知道,世界万物由原子组成;千变万化的程序归根结底由顺序、循环、分支三种结构构成;无论VC的MFC,还是Delphi的VCL,都是由面向对象技术构建的(暂且不论其面向对象的程度)。当你拨开事物表面的表象后,你看到的,是相同的或近似的本质!而掌握了本质之后,就会发现表象的表现形式是那么的理所当然。试想,当你能象侯捷(《深入浅出MFC》的作者)那样把MFC剥得体无完肤,你还会担心MFC被某某框架所取代吗?从这个角度来说,对于一名专业程序员,编程的理念是万变不离其宗的。发现问题、分析问题、解决问题的过程是存在着某种模式的,当你掌握了这种模式后,不同的编程语言,不同的开发环境对你来说,是有共通之处的。
   我认为C 是每个专业程序员所必须掌握的。当然,并不是说单纯学习其语法(我认为甚至可以忽略一些语法的学习),而是通过C 学习面向对象的设计、编程方法。因为C 博大精深,因为C 无所不及。在C 中,你可以学习到面向对象理论的全部,学习之后,你会被C 所改造。因为在面向对象理论中存在的,但有所争议的特性(比如:多重继承)在C 中都得到支持。你只有在掌握之后,才可能作出自己的选择(支持或反对)。在掌握了面向对象的理论之后,无论C 、Object Pascal或是Java乃至C#,你会感觉到它们的异曲同工之处。
   那是否就是说开发工具(或许应该称为集成开发环境,不过下文还是按我的习惯,用开发工具来称呼)之间除了支持的语言不同外,不存在其他差异了?当然也不是。开发工具是帮助你实现你的理念的工具,也就是构建在基础理念上的上层建筑。开发工具对于你所要实现的理念的支持程度以及对实现过程的简化程度,就是开发工具的体贴度了。开发工具于程序员,犹如兵器于士兵,兵器不顺手,未战先败一半。
   一直很喜欢诺基亚手机的广告词:科技以人为本!是的,“人”才是本,工具的使命是辅助人更快、更容易地达到目的。因此,开发工具也应该以人为本!
   作为一名程序员,作为开发工具的最直接的使用者,我希望我所使用的开发工具真正是我的伙伴、助手,它能给我带来自由的感觉,让我自由地在代码的世界中驰骋,它能迁就我、适应我,而不是相反,给我套上枷锁!
   如今在Windows平台上,有许许多多的开发工具可以选择:Visual C 、VisualBasic、Delphi、C Builder、JBuilder……它们基于不同的编程语言、忠于不同的公司的产品理念,从这个角度来说,它们之间的差异是非常大的。
   那什么样的开发工具才是优秀的、体贴的、以人为本的?我的标准是符合以下四点:
   1、能够将要解决的问题简化,并以某种理念快速实现之
   2、不隐藏任何你想知道的细节
   3、可以忽略你所不想知道的细节
   4、主动去适应不同层次的程序员
   符合以上四点的开发工具有吗?我的答案是:有!那就是Delphi!她将一切化繁为简,却从不阻止我寻求真实。你可以在她给你构造的简化了的VCL的虚拟世界中完成任务。也可以钻进VCL的世界以探询她和现实世界(即Windows平台的真实接口)的映射关系,学习它的Framework的设计。你还可以扩展那个虚拟的VCL世界以适应自己的需要。我为存在着这样的开发工具而感到幸运,更为幸运的是,我可以选择她,和她一起完成我的工作!(现实中,项目中使用什么编程语言、开发工具,时常并不是你个人所能左右的,会受很多因素制约。比如:客户的硬件环境、操作系统环境,开发环境,开发工具的成本、许可证等等。因此能选择自己喜欢的开发工具进行开发工作实在是很幸运的了。)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:关于SMTP和POP3使用及关于客户-服务端的自动连线问题

下一篇:用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(下)