日期:2014-05-18  浏览次数:21371 次

C#.NET与Delphi的比较,请指教
一.性能差异.
  C#无法开发较大型的桌面,虽然有些人说什么Paint.net,Sql2005的管理器,飞信等,
  但我不能认为是较大型的,Delphi作的大型桌面程序如Protel,这是一个作电路设计工具,相当不错.
  C#开发的较大型桌面程序我没有见过,虽然C#发展快10年,在这方面没有作为.
二.WEB开发差异.
  Delphi在这方面的开发效率上不如C#
三.C#定位在WEB开发.
  大家看看VS2010对Winform也没有什么更新.而Asp.net方面的却大量改进.
四.C#开发Winform没有Delphi的控件多
  虽然Net下也有许多的第三方控件,当你用上的时候Bug多,或是把你的Winform程序拖的很慢.有人会不同意我的
  看法,说去买更好的硬件配置.我同意软硬联盟嘛!谁也没有推翻过.只有认了.... Delphi在这方面做的很好.很少受制于软硬联盟.
五.麻烦的互操作.
  你要去学习和理解C++的数据类型,你才能在Net中更好地利用互操作.互操作的性能也没有直接调用API来的快,直接.
  Delphi在调用API时就很不错,性能没有影响或更快
六.IDE的智能提示是C#的强项,相当容易写代码,虽然它的代码比Delpi长.如果你要写C#代码,如果离开了Viual studo
  这个IDE,你一事无成,效率急剧下降,Delphi,VC++不会这样.
七.数据库方面
  C#除了应用Ado.net进行数据库访问是相当不错的以外,其它的一点优势也没有,Delphi的DBE总是不真气,现在大量Delphi
  数据库开发还是用ADO,烦.
八.小心对Winform的投资,现在微软在搞什么WPF,看起来好象不错,很炫,但是如果你做工业和管理方面的软件时,你需要炫的界面吗?
太炫的界面,那些工业与管理方面的人员都年龄较大,有时不找不到你的按钮在那里呢?呵呵..当然也有天才20出头当工程师的.
  微软会让你丢失投资.如FOxPRO>VFP>VB6>PageFront>Winform,推出了不久会不受支持,有人会说你为什么去学汇编/C/C++,说的好
  我现在就建议楼主多学习这些.它不会让你的投资白搭.
总结:性能, C#一个字:慢,Delphi一个字:快
  效率,差不多.
  桌面开发 C#弱 Delphi 强
  WEB开发 C#强 Delphi 弱
  数据库开 C#弱 Delphi 强
  IDE C#强 Delphi 弱

------解决方案--------------------
(1) C# 和 Delphi 不是一个时代的东西,确切地说,Delphi 的架构师搞出了 Delphi 然后跑到 M$ 搞出了 C#。
(2) C# 是不断改进的,并且正在成长的语言。C# 1.0 和 C# 4.0 完全不是一个东西。

而且 Windows 平台是微软说了算,Delphi 最大的遗憾也是这个,所有的非 M$ 开发工具最后都消失了。

至于Protel,是Delphi开发的么?至少Protel99感觉是VC搞的。
------解决方案--------------------
Windows平台下,Delphi以后绝对不可能和C#相比,无论是Web、WinForm。
(1)桌面开发,微软开发的操作系统,现在.NET已经是Windows PlatForm SDK 的一部分了。WPF更简化了桌面的开发。VS2010的界面很漂亮,但是作为商业、工业软件一点也不过分,而且漂亮不是WPF的全部。
(2)Web开发,看好MVC
(3)数据库开发,Windows Server + SQL Server 都是微软的,还用说么?看看 Entity,就知道Delphi 年代的数据库技术完全可以丢掉了。
(4)IDE,不用说的。

至于WCF WF Mobile 中间件 团队开发 EAI MDA。。。lz对C#了解太肤浅

最后说说性能。
我非常看好.NET,因为作为动态语言,可以在不修改程序的情况下,自动识别平台,为特定处理器做优化,尤其是现代处理器支持的指令集越来越多,架构差异越来越大。这种处理器运算很快的程序,未必在另一个处理器上运行良好,Delphi这种静态语言无能为力。
支持高速缓存优化、分支预测优化,支持加速指令集,使得.NET程序越来越快。
.NET4.0引入了并行框架,更是充分利用了多内核处理器和HT处理器的功能。
所以现在.NET程序速度高Delphi十多倍一点也不希奇
------解决方案--------------------
其实语言之争没有意义。

看得出lz对Delphi比较熟悉,但是对.NET就了解不多了。
任何语言、技术,如果没有人去掌握,都是摆设而已。

不了解.NET自然觉得.NET不好用,再道听途说一下,真的就信了,这种先入为主很不好。

我不是想说明.NET有多好,我只是说,作为程序员,不要拒绝学习新的技术,尤其是学了一点点,觉得“不过如此”,抱着这种心态,还没有接触新技术,已经有定论了。然后就放弃,最后就落伍了。

当然了,很多新技术也是昙花一现,也不乏商业炒作。
------解决方案--------------------
千万别去拿一种语言与另一种语言比较,因为很容易包含着个人因素在里面,不是说这里是C#版我就一定说C#好,但是楼主您这句“小心对Winform的投资,现在微软在搞什么WPF,看起来好象不错,很炫,但是如果你做工业和管理方面的软件时,你需要炫的界面吗? 
太炫的界面,那些工业与管理方面的人员都年龄较大,有时不找不到你的按钮在那里呢?呵呵..当然也有天才20出头当工程师的. ”就有失公允了。每种语言都有他的侧重点,关键看你用他做什么,以前不也有很多人用VB写界面,VC写后台的么。所以说,不管哪种语言,他都一定会有他的强处,也一定会有他的弱点。

------解决方案--------------------
你以前不贴过了么,lz既然这么反感c#,可以不用么。。。。。
delphi/c++builder我之前也用了好几年,
c#的贡献是让程序员从成天拘泥于coding细节,整天孤芳自赏自然为完美的代码、纠缠在bug和FreeAndNil的生活里摆脱出来,从而思考更有价值的事情,提高生产率,例如整体设计,用户体验,业务逻辑,而不是重复地造轮子,每个人造出来的轮子还不一样,而设计/系统分析这个能力却是传统程序员所缺乏和厌恶的,传统程序员更喜欢一个人闷在工作间里花了一个礼拜以做出了一个漂亮的五角星按钮为荣,因为我以前也是这样,正视自己的不足才能不断改进,

没有枪的年代,人们只能拿刀砍,当有人抱怨枪的出现使得士兵的个人价值变少了,另一些人却在发明大炮,而这在用刀的年代根本无法想象
------解决方案--------------------
我现在除了winform,还在强化webform(asp.net),偶尔还看看wpf,不觉得有什么难的啊,以前我从delphi转c#的时候也是犹豫了很长一段时间,winform的确有些不足之处,但也不是你说的一无是处,各种技术之间有交叉,有不同的好的设计思路,学学没什么坏处
------解决方案--------------------
caozhy、wartim兄有所不知,

LZ经常喜欢发些炮轰MS的帖子的,不需要和他理论的,他说啥咱听着就是了。。。不过LZ有几分真材实料,不