1,运行效率肯定比不上VC,不过想必你也不会写什么很大的软件,最大也不会超过word这个级别的。所以你不需要考虑运行效率的问题。即使是VB,离VC也有一定差距。有一份资料调查过的。这个取决于编译器,而不仅仅是编程语言。另外,C#采用了Just-In-Time技术,可以在运行前编译成本地代码,可以大大提高运行速度。这个技术已经在Java中被证明是非常有效的。
2,环境支持和平台无关性是一对trade-off。你说的这个c#的问题以前在java身上就很明显。虽然java写的程序能一次编译到处运行,但如果没有JRE或者JDK的支持就不可能运行。早先java程序员的一个问题就是如何分发自己java程序到没有安装jre的机器上。后来这个问题被InstallAnywhere解决了,即安装的同时也安装Jre。我相信C#也会以同样的形式解决这个问题的,尤其在目前MS和sun相互顶牛的情况下。微软肯定会推出基于各种平台的.net framework,比如for solaris的,比如for linux的,for mac的等等。
如果觉得我回答得可以得话,记得给分。

解决方案 »

  1.   

    如果是相对低档的机器,那还是VC吧
    .net framework面向的毕竟不是win95和MMX 166,你说是不是?
    以后就逐渐逐渐转向win2000和xp了,win98已经是底线了。

    你说的低档机器的问题以前在java上也曾经讨论过,讨论java这种低速的字节码怎么适应比较差的机器。在pII 200+64M的年代,运行一个jbuilder2已经很痛苦了,而jbuilder3简直是不可运行的。但现在一般的机器都PIII 500+256M了,运行java已经基本没有困难了。有时候软件会超前硬件的发展。
      

  2.   

    你说的这些我都认同。
    但是
    虽然win98已是底线了,但据我所知,现在大多企业内部还在使MMX+32M+Win98客户就是上帝,某些客户不愿意在付开发费用的同时再花大把的钞票去升级机器。
    或者说,那么高额(包括硬件支持)的开发费用会失去一些客户的。
    短时期内还得靠VC吃钣.