VC的前途在哪里?

windmind2005 2012-11-03 11:44:34
说实话,我从VC1.0用到VC10(2010),对VC是没什么留恋的。只是项目还要用它,工具而已。
VC的搭配MFC作为MS在桌面平台的开发基础框架,它的诞生有着重大的历史意义。可以说,用VC,多数要用到MFC。
然而,MS的平台战略早已转移到.NET,所以VC及其伴生的MFC就有些不妙了。底层当然还要C/C++来干活。但MFC绝对尴尬了。
MFC诞生的时候,VC的编译器对C++的支持就不好,到了VC6(98),基本在各个C++编译器中对C++标准的支持仍处于落后地位。所以MFC用了大量的宏——标准的C编程模式来处理复杂的Windows程序逻辑。这是不得已,也是对C++非常规的使用。自然,好处就是运行效率高啦。当然,本文的目的不是对MFC如何褒贬。只是指出MFC根本问题产生的根源——为何那么多有经验的程序员说MFC“陈旧”。
90年代末(当然是上世纪),互联网兴起,Linux/Unix程序员终于有了出头之日,在如日中天的网络编程中如鱼得水。直到现在,我们看到用C++作工具的先进技术,几乎都来源于Linux/Unix平台。不得不说,VC现在地位江河日下。但毕竟VC还是Windows平台生产商出产,对Windows的天然支持最好,目前Windows在桌面系统还占统治地位,VC仍有用武之地。但不可否认,现在已经不是1999年以前了。
从市场的角度,从用户的角度看编程工具,VC还是有用,但地位大不如前。VC的前途实际就是Windows的前途。统治桌面的MS,在移动平台,完败给苹果和Google,它要奋起直追,还要捍卫自己的桌面地位。Win8、WP8、Surface等等新玩意都是这个目的。但我悲哀的发现,这里面其实没多少VC的事,VC原来能干的,现在也没增加多少,而这些是C#的天地——虽然C++也能干。看这个厂家对其开发工具的支持程度的变化,就能知道它的发展战略。起码,从VC的遭遇,应该已经看到了这个开发工具在MS眼中的地位。
掌握C#是个不错的主意,对C++熟悉的,C#上手时间极短,有个外国人写了个C++程序员上手C#的手册,几十分钟就能读完。所以,上帝的归上帝,凯撒的归凯撒。VC掌握了,VC#也要掌握。避免落伍,避免find job时陷入尴尬。
其实,如果你编程有相当的经验,不会耿耿于怀VC的前途。它的前途其实不能左右自己的前途。当然,谁也不希望自己花费大力气掌握的技术过时不能用了。VC恰恰就是一个曾经辉煌,学习曲线很陡,未来前途并非光明的工具。工具光明与否不重要,重要的是你通过这个工具学到了什么——千万别说“我就学会了VC编程”,这种结论对你个人的前途不太有利。
...全文
1252 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
HisinWang 2012-11-05
我现在工作中主要用MFC 虽然.Net是Windows平台开发上的主流趋势 但确实很抵触.Net,比较喜欢C++ 像我这样的程序员 该怎么办 望指点 谢谢
回复
windmind2005 2012-11-05
本人曾在DOS上开始开发,Turbo C2.0用起。转到Windows平台,那是在1994年,正式开始用VC1.0,接着VC2.0/4.0/4.2/5.0/6.0一路用来(老鸟都知道VC没3.0),之后VC7.0,VC8.0略微用了下,觉得问题较多。后来直接跳到VC9.0,现在是VC9.0和VC10.0并用。 VC能开发非常复杂的应用程序,也可作非常底层的编程,如驱动、算法优化之类。但是自从.NET出来以后,VC在Windows平台的地位就让位给VC#。MS曾做过Visual Java,但被Sun控告,说其私自修改Java规范,法院判决MS败诉,从此Java在VisualStudio家族中消失,几年后MS自己搞出C#,基本是Java思想的克隆。MS在互联网时代始终磕磕绊绊,跟着别人走,其间虽然搞了好几次小伎俩的变通,都因为成不了标准而无碍大局。就开发语言而言,MS虽然对国际标准也作了些贡献,但目前最主流的互联网开发语言PHP、Javascript、Python、Ruby和MS的关系都不大,恰恰这些语言都具有强大的跨平台特征,这同MS的商业理念完全抵触。 VC的IDE现在还是无比强大的,MS把这个壳子免费开放了,gcc/g++的也可以用了。习惯VC环境的朋友可以试试。
回复
Eleven 2012-11-04
引用 3 楼 jennyvenus 的回复:
你从vc1.0用到vc10了? 我就学会了VC编程
我就学了VC编程,离学会还远的很~
回复
青松2 2012-11-04
这就是肛门发炎----
回复
其实编程都没学会,就会写一些hello, world级的演示小程序。
回复
你从vc1.0用到vc10了? 我就学会了VC编程
回复
hdg3707 2012-11-04
其实任何开发软件都是个工具,只不过就是个工具使用的便利性,VC这个工具使用要求高些,就象早期出现的照相机,需要一些基本的专业知识.而C#则象个傻瓜相机,大多数不需要学计算机专业课程就可以编出华丽的界面的程序
回复
相关推荐
发帖
非技术类
创建于2007-09-28

1621

社区成员

VC/MFC 非技术类
申请成为版主
帖子事件
创建了帖子
2012-11-03 11:44
社区公告
暂无公告