也谈 Delphi vs VC++

    技术2022-05-11  90

    哈哈,最近好象关于 VC 和 Delphi 比较的帖子特别多. 看了sundyl的帖子,有些话好象不吐不快 >>"...Delphi的程序员就不同了,他们应为VCL的巨大便利,变得主要是使用控件..." sundyl您可能不知道2个简单的事实: 1) 99%的控件(VCL)是 Delphi 程序员自己开发的,不是Borland提供的 我甚至偏激的认为:写控件是个基本功,不会写控件就算不上Delphi程序员 :-) 虽然,这会得罪一批和我一样自认为是 Delphi 程序员的人。 2) VCL和Delphi没有逻辑必然,它是一种先进思想的集合,C++照样能用,CBuilder就是例子。 事实上,sundyl拿使用VC和Delphi的程序员进行比较是不公平的竞争~~~ 因为历史的因素VC++程序员平均素质要高一些。 正确的做法应该是:     拿基础素质相同的2个程序员,分别去学VC和Delphi,最后比较他们的编程能力. 不过,我也没做过这样的实验, 不能凭我的想象说结果会怎样 *_* 但拿我来说:我是先学的 Basic, C/C++,后来才学 Delphi/Pascal 用了 Delphi 之后,很多人可能都有我类似的感觉: 感到可以做到很多以前想做而做不到的事,而且我用节省下来的时间 学到了更多的东西,甚至反过来加深了我对C++的理解。 事实上,绝大多数 Delphi 程序员原先曾是 C/C++/Basic 程序员. 拿"多重继承","宏"."{}","++" 之类的语法比较来评判优劣是一种缺乏开放心态的表现 要论语法的先进性,Object Pascal 中的例子实在很多,可以信手粘来. 其实Object Pascal中有多重继承(New一个ActiveForm 对象的自产生代码中就可看到) 但严格限制它的使用。原因我不说大家也知道。 不引入"宏"更是如此。(严格说来 Delphi中的 inline assemlber 函数有宏的特征, 这种扩展不是 Object Pascal 基本语法,而且非高手不会需要直接嵌汇编 ^_^) 可以说Object Pascal 一直在吸取 C/C++ 的精华,但不是全部。 :-) 早在 Turbo Pascal 5.0 的时候,就从 C 里吸收来了 break, continue 在BC之前就率先支持完整的OOP语法,还有IDE ,那时的 C 只有命令行呢。 还有比较 {} 和 begin end 之类的细小比较就更是萝卜白菜了, 希望 sundyl 以一种开放的心态来看 Delphi. 关于"{}" 和 "begin end",至少我觉得Delphi程序是可以用嘴交流的程序语言(为数不多,类似的还有SQL)。 什么意思?试着向你旁边的同事随便口读一段C源代码就知道了(包括符号哦)。 (我曾把一段Delphi程序放到 TTS(全程语音)中用机器读,哇,太酷了~~) 顺便,我还想对有意学 Delphi 的程序员谈谈我学Delphi的时候发现的一个窍门, 就是: Object Pascal 语法中有一种自相似性, 不到万不得已,Object Pascal 不会引入新的语法形式。 在学 function, unit, object, program 等都能体会出来这种自相似性。 比如我当初先学了 record(相当于 struct), 懂了oop概念后,自己就猜出来 object 的基本语法了。 想到哪写到哪,谢谢您能读完,还有我还没提到数据库, 我觉得把Delphi和数据库一起谈有时是个误导, 让人只看到Delphi门槛很低的一面,妨碍了人们认识她实际的强大。 用了这么多年Delphi,领悟到Delphi的一点哲学: 随着社会的进步,分工的细化,合理的规则是:你有权知道一切,但不该是强迫的.

    最新回复(0)