• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Delphi vs VC

发布: 2008-5-20 09:16 | 作者: 不详 | 来源: 计算机世界 | 查看: 93次 | 进入软件测试论坛讨论

领测软件测试网


(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++写程序也还是工工整整的好,不要卖弄技巧。只有水平不高不低的程序员才喜欢卖弄技巧(水平太低的卖弄不了,太高的又不愿卖弄了)。就象有人评李昌镐的棋“平淡”,但马晓春再怎么“鬼才”也只能甘拜下风。 

上面说的其实都是c++ vs object pascal。不过也适用于vc++ vs delphi。 
(ps:vc++其实并未实现全部ansi/iso c++ 95规范(目前的最新标准)的特性(所以有人戏称之为c+)。而c++ builder则完全兼容ansi/iso c++ 95规范,并支持at&t(c的诞生地)和unix v的全部c++扩展特性。有人称“m$坚持工业标准,borland随意修改”,这是不对的。delphi也全兼容ansi/iso pascal 1983/92规范,以及apple object pascal(用过code warrior professional的应该知道apple的object pascal)。) 
3. 功能及其他 

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网