小弟用C#做了一个windows应用程序,就是一个计算器。
同样也用MFC做了一个。感觉MFC适合开发软件,而C#不适合,通过看关于C#的书籍,认为是开发WEB,后台服务程序的。这两者方向不同,所以选择学哪个语言也会因为方向的不同而不同。我想搞关于WEB的,所以选择了C#,不知道大家对这个是什么看法。希望有经验的兄弟说说各自的看法。

解决方案 »

  1.   

    Longhorn will toally change that.The new Avalon API will make writing client side applications much nicer, powerful and easier.Search for WinFX, Avalon, XAML.
      

  2.   

    确实是C#更好,就我使用C#来看,我没有涉及任何网络方面的,但即使这样,C#依然比C++&MFC的表现来得好,更加安全,更加快速,MFC中需要指针解决的东西,在C#中都有替换的方式,如果一定要使用指针,也可以申明为非安全型而使用,虽然没有使用它的网络方面,但那些方面更加强大,比MFC我觉得我们应该尽快进入C#的世界里,前几天看见一本 petzold的 <C#windows程序设计>,打算买下
      

  3.   

    不过话说回来,如果只学C#,而不学C++,就不会让你走的更远,让你始终停留在编程的最底层。原因是C#靠的是大量类库,算法太少(比C++),自己动手编写代码太少(这样就会产生很大的局限性,这样对初学者肯定没有很大的帮助)。欢迎大家提出异议。
      

  4.   

    C++是一种思想,我只所以用C++是因为他凝聚了太多的智慧,C#执行一个函数就认为是一个消息,发个消息那么笨,个人感觉C#更侧重网络和数据库,如果你会C++就会发现别的语言学起来是那么的容易,Delphi写个程序会把一大堆Panel给你放到面前,怎么感觉怎么乱,好多开发工具都是在牺牲了很多代价之后才体现他的方便性,也就是快速开发,PB的DataWindow确实非常方便,Java因为JVM速度不行,只编译到JAR,当然也是正因为这个才可以跨平台,所以属于编译和解释混合型语言,只对数据库方便,C++没有牺牲什么,对内存性能的管理C++是最好的,很多别的开发工具总是占用着好多应该释放了的内存,可是缺少了现在网络时代应该有的东西:开发周期比较长,所以我的观点是:开发工具各有所长,要看你做什么,为什么不用多语言开发呢,发挥他们各自的优势,还有个原因就是自己对哪种语言最感兴趣并不是这种语言的好坏来决定的,再好的语言可能适合别人自己不一定喜欢,这就是个人的差异,既然是这样为什么不“将计就计”充分发挥呢?
      

  5.   

    楼上的观点,我有点不同意
    你说自己编写代码太少,对初学者没有好处,我觉得不对,编程应该是向着简单的方向发展,而不是越来越复杂,算法有它自己的库提供,不一定要用到c++的STL
    其实C++和C#都是停留在应用层的,驱动层还是C的天下,所以,我觉得新人可以不用学习C++而直接学C#
      

  6.   

    C++是一种思想,我只所以用C++是因为他凝聚了太多的智慧,C#执行一个函数就认为是一个消息,发个消息那么笨,个人感觉C#更侧重网络和数据库,如果你会C++就会发现别的语言学起来是那么的容易,Delphi写个程序会把一大堆Panel给你放到面前,怎么感觉怎么乱,好多开发工具都是在牺牲了很多代价之后才体现他的方便性,也就是快速开发,PB的DataWindow确实非常方便,只对数据库方便,Java因为JVM速度不行,只编译到JAR,当然也是正因为这个才可以跨平台,所以属于编译和解释混合型语言,C++没有牺牲什么,对内存性能的管理C++是最好的,很多别的开发工具总是占用着好多应该释放了的内存,可是缺少了现在网络时代应该有的东西:开发周期比较长,所以我的观点是:开发工具各有所长,要看你做什么,为什么不用多语言开发呢,发挥他们各自的优势,还有个原因就是自己对哪种语言最感兴趣并不是这种语言的好坏来决定的,再好的语言可能适合别人自己不一定喜欢,这就是个人的差异,既然是这样为什么不“将计就计”充分发挥呢?
      

  7.   

    yintongshun(左岸思雨) 说得好啊,编程不管多方便,但思想不成熟,也做不出好的软件,如果初学者都用c#,VB这样的东西,以后肯定不会有太大的发展,永远都做程序员,但学C++就不同了,可以让他们慢慢的理解做软件的思想。有了思想,做软件就会从一个更高的层次看待问题,以后就不会一遇到问题就想到编程的实现,而是从一个整体的角度来设计。
        其实我刚毕业进入软件行业,接触c++后就觉得它不但效率高,而且还有很大的智慧在里面。只要c++功底深厚了,什么语言都容易上手,而且设计软件时的思路也会很正确。设计软件的时候就不会对开发工具下太多功夫,而重点就会放到软件的总体设计思路上了
      

  8.   

    Longhorn will toally change that.应该是totally吧?我的英文不好,差点看不明白.我觉得也是,各有其用吧,C++我当时决定写他是因为为它是一个很高效的语言,非常适合解决我的梦想-----写一个人机对弈的中国象棋软件,我想C#来写这样的一个软件的话必定会有性能的瓶颈吧?请高手fengyuan解答一下.
      

  9.   

    关于两者的优越性,我想从C++编程者和C#编程者两个角度来讨论。
    我在C#发了同样的一个帖子,请大家看看:http://community.csdn.net/Expert/topic/3075/3075482.xml?temp=.8062708
      

  10.   

    > 写一个人机对弈的中国象棋软件,我想C#来写这样的一个软件的话必定会有性能的瓶颈吧?Yes, C# is normally slower than C++. But how much is the difference? 10%, 20%?C++ is slower than assembly. But how many people are writing in assembly code?The fastest code may be machine code generated on the fly. Has anyone done that?
      

  11.   

    我先用 VB, 再用 VC, 再用C#现在,抱着 VC不放了所有的事都让类库做了, 控件做了, 你做什么, 能学到什么???速度倒是其次,毕竟对速度严格要求的软件不是很多,但 C#的速度实在是差太多了, 也许它还需要大幅改进
      

  12.   

    C#浓浓的商业味~当然它是会发展的.
    也许哪天 会有嵌入式C#Longhorn 硬件标配 内存目前暂定1G~~
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    不要评判一种 语言的好坏.
    没有最好的(速度,开发难度,周期).只有适用的