专家对VC与C#的比较

  现在总能在这个版块看到这样那样的讨论VC、C++语言是不是要淘汰,被C#彻底取代诸如此类,这就是传说中的“月经贴”。一些新手可能就会因为看到这些帖子感到迷茫,比如他们正在开始学VC,要是突然发现被淘汰了,岂不是白学了?对此我认真看了每次的“月经贴”,论坛中的一些老大们的言语我也都看在眼里,他们对此是看得很清楚的。接下来我将会用中肯的语言说说我的见解,各位有什么意见可以跟帖讨论。

 

      先说语言,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了,类库中均有提供也说不定。

 

      我们为什么学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,驱动吧?

时间: 2024-08-01 17:58:22

专家对VC与C#的比较的相关文章

创业邦CEO南立新:如何6分钟打动VC

南立新微访谈页面截图新浪科技讯 北京时间7月21日消息,伴随着近几年如火如荼的创业风潮,各色各样的外资或本土VC以诱人的姿态出现在中国创业者面前.今天上午,创业邦传播CEO兼出版人南立新(微博)做客新浪微访谈,与创业者们就如何打动VC的问题进行了交流.以下为微访谈实录:提问:如果要打动vc这6分钟要怎么分配呢?南立新:其实6分钟 源于电梯间陈述,假如你和你未来的投资者,狭路相逢,怎样用很多的语言吸引他的注意力呢?我们的总结的秘诀如下:1.2-3分钟,介绍做什么(产品.技术.客户是谁.市场前景),

忽悠VC指南:假装成一名人工智能专家的正确姿势

不知道你是否已经感受到了人工智能的存在.最近两年间,关于"人工智能和机器学习将如何革新每个行业","所有的工作都将消失",类似这种论调的预言简直无穷无尽.不过,这也意味着人工智能领域存在着多种可能和巨大的机遇. 我的一位做风投的朋友告诉我,他们现在接触到的项目至少有75%都会包含人工智能的内容,项目花开遍地.甚至此时此刻,这个世界上每10.9个小时就有一家人工智能公司诞生-- 不过VC手里的预算是有限的,如何说服对面坐着的人心甘情愿的将兜里的钱投给你?你会惊喜的发现

Windows按键突破专家的原理

相信在window按键突破专家没有出来的时候,很多人还不知道软件还可以这样编的吧,本人也是一样,当知道有window按键突破专家这个软件时,仔细去想一下它的实现原理,才突然恍然大悟,原来原理居然是这么的简单,为什么以前我就没有想到呢. 好了,不说那么多废话,直接进入主题,我先是说说按键突破的原理.实现按键突破的其实就是EnableWindow这个函数. BOOL EnableWindow( HWND hWnd, BOOL bEnable ); hWnd 指定将要启用或者禁用的窗口的句柄: bEn

第一财经周刊:寻找最有价值VC

图为<第一财经周刊>杂志封面 在对VC的评价体系中,我们引入了"客户评价"的概念-好的VC提供的不仅是钱,还有某些特定的资源与服务,这些被我们统称为"附加值".而这些附加值是否有用,只有享受到服务的被投资公司有权评价. "有好项目随时打电话给我." 8月6日,在北京服装学院的校园里,红杉中国合伙人周逵说了这样的告别语. 1个小时之前,周逵乘坐计程车来到这所学校的摄影棚,完成<第一财经周刊>对其采访的最后一个环节-照片拍摄.

专家是什么?我真的想知道(转)

英文原文:What's An Expert? I Sincerely Want To Know. 有人在 Quora 问道,"答案应该被分类为专家级/非专家级吗?" 我回应: 没有专家这回事儿. 首先,有一堆轶事. 在 1799 年,乔治·华盛顿感冒了,他咳嗽.发高烧.这被视作紧急情况,最伟大的.在世的美国人生病了!在此之前的大约 2000 年里,血液被认为是身体里的主要力量.如果某人病了,血液中的某些东东需要被排出去.最终,放血.我不知道吸血的水蛭是否参与了.第二天乔治·华盛顿去世了

AI 创业 5 问,顶级 VC 与技术领袖犀利评审 | 新智元百人会在红杉

2017年2月22日,新智元百人会2月闭门论坛暨新智元创业大赛评审会在红杉资本中国基金会议室召开.来自投资界.企业界和学术界25名评审坐阵,其中包括共同捕猎2017年的"AI 创业独角兽".  新智元"寻找AI 独角兽" 创业大赛从2017年1月 启动至2月21日,共收到100多份BP.本次会议对闯过初审关的 20 家创业企业进行再评审,25名专家评审根据"技术实力"."商业潜力"."团队亮点"和"

《圣殿祭司的ASP.NET4.0专家技术手册》----1-11 代码段

1-11 代码段 圣殿祭司的ASP.NET4.0专家技术手册 代码段英文叫Code Snippet,又称为IntelliSense Code Snippet,它是在Visual Studio程序编辑器中,单击鼠标右键或快捷键就能够选择一堆内建的程序片段.如图1-26所示,在VB内建了好几百个代码段,但C# 相对少许多,如图1-27所示. 使用代码段最大优点是:"可以减少你花在寻找范例程序代码的时间,减少学习使用不熟悉功能所需的时间,以及支持重复使用程序代码,由此提高效率."现在程序类别

VC++程序调试

1          前言       当程序的运行结果与程序员预想的不一样,如死机,计算值不正确,出现内存访问冲突等,就需要进行调试 2          进行调试前的准备工作       因为程序调试是一项十分耗时的工作,很难估计出将要花费多长时间,因此在调试前,一定要做好充分准备,尽量避免做无用功: 1.     构造好的测试步骤,让程序出错有规律性或出错的概率越大越好 2.    被调试程序及相关库是最符合要求的版本 3.    工程临时文件如.ncb被删除 4.    整个工程被重新编

联想创投入围清科TOP VC 看好六大投资新领域

12月8日,"清科集团2016中国股权投资年度排名榜单"在北京隆重揭晓.联想创投凭借2016年优秀的投资业绩,入选"2016中国互联网/移动互联网领域活跃投资机构20强"."2016年中国智能制造领域活跃投资机构10强"以及"2016年中国企业服务领域活跃投资机构10强".在竞争最为激烈的VC总榜单,联想创投与IDG.红杉资本.君联资本.北极光创投.经纬.启明创投.软银中国等知名机构一同上榜"2016年中国创业投资机