通过C 学习面向对象的理念,用Delphi去解决现实世界的问题,这是我的做法。同时也验证了那句话:学从难处学,用从易处用。
真正的程序员用C ,聪明的程序员用Delphi。那么,真正聪明的程序员用C 来理解
Delphi!
1.2 Delphi更多的优势
用过很多的主流开发工具,为什么还是选择了Delphi?也许是因为没有深入地去熟悉其它开发工具吧,但Delphi本身的优秀至少是原因之一!Delphi优秀在何处?
开发的高效
Delphi是一个RAD(Rapid Application Development 快速开发工具),它有可视化的开发环境,当然具有类似功能的开发工具也不少(如Visual Basic),但Delphi有如下的独到之处:
1)Delphi是真正面向对象的。其基于OO技术构建的VCL库中的所有组件都可以被继承以创建新的组件,包括窗体类TForm。相比之下,ActiveX组件缺乏这种灵活性。
2)Delphi的CodeInsight技术(即代码自动完成功能)是建立在编译器信息上的,而VB使用的是类型库信息,使用编译器信息的好处是更具灵活性。不过,时常有程序员抱怨Delphi的代码提示时间太长。其实,我个人感觉是习惯了其速度之后,能体会到一种节奏的快感。
语言的高效
Delphi基于Object Pascal语言。这是一种真正支持面向对象而又优雅美观的语言。其在功能的健全上毫不逊色于各种其它的面向对象的语言,但同时又不贪多,盲目地增加复杂性。使得开发者运用各种模式进行设计时都能得到完善的支持,实现时却不用考虑太多语言/编译器细节。
编译的高效
可以说,Delphi是Windows平台上最快的高级语言本地代码编译器了。编译速度快有什么好处呢?快速的编译器可以让你频繁地在修改代码和编译运行的状态间切换。至少,我自己已经非常习惯了这样的工作方式:运行程序看一下效果,退出程序修改少量代码再运行程序。而Delphi的编译器从来不会让我有等待的感觉。
执行的高效
Delphi不但编译速度快,生成的目标代码的执行效率也非常高。Delphi与C++Builder使用的是同一个后端优化器,因此其生成的代码的效率与优秀的C 编译器生成的代码相同。
Delphi生成完全本地代码,因此Delphi编译结果的可执行文件可以被独立执行、分发(对于绿色软件的开发,这一点十分重要)。不需要其他运行库支持。当然,你也可以选择动态链接编译,这样可以大大减小可执行文件的长度,不过这种情况下在分发程序时,必须同时分发必要的运行库文件。
维护的高效
C 把许多决策权给了程序员,因此功能十分强大,但同时,要用C 写出出色的面向对象的代码,就要求程序员具有一定的素质。而Delphi程序员会在一定程度上被限制在VCL提供的框架中(当然,完全可以在Delphi中摆脱VCL编程),相对来说,更容易建立良好设计的代码。而Visual Basic则根本没有提供面向对象的编程机制(VB6.0及先前版本都是基于对象,而非面向对象)。代码框架的优良使得软件维护成本大大降低。
基于以上所有理由,我选择Delphi!
1.3 本书主题
我们平时都会写很多代码,为公司,为自己或者为朋友。有时,为了验证自己的一个想法,或学习某一个技术,会写一些试验性的代码。这样的代码的生命周期很短,基本不需要维护,随意写一下就可以。但是,当你真正要完成一个项目的时候,代码设计就非常重要。因为这样的代码是需要长期维护,不断修改或增强的。设计凌乱的代码会使得维护非常困难或者根本不可能,修改这样的代码意味着产生更多的 bug 或者就是灾难。
因此,代码在被编写之前,需要先被设计。这里所说的设计并不是指功能设计,而是指程序员在编码前先对代码框架的设计,以使得今后代码更容易被理解、被维护。经常听到一种说法:程序员的程序寿命只有35岁。我却从不相信程序员的寿命只到35岁,也许35岁以后,实现能力(其实就是工匠能力)有下降的可能,而设计能力是随着经验的增加不降反升的。这才是最宝贵的。
国外的软件开发小组,一般的骨干都是40岁上下的人,那些才是大师级的程序员,而所谓的过了35岁就不能当程序员的程序员根本没有资格被称为程序员。软件工程要将程序员变成编码员,变成流水线上的一环,设计工作由专门的设计师完成(如框架设计师)。也许,分工细化是趋势,但是,我们是满足于做编码员还是希望成长为设计师,取决于我们的眼光及努力。
放开眼光,而不是将自己局限于、沉迷于“实现高手”。实现能力是基础,有一定的实现能力才可能成长,但是,它只是必要条件,而不是充分的。否则,就象爬到山腰就以为自己到了山顶,停滞不前了。那么,你只可能是编码员,你的程序寿命也只到35岁。在有了这样的眼光之后,希望本书可以助您起步。
国内出版的Delphi相关书籍,基本都是讲解实现的,本书的书名是《Delphi高手突破》。那么,假设你现在已经是Delphi高手了。所以本书不会涉及太多的实现技巧,虽然也有实例代码,但重点在于其构架的设计,而并非实现。
至此,您也许已经猜出本书的主题了:如何使用面向对象技术,构建良好设计的代码。在我看来,写代码是艺术创作。优雅的代码可以自解释,而不需要过多的注释。当注释过多的时候,就该考虑设计是否合理了。写书应该也是艺术创作,如果能把自己的认识、经验艺术地告诉读者,而不需要过多的“注释”(浪费篇幅的废话),就非常成功了。我希望自己能做到,至少尽量吧。
1.4 小结
我相信,走上编程这条路,对于我来说是必然的。能成为专业程序员,也是我所梦想并实现了的。但是,Delphi的出现以及被我所认识、熟悉、迷恋并成为工作的一部分,应该说是一个意外的惊喜。
在此,我所想说的就是,对于自己的坚持,就更坚持一些吧。当你清醒地定位了自己之后,清楚地知道自己所选择的道路之后,就不用有所疑问、有所顾忌了,坚持走下去。最终虽然未必会成功(当然,每个人对成功的定义是不一样的),但爱我所爱,无怨无悔!
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




