pascal到底是一种什么语言? 文物语言?谁说的!delphi使用的是object pascal。Borland的艺术家们将pascal扩展到如此完善的支持面向对象 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 pascal还是唯一一种可以读出来的语言 pascal,又名为COOL BE L汉语是酷必了 pascal,又名为COOL BE L汉语是酷必了 pascal,又名为COOL BE L汉语是酷必了 pascal,又名为COOL BE L汉语是酷必了 pascal,又名为COOL BE L汉语是酷必了 Pascal不是一种语言,是一种表示单位面积所受压力大小的物理学单位. i love this language!!! i love this language!!! i love this language!!! 如果Borland完蛋,Object Pascal也就完蛋了,而C++还将继续。 大家都淘醉在PASCAL、DELPHI的好处里,我原来也是这样的,为她自豪过,因为在学校里学的是PASCAL;自从我学了C后,对PASCAL就没有了一点兴趣,有比较才能知道差别! to BCB 两种语言各有常处,看你擅长什么了。语言本身再好,你不行,有用吗?关健还在于自身。可能pascal,delphi在你的手中没有任何作用,在其他人手中却功能强大。 又是高手自居!你有用!了不起!谁讲DELPHI没有用了?功能都是一样的,主要是习惯和方便而已。 呵呵 我来说两句Pascal最初是作为一种教学语言出现的 具有语法严谨,结构优雅的特点,非常适合用于描述数据结构或算法后来出现了Pascal编译器,于是Pascal开始了发展Borland对Pascal的发展做出了很多贡献 但Borland的Pascal并不是唯一的。(有许多民间Pascal组织 例如FreePascal组织和免费的Object Pascal编译器 :))(注:Object Pascal的来源我不太清楚,好像是来自于苹果公司的,苹果公司有麦金脱什平台的Object Pascal标准)经过发展的Object Pascal功能强大 好像(怎么这么多好像呀:) )麦金脱什(苹果的OS,忘了怎么拼了)就是用Pascal写成的>如果Borland完蛋,Object Pascal也就完蛋了,而C++还将继续。 这是绝对不可能的 :) 不要以为Pascal就是Object Pascal,这样想法就像认为C就是C++一样大错特错。 to Sachow(有助) :你是说我么 我从没有这么以为呀 你这句话没有来由吧说Pascal不能不说Object Pascal就像C++是C的超集一样 Object Pascal 也是Pascal的一个超集由Pascal到Object Pascal的发展是非常自然的 pascal是一种看起来很容易学的语言,她的结构很严谨,很适合语言教学!!有很多学校的基础语言就是她!! 我倒不清楚还有多少学校教学是用PASCAL,反正我接触的人的学校现在绝大部分是C,也有很少的从大一开始干C++的。Object Pascal真正有点资本是Mac OS,很难得有这么一个PASCAL写的OS,可以作为资本聊以自慰。至于WINDOWS下的,就没什么好说了。DELPHI是Borland一相情愿自己不停地扩充,反正不象C/C++有个明确的标准,除了Borland也没几个屑于做PASCAL,渐渐PASCAL居然也爬出来了。PASCAL语言本身结构注定了不能做大,比如declare和implement在一个地方,缺少预定义和模板。有人可能想到JAVA了,JAVA虽然没有,但是只要想发展,JAVA必然会引入template(这话可不是我最先说的)。反正不知道PASCAL什么时候变成了Object Pascal,但是对于OO来说,继承只不过是有性生殖,而另一半template这个无性生殖同样重要。PASCAL毕竟老了,除非来个脱胎换骨得更新或者有个标准。C++在同样的时间已经更新到第二代了,OP恐怕还有很长的路要走。或者说,如果Borland完蛋了,恐怕没有人愿意在PC上继续下去(除了个字符方式的Virtual Pascal),而OP恐怕连路也不用走了。Borland最可恶的地方就是醉心于DELPHI而不努力做C++Builder,好好的C++加了一大堆PASCAL在里面,给人的感觉不伦不类。PASCL本来就不适合写类库,搞得VCL错误又多,效率又低,泄露还不少,再这样下去,BCB恐怕也没人用了。 看来我没学pascal是很幸运的:) C的“{}”,"++","--"很好使,pascal语法比较麻烦。如若要比较VC和Delphi的话,我个人更推崇Delphi,要弄C++我宁愿用CB。 同意babysloth(小懒虫虫)的说法。 有的学校已用JAVA代替PASCAL, 看这里,比较客观的介绍了 C++ 和 Object Pascal的优劣2. 语言特性首先我不想评价所谓“pascal是玩具语言”这种无知的说法。某些连basic都用不好的人是不可能正确评价其它语言的优劣的。至于“只配高中生使用”就更加可笑了:peter norton没上过大学,id software的john carmack没上过大学,你不服气?!请不要嘲笑高中生,大多数程序员可能永远也达不到这些“高中生”的水平。创造性工作需要的是天才,你认为天才相当于什么学位?:-)(1) 预处理,宏以及.h文件object pascal不支持预处理,其实是不需要。无法直接编译源代码的编译器才需要预处理器的支持(用于翻译/规范源程序(也包括.h之类)以利于编译)。预处理器的出现是因为当初ken thompson和dennis ritchie要在只有256k内存的pdp-11上实现c编译器难度很大,才采取的折衷办法。现代大多数c/c++产品已经把预处理器包含在编译器中了。(ps:c中采用尽可能短的关键字/运算符也是由于这个历史原因)至于macro和.h则应该说是垃圾特性,只是由于兼容性的考虑才保留下来的。ansi/iso c/c++规范中明确建议:“不要使用macro和.h,应该使用程序中的常量定义和函数替代”。因为macro和.h不是c/c++的语言特性(这是真的!),没有明确统一的语法定义。还会导致编译速度降低,另外由于macro在每个使用的地方被展开(不是调用),大量使用macro会使生成的代码臃肿。(2) 集合,子界类型c++不支持这些object pascal的原生类型(编译器能直接识别的)。但可以用类来模拟,毕竟c++的对象结构是最复杂灵活的(ada除外)。不过性能有损失。(3) 枚举类型object pascal不支持为每个枚举元素指定值。例如c/c++中可以定义:enum aweek {sun = 1, mon, tue ...};object pascal中只能定义:aweek = (sun, mon, tue ...);(4) 数组c/c++不支持object pascal中指定下标的数组,下标只能从0开始。(5) 结构object pascal不支持struct(在pascal中称为record)中的位域(bitfield)。bitfield可以bit为单位(不需要整字节)来存储结构成员,可以减小结构的存储空间。不过存取效率会有所降低。(6) 字符串字符串处理是object pascal的强项之一。能够支持灵活高效的串处理。严格意义上讲,c/c++不能算支持原生的字符串类型。char *和char[]更近似于用户自定义类型,因为编译器不支持字符串的内存自动分配和回收,需要用户自己调用malloc()和free()。object pascal也支持c/c++风格的字符串(称为pchar)。不过string类型更加强大。从实现上来看,object pascal的string类型使用前缀表示串长度(1字节前缀的shortstring和4字节前缀的long string,两种string自动兼容,并且long string也兼容pchar),c/c++中的char *和char[]使用后缀chr(0)表示串结束。不同的表示方法对串处理性能有很大的影响:对于大量,复杂的字符串操作,用object pascal可以写出比c/c++快几十倍的程序(许多用pascal写的pascal编译器,比如free pascal,pascal pro等,虽然技术水平一般,但编译速度也很快,在某种程度上也得益于pascal的字符串处理效率)。比如取串长度函数length/strlen(),object pascal的实现只需要一条mov指令,而c/c++的实现则需要进行重复串扫描直到找到结尾0为止。object pascal的string类型在支持unicode字符方面也有优势。要知道c/c++的字符串给现代操作系统支持unicode字符带来了很大的困扰,比如串'abc'的unicode表示为:41 00 42 00 43 00,这使c/c++程序根本无法处理这种字符串。虽然修改编译器可以很容易解决这个问题,但光修改编译器是不够的,还要修改操作系统,否则以前的大量c/c++程序根本无法在新操作系统上使用(这简直是灾难 --- 你连notepad都没了,怎么办?:-)。windows采用凡是涉及字符串处理的api都提供两套的解决方案。比如textout,有用于处理ascii字符的textouta和用于处理unicode字符的textoutw。而unix/linux采用另一种办法:凡是涉及字符串处理的api都使用utf8压缩编码(一种类似于rtf的编码方法:凡是ascii字符都直接存储,多字节字符则用\进行转义),虽然(勉强)保证了兼容性却也代价不小。(ps:c++中的string/ansistring是用类模拟的,所以性能...)(7) 多重继承毫无疑问,object pascal不支持多重继承;并且也看不出borland有增加这一特性的意向(其实增加是轻而易举的)。object pascal通过接口(interface)实现多重继承。interface不仅可以引入用object pascal实现的对象,也可以引入其他语言实现的com/dcom/corba对象。你真的需要多重继承吗?我想大多数程序员和我一样都从来没有使用过多重继承(连vcl这么强大灵活的体系结构都根本没有用到多重继承)。(ps:java和delphi一样不支持多重继承,也使用interface来实现多重继承。其实这并不奇怪:jdk 1.2和java 2主要是由borland开发的,sun只挂名而已。不信你看java类库是不是和vcl很象。:-)(8) 对象模板object pascal不支持对象模板。因为对象模板不过是宏的语言实现而已(宏本身不是c/c++的语言特性)。(9) 重载object pascal支持函数/过程的重载,不支持运算符重载。c++全部支持。(ps:我个人倾向于object pascal应该增加对运算符重载的支持)(10) 位及逻辑操作object pascal和c/c++在这方面没什么差别。c/c++的&,|,~,^,>>,<<,&&,||,!等效于object pascal的and,or,not,xor,shr,shl(and,or,not,xor既用于位操作也用于逻辑操作)。不过c/c++不支持逻辑xor(a xor b = a and not b or not a and b,还是可以实现的)。(11) 风格其实这是我更倾向于使用delphi的一个重要原因(由于工作的原因,我也经常使用c++和汇编)。就象有些文章所说的:“object pascal和c++是同一重量级的语言”,确实难分轩轾,差别反而主要是在风格上。c++强调灵活,而object pascal更注重整洁和优美。《程序设计语言:设计与实现》一书的作者也称赞pascal是“一种极优美的语言”。有人因此认为pascal“笨拙”。其实应该是“大道至简”。我认为即使用c++写程序也还是工工整整的好,不要卖弄技巧。只有水平不高不低的程序员才喜欢卖弄技巧(水平太低的卖弄不了,太高的又不愿卖弄了)。就象有人评李昌镐的棋“平淡”,但马晓春再怎么“鬼才”也只能甘拜下风。 to All: 其实我真的搞不懂,你们为什么在CSDN上老是讨论这种无聊的问题,哪种语言并不重要,重要的在于自身。 你说vc,java好,没错在一些地方的确好,delphi(pascal)不好吗?各种语言都有自已优势。在此不必多说。还有它们好的地方你们用到了吗?熟悉了吗?我敢说,你们用到它们的好处最多不超过6成。所以不必多说,还是把说的功夫用在学习上,这样,才能振兴中国的软件事业。别让MS..等美国老再占居我们中国软件事场。它们在我们身上捞的钱已经不少了。 所以各位国人,各们程序员,努力吧!!! >>> VCL错误又多,效率又低,泄露还不少,再这样下去,BCB恐怕也没人用这个我就更难以理解了VCL从发布到现在的结构改动是很小的,优良的设计是无可争议的。(Java的类库和VCL也有异曲同工之妙)至于错误多这个我不知如何应对,但是我提醒你可能没有使用Update补丁包,同时有错误不是Pascal的错呀 :)效率低我认为更是无从说起了 内存泄漏问题可能有,这与程序的BUG有关,与语言也没有什么大的关系,并且这种错误在发现后是很容易修改的,我估计在打了补丁后就好了 :) 各个语言是怪,对于“对象自已”,表示不一: vb 用 me表示, 这是相当于上海话中的“阿拉”; delphi用self表示,这是相当于东北话中的"俺"; bcb 用this表示,这相当于陕西话中的"偶"; 各个语言是怪,对于“对象自已”,表示不一: vb 用 me表示, 这是相当于上海话中的“阿拉”; delphi用self表示,这是相当于东北话中的"俺"; bcb 用this表示,这相当于陕西话中的"偶"; 各个语言是怪,对于“对象自已”,表示不一: vb 用 me表示, 这是相当于上海话中的“阿拉”; delphi用self表示,这是相当于东北话中的"俺"; bcb 用this表示,这相当于陕西话中的"偶"; 各个语言是怪,对于“对象自已”,表示不一: vb 用 me表示, 这是相当于上海话中的“阿拉”; delphi用self表示,这是相当于东北话中的"俺"; bcb 用this表示,这相当于陕西话中的"偶";可能是语言标准设计者怕有抄袭之嫌 上面那一大段所谓“公正”的评论只不过是用PASCAL的自欺欺人罢了。模板和运算符重载是非常重要的,正如大师们所说的,继承只是OO的一半,有性生殖而已。无性生殖呢?自己吃不到葡萄说葡萄酸,貌似公正而已。字符串的问题,C++的标准里明确就std::string这一项,作者恐怕知道太少了吧。而它的效率,呵呵,自己去看看再说吧。如果你的C语言水平还算过得去的话,就算用指针不知道又有什么问题?还有什么集合这些,C++里早就有了,PASCAL还在自鸣得意。C++的标准里有set,tree,list,double-list,deque,stack等等各种数据类型,PASCAL没什么标准,倒也无所谓了。居然还有人吹嘘C++不支持Unicode,麻烦,看到都无聊,好好钻研钻研C++标准再说话吧。再说VCL的问题。PASCAL绝对不是个写类库的料,VCL的内存泄露之多已经是事实。内存泄露并不可怕,WINDOWS自身也有,关键是多少的问题。您自己不妨看看,不要写一句话,就用鼠标在Form上多放点东西,用Memproof和BoundsChecker一看,差点被吓死。VCL思想的先进性是绝对的,不容质疑的,而选择PASCAL来写真是失败。效率低下这也是事实,有人喜欢骂VC里的宏太烦,你以为微软真的这么笨不会用其他简洁的代替么?消息映射的效率就这样来的。唯一让我觉得奇怪的就是从Turbo Pascal开始,PASCAL编译后的文件就比C/C++小,一直如此。不知道是不是移植性的问题,可惜我们一般人又不用。至于效率,嘿嘿,C/C++始终会比PASCAL快一点点,不多,仅仅一点点。以前中学的时候比赛算法,已经无数次证明了这个,原因嘛,多半是C/C++的register作循环变量了。 怎样用delphi操作注册表使应用程序自启动 如何用sendmessage传递一个字符串,以及接受方该如何写,谢谢,在线等 一个小问题 关于在报表打印时按页进行某字段进行汇总的函数怎么写?记录数的函数怎么写? 用delphi6做过属性编辑器的高手请进! 哪里有《Delphi 7高效数据库程序设计》下载 dragmod=manual时如何使form1中的image1 从一个位置移动到另一位置? DELPHI的两个问题! 请教ADO控件 哪里有可以监控别的工作站的倥件? 请进来帮我看看这段代码 怎么编辑project
汉语是酷必了
汉语是酷必了
汉语是酷必了
汉语是酷必了
汉语是酷必了
为她自豪过,因为在学校里学的是PASCAL;自从我学了C后,
对PASCAL就没有了一点兴趣,有比较才能知道差别!
两种语言各有常处,看你擅长什么了。语言本身再好,你不行,有用吗?
关健还在于自身。可能pascal,delphi在你的手中没有任何作用,在其他人手中却功能强大。
谁讲DELPHI没有用了?
功能都是一样的,主要是习惯和方便而已。
Pascal最初是作为一种教学语言出现的
具有语法严谨,结构优雅的特点,非常适合用于描述数据结构或算法
后来出现了Pascal编译器,于是Pascal开始了发展
Borland对Pascal的发展做出了很多贡献 但Borland的Pascal并不是唯一的。
(有许多民间Pascal组织 例如FreePascal组织和免费的Object Pascal编译器 :))
(注:Object Pascal的来源我不太清楚,好像是来自于苹果公司的,苹果公司
有麦金脱什平台的Object Pascal标准)
经过发展的Object Pascal功能强大 好像(怎么这么多好像呀:) )
麦金脱什(苹果的OS,忘了怎么拼了)就是用Pascal写成的>如果Borland完蛋,Object Pascal也就完蛋了,而C++还将继续。
这是绝对不可能的 :)
就像C++是C的超集一样 Object Pascal 也是Pascal的一个超集
由Pascal到Object Pascal的发展是非常自然的
也有很少的从大一开始干C++的。Object Pascal真正有点资本是Mac OS,
很难得有这么一个PASCAL写的OS,可以作为资本聊以自慰。
至于WINDOWS下的,就没什么好说了。DELPHI是Borland一相情愿自己不停地扩充,
反正不象C/C++有个明确的标准,除了Borland也没几个屑于做PASCAL,
渐渐PASCAL居然也爬出来了。PASCAL语言本身结构注定了不能做大,
比如declare和implement在一个地方,缺少预定义和模板。有人可能想到JAVA了,
JAVA虽然没有,但是只要想发展,JAVA必然会引入template(这话可不是我最先说的)。反正不知道PASCAL什么时候变成了Object Pascal,但是对于OO来说,
继承只不过是有性生殖,而另一半template这个无性生殖同样重要。
PASCAL毕竟老了,除非来个脱胎换骨得更新或者有个标准。C++在同样的时间
已经更新到第二代了,OP恐怕还有很长的路要走。或者说,如果Borland完蛋了,
恐怕没有人愿意在PC上继续下去(除了个字符方式的Virtual Pascal),
而OP恐怕连路也不用走了。Borland最可恶的地方就是醉心于DELPHI而不努力做C++Builder,好好的C++加
了一大堆PASCAL在里面,给人的感觉不伦不类。PASCL本来就不适合写类库,
搞得VCL错误又多,效率又低,泄露还不少,再这样下去,BCB恐怕也没人用了。
如若要比较VC和Delphi的话,我个人更推崇Delphi,要弄
C++我宁愿用CB。
有的学校已用JAVA代替PASCAL,
首先我不想评价所谓“pascal是玩具语言”这种无知的说法。某些连basic都用不好的
人是不可能正确评价其它语言的优劣的。至于“只配高中生使用”就更加可笑了:
peter norton没上过大学,id software的john carmack没上过大学,你不服气?!
请不要嘲笑高中生,大多数程序员可能永远也达不到这些“高中生”的水平。创造性工
作需要的是天才,你认为天才相当于什么学位?:-)(1) 预处理,宏以及.h文件
object pascal不支持预处理,其实是不需要。无法直接编译源代码的编译器才需要预
处理器的支持(用于翻译/规范源程序(也包括.h之类)以利于编译)。预处理器的出现是
因为当初ken thompson和dennis ritchie要在只有256k内存的pdp-11上实现c编译器难
度很大,才采取的折衷办法。现代大多数c/c++产品已经把预处理器包含在编译器中了。
(ps:c中采用尽可能短的关键字/运算符也是由于这个历史原因)
至于macro和.h则应该说是垃圾特性,只是由于兼容性的考虑才保留下来的。ansi/iso
c/c++规范中明确建议:“不要使用macro和.h,应该使用程序中的常量定义和函数替
代”。因为macro和.h不是c/c++的语言特性(这是真的!),没有明确统一的语法定义。
还会导致编译速度降低,另外由于macro在每个使用的地方被展开(不是调用),大量使
用macro会使生成的代码臃肿。(2) 集合,子界类型
c++不支持这些object pascal的原生类型(编译器能直接识别的)。但可以用类来模拟,
毕竟c++的对象结构是最复杂灵活的(ada除外)。不过性能有损失。(3) 枚举类型
object pascal不支持为每个枚举元素指定值。
例如c/c++中可以定义:enum aweek {sun = 1, mon, tue ...};
object pascal中只能定义:aweek = (sun, mon, tue ...);(4) 数组
c/c++不支持object pascal中指定下标的数组,下标只能从0开始。(5) 结构
object pascal不支持struct(在pascal中称为record)中的位域(bitfield)。bitfield
可以bit为单位(不需要整字节)来存储结构成员,可以减小结构的存储空间。不过存取
效率会有所降低。(6) 字符串
字符串处理是object pascal的强项之一。能够支持灵活高效的串处理。严格意义上讲,
c/c++不能算支持原生的字符串类型。char *和char[]更近似于用户自定义类型,因为
编译器不支持字符串的内存自动分配和回收,需要用户自己调用malloc()和free()。
object pascal也支持c/c++风格的字符串(称为pchar)。不过string类型更加强大。从
实现上来看,object pascal的string类型使用前缀表示串长度(1字节前缀的short
string和4字节前缀的long string,两种string自动兼容,并且long string也兼容
pchar),c/c++中的char *和char[]使用后缀chr(0)表示串结束。不同的表示方法对串
处理性能有很大的影响:对于大量,复杂的字符串操作,用object pascal可以写出比
c/c++快几十倍的程序(许多用pascal写的pascal编译器,比如free pascal,
pascal pro等,虽然技术水平一般,但编译速度也很快,在某种程度上也得益于pascal
的字符串处理效率)。比如取串长度函数length/strlen(),object pascal的实现只需
要一条mov指令,而c/c++的实现则需要进行重复串扫描直到找到结尾0为止。
object pascal的string类型在支持unicode字符方面也有优势。要知道c/c++的字符串
给现代操作系统支持unicode字符带来了很大的困扰,比如串'abc'的unicode表示为:
41 00 42 00 43 00,这使c/c++程序根本无法处理这种字符串。虽然修改编译器可以很
容易解决这个问题,但光修改编译器是不够的,还要修改操作系统,否则以前的大量
c/c++程序根本无法在新操作系统上使用(这简直是灾难 --- 你连notepad都没了,怎么
办?:-)。windows采用凡是涉及字符串处理的api都提供两套的解决方案。比如textout,
有用于处理ascii字符的textouta和用于处理unicode字符的textoutw。而unix/linux采
用另一种办法:凡是涉及字符串处理的api都使用utf8压缩编码(一种类似于rtf的编码
方法:凡是ascii字符都直接存储,多字节字符则用\进行转义),虽然(勉强)保证了兼
容性却也代价不小。
(ps:c++中的string/ansistring是用类模拟的,所以性能...)(7) 多重继承
毫无疑问,object pascal不支持多重继承;并且也看不出borland有增加这一特性的意
向(其实增加是轻而易举的)。object pascal通过接口(interface)实现多重继承。
interface不仅可以引入用object pascal实现的对象,也可以引入其他语言实现的
com/dcom/corba对象。你真的需要多重继承吗?我想大多数程序员和我一样都从来没有
使用过多重继承(连vcl这么强大灵活的体系结构都根本没有用到多重继承)。
(ps:java和delphi一样不支持多重继承,也使用interface来实现多重继承。其实这并
不奇怪:jdk 1.2和java 2主要是由borland开发的,sun只挂名而已。不信你看java类
库是不是和vcl很象。:-)(8) 对象模板
object pascal不支持对象模板。因为对象模板不过是宏的语言实现而已(宏本身不是
c/c++的语言特性)。(9) 重载
object pascal支持函数/过程的重载,不支持运算符重载。c++全部支持。
(ps:我个人倾向于object pascal应该增加对运算符重载的支持)(10) 位及逻辑操作
object pascal和c/c++在这方面没什么差别。
c/c++的&,|,~,^,>>,<<,&&,||,!等效于object pascal的and,or,not,xor,
shr,shl(and,or,not,xor既用于位操作也用于逻辑操作)。不过c/c++不支持逻辑
xor(a xor b = a and not b or not a and b,还是可以实现的)。(11) 风格
其实这是我更倾向于使用delphi的一个重要原因(由于工作的原因,我也经常使用c++和
汇编)。就象有些文章所说的:“object pascal和c++是同一重量级的语言”,确实难
分轩轾,差别反而主要是在风格上。c++强调灵活,而object pascal更注重整洁和优美。
《程序设计语言:设计与实现》一书的作者也称赞pascal是“一种极优美的语言”。有
人因此认为pascal“笨拙”。其实应该是“大道至简”。我认为即使用c++写程序也还
是工工整整的好,不要卖弄技巧。只有水平不高不低的程序员才喜欢卖弄技巧(水平太
低的卖弄不了,太高的又不愿卖弄了)。就象有人评李昌镐的棋“平淡”,但马晓春再
怎么“鬼才”也只能甘拜下风。
其实我真的搞不懂,你们为什么在CSDN上老是讨论这种无聊的问题,哪种语言并不重要,
重要的在于自身。
你说vc,java好,没错在一些地方的确好,delphi(pascal)不好吗?各种语言都有自已优势。在此不必多说。还有它们好的地方你们用到了吗?熟悉了吗?我敢说,你们用到它们的好处最多不超过6成。所以不必多说,还是把说的功夫用在学习上,这样,才能振兴中国的软件事业。
别让MS..等美国老再占居我们中国软件事场。它们在我们身上捞的钱已经不少了。
所以各位国人,各们程序员,努力吧!!!
这个我就更难以理解了
VCL从发布到现在的结构改动是很小的,优良的设计是无可争议的。
(Java的类库和VCL也有异曲同工之妙)
至于错误多这个我不知如何应对,但是我提醒你可能没有使用Update补丁包,
同时有错误不是Pascal的错呀 :)
效率低我认为更是无从说起了
内存泄漏问题可能有,这与程序的BUG有关,与语言也没有什么
大的关系,并且这种错误在发现后是很容易修改的,我估计在打了补丁后就好了 :)
vb 用 me表示, 这是相当于上海话中的“阿拉”;
delphi用self表示,这是相当于东北话中的"俺";
bcb 用this表示,这相当于陕西话中的"偶";
vb 用 me表示, 这是相当于上海话中的“阿拉”;
delphi用self表示,这是相当于东北话中的"俺";
bcb 用this表示,这相当于陕西话中的"偶";
vb 用 me表示, 这是相当于上海话中的“阿拉”;
delphi用self表示,这是相当于东北话中的"俺";
bcb 用this表示,这相当于陕西话中的"偶";
vb 用 me表示, 这是相当于上海话中的“阿拉”;
delphi用self表示,这是相当于东北话中的"俺";
bcb 用this表示,这相当于陕西话中的"偶";
可能是语言标准设计者怕有抄袭之嫌
模板和运算符重载是非常重要的,正如大师们所说的,继承只是OO的一半,有性生殖而已。
无性生殖呢?自己吃不到葡萄说葡萄酸,貌似公正而已。字符串的问题,C++的标准里明确就std::string这一项,作者恐怕知道太少了吧。
而它的效率,呵呵,自己去看看再说吧。如果你的C语言水平还算过得去的话,就算
用指针不知道又有什么问题?还有什么集合这些,C++里早就有了,PASCAL还在自鸣得意。C++的标准里有set,tree,
list,double-list,deque,stack等等各种数据类型,PASCAL没什么标准,倒也无所谓了。
居然还有人吹嘘C++不支持Unicode,麻烦,看到都无聊,好好钻研钻研C++标准再说话吧。再说VCL的问题。PASCAL绝对不是个写类库的料,VCL的内存泄露之多已经是事实。
内存泄露并不可怕,WINDOWS自身也有,关键是多少的问题。您自己不妨看看,不要写一句话,
就用鼠标在Form上多放点东西,用Memproof和BoundsChecker一看,差点被吓死。
VCL思想的先进性是绝对的,不容质疑的,而选择PASCAL来写真是失败。效率低下这也是事实,
有人喜欢骂VC里的宏太烦,你以为微软真的这么笨不会用其他简洁的代替么?消息映射的效率
就这样来的。唯一让我觉得奇怪的就是从Turbo Pascal开始,PASCAL编译后的文件就比C/C++小,一直如此。
不知道是不是移植性的问题,可惜我们一般人又不用。至于效率,嘿嘿,C/C++始终会比PASCAL
快一点点,不多,仅仅一点点。以前中学的时候比赛算法,已经无数次证明了这个,原因嘛,多
半是C/C++的register作循环变量了。