在vs2003中用C#开发的winform程序,跟在win32下用VC/delphi/BCB开发的传统程序有什么不同?
我知道用C#开发的任何程序winform、ASP.net、.net组件都必须带上.net公共语言运行库CLR,因为这种方式下并不生成真正意义上的.exe文件,但用传统原生的工具如delphi则可以。一般理解,原生exe程序应该比.net程序要快。用.net开发winform程序既有发布上的麻烦,又有运行上的折扣,这么说来,VS开发WinForm程序岂不是没有价值?难道VS的价值仅在于开发ASP.Net或WebService程序?

解决方案 »

  1.   

    用windows2003及以后版的操作系统就没有发布麻烦了,系统自带了公共语言运行库:
    .net程序是首次运行编译成本机代码的,所以首次运行可能会慢点,以后运行,在速度上应该问题不大的,就一般应用是足够的了,至少会比Java之类的语言写的From好看,快得多
      

  2.   

    另外,用传统的工具开发win32程序还有一些优势,比如第三方控件特别多,可以使用指针等。
    如使用delphi开发,第三方组件涵盖了数据库、多媒体/图形、网络、web等领域,随便数一数成熟可用美观的控件就有20多个,开发起来只要多想工作流程和业务逻辑,在界面上不需要太动脑筋。另外,我觉得.net的垃圾回收机制并没有多少用途,一个真正的程序员不使用指针浑身不自在,我new(在delphi中用Create)一个对象或分配一块内存然后delete(在delphi中用FreeAndNil)释放,一个严谨的程序员一般不会出现内存泄漏的。虽然C#在不安全模式下可用指针,但这给用指针戴了个奇怪的帽子,谁还会用它呢?
      

  3.   

    有了clr,从语言层次来说,是有了飞跃性的变化
      

  4.   

    功能丰富的.Net framework可以为你省去许多工作.
    而且有非常丰富的UI库可以使用.
      

  5.   

    .net 的类库非常强大了,很多东西都给你做好了,你用它来开发应用程序很方便,很快捷。
    用.net的好处是:不但有VB6.0的开发效率,而且还有Delphi的运行效率。
      

  6.   

    .NET开发工具主要是从应用程序构架上有很大的革命,你可以想象VB.NET的东西到了C#.NET上也很使用,这是个什么概念.虽然性能上有折扣,但是对于一般应用来说根本就反映不出来,以后随着硬件技术的发展,那点性能折扣算什么。