我对C++的前景见解 C++和C#的对比

  从我进入CSDN VC/MFC的那一刻起,总能在这个版块看到这样那样的讨论VC、C++语言是否是要淘汰,被C#完全取代诸如此类,这就是传说中的“月经贴”。一些新手可能就会由于看到这些帖子感到迷茫,好比他们正在开始学VC,要是忽然发现被淘汰了,岂不是白学了?对此我认真看了每次的“月经贴”,论坛中的一些老大们的言语我也都看在眼里,他们对此是看得很清楚的。接下来我将会用中肯的语言说说个人看法,各位有什么意见能够跟帖讨论。c++

  先说语言,C++做为数据结构入门的最佳语言的说法很多,其实有人认为Java更加适合作数据结构入门的语言,我感受其实要看我的的喜爱。可是C#确定不会用来作数据结构入门的语言,C++我认为是一个比较好的理解远离的语言,是一切之本。Java中所说的引用,其实也就是C++中的地址传递的一种形式罢了,C++灵活的强制转换,我以为有得天独厚的优点,拿到一个地址,就能让它成为指向一个数据结构的指针,这是其余语言所没法比拟的。程序员

  没有什么语言能比C++更加贴近Windows自己了,这一点也是不能否认的。若是哪一天C#也能写驱动的时候,那么C++就真的会淘汰了(这天可能不会太远又或者很遥远)。数据库

  C#能作的,C++不必定都能作,C++能作的,C#也不必定都好作,因此常常看到有人拿这2个语言对比,我以为确实没什么必要。编程

  C#繁杂的调用Win32 API的方式,确实让人很不舒服,C++这一点作得比它好。可是,C#强大的网络操做,代码量大大地低于C++,咱们抛弃不用Socket,改用WinInet或是MFC中的封装好的网络类,好比CHttpFile,仍是没C#简单。C#的傻瓜式的类库操做和面向对象编程的完美特性,确实让其成为了Windows平台上最受欢迎的语言。也许,是微软想将Win32 API渐渐地所有封装到C#的类库中去,我感受微软有这个意图,也许未来C#就不须要调用那些繁杂的Win32 API了,类库中均有提供也说不定。站群系统segmentfault

  咱们为何学VC?这点我曾经也问过本身。圣经上说:你必须知道真相,真相会使你自由。咱们学VC是为了自由,不受微软的框制。微软经过种种的FrameWork让你陷于其中,你以为,哇,原来编程是这么容易啊,几句话就能搞定。你想知道微软在内部干了些什么呢?你不知道,固然,你若是认为你不必知道,这个我彻底赞同,我后面会说。就说杀进程吧,C#中不经过Win32 API就那么一种方式,经过System.Diagnostics.Process找到进程,而后Kill之(若是我说的不对,使用C#的朋友请指正),而C++中,咱们彻底有无数种选择,就说不邪恶的,TerminateProcess,邪恶点的呢?不可胜数。进程内存填0,卸载模块,消息洪水,句柄强制关闭,强制释放它的堆,太多太多了,甚至我注入进去,内部Raise一个异常,它也就挂掉了。保护进程, 无论内核下仍是应用层,C#确定是作不了的,C++有本身高端的地方,其余语言没法涉足。你见过C#作的杀毒软件吗?设计模式

  C#,极其简易的界面操做,使人看着很舒服的编码,他有太多的地方,C++根本没法涉足。拿C++作Web Services除非是大脑进水,用C++作网络蜘蛛,也根本是无聊之举,要么就C#,要么就拿Python来干(我的漏见),超级大量的数据,拿垃圾回收基本上为0的C++去作,简直就是自找麻烦。C#的WebForm,和Jsp占据着Web的大片江山,C++能吗?不能。C#是一门博大精深的语言,类库强大到变态,基本上能够这么讲,因此用C++的朋友也不能随便贬低C#程序员,C#的程序员的层次分得比C++多不少,高层的也是象牙塔级别的。C#的架构师,那种恐怖的实力,C++中级程序员是没法想象的。C#更加注重于软件工程的应用,各类设计模式的使用,C++则注重于实现功能。网络

  C#的前景是不错的,我我的很看好它,MSDN 杂志每期的文章可能有8成是C#,C++不算不少,微软的重心可能在C#上,但愿C#逐渐能取代C++。可是C++会这么容易被取代?不可能。就像一个搞管理的,你让他接管搞开发的人,让他从干同样到同时兼干这二样,会有这么简单么?c++的生命力至少还要7-8年,以后才会渐渐的淡出,可是只要追求自由的人存在,C++就不会消失;只要操做系统一天是用C++写的,C++就不会消失。数据结构

  下面说说语言的选择问题,这2种语言各自的优劣,我在上面都作了简要的比较。我在月经贴中总看到争辩,讨论这2种语言哪一个更好,甚至会出现不和谐的字眼。我以为这是何须呢?各自有各自的天地,请你也不要再说什么C++会没落的的话,那是你本身不用,就说C++没落?就像MSDN英文你看不懂,你就说API垃圾?你本身内心认为它不行,怎么贬低,这个随便你本身内心高兴,别拿出来充专家,更别用本身幼稚的思想左右别人。微软4年前就放言,C#将要取代C++,今年都2009了,每一年还不是同样有人跳出来叫嚣?架构

  选什么语言,随本身高兴,须要哪一个用哪一个,这是不矛盾的。开发数据库,我倾向于用C#,作Windows底层,我确定是C++,都掌握下没有坏处。VS2010中C++的新特性各位同胞能够关注下,不知道会加入什么,VC2008的特性我探索了这么久,尚未探索结束。C#是愈来愈好用了,Linq to Sql让不懂数据库的人都能去操作数据库了,辅助一些第三方类库,能发挥强大的威力。彻底取代C++,等操做系统是C#写的,C#能开发系统中的一切组件的时候再说吧,至少如今C#还不能开发IsAPI,驱动吧?嘻嘻编码

相关文章
相关标签/搜索