高分求指导:现在VC++(MFC)需求怎么样,主要适合从事什么开发,大概多久会被淘汰?

是这样的,我刚大学毕业,学的.net方向(C#),但我对C++有非常深厚的兴趣,从2005年开始自学业C++,后来学习MFC,自己用MFC编写了几个小项目,还有两个商业项目。MFC学习和使用的历程,大约是3年。

但是,每当在网上看到,VC++太大、不健壮,MFC太臃肿、设计得不好,现在MFC需求在逐渐消退,最好转到C#、JAVA等方面的开发,等等,这个时候,无疑给了我当头一棒,MFC真的会被淘汰?可我现在只有MFC的项目经验啊。

面临着找工作,我很头痛,看到那么多的企业招聘JAVA工程师、.net工程师,就是没看到多少是招VC(MFC)的。我不要求工资有多高,但我想找MFC的工作,这也是我的兴趣所在。

请各位前辈指引一下,如果我想在IT界混口饭吃,我要怎样选择?
1、MFC真的这么不好吗?
2、如果现在MFC还是有立足之地,最适合哪方面的开发?数据库,还是网络?(包括主要是重新开发项目,或者以前项目的升级维护)?
3、在Windows 7封装.net framework库的同时,MFC是不是真的要被C#这些语言所淘汰?
4、如果我C++功底还好的情况下,转向Linux上的开发怎么样?(上次某公司因为我有MFC三年的开发经验,结果招我做Linux开发,云计算,但我心里没底,想做Windows上的开发,还热爱着我的MFC)

以上,请大家帮我做一下指导,这已经关系到我的前途问题,我真的很迷茫,不知道如何取舍。
如果我满意,只要不是复制粘贴,可加高分感谢,甚至RMB感谢!

个人观点一家之言吧:
1:语言没有好不好一说,mfc仅仅是一个类库,封装的还是底层C++API。
2:mfc不是没有用武之地,而是随着新技术的推广,没人去研究这个东西,所以逐渐退出市场,市场是与供求挂钩的,市场面越大说明东西越流行,同时竞争就越大。
3:从微软本身的意思上来分析,的确是替代品。C#目前是作为NET新技术。
4:其实你舍不得放弃mfc主要在于用习惯、用熟练而已,说明你的c++功底还是不错的,你三年所掌握的c++/mfc开发思想理念完全可以胜任任何一门新语言技术,众所周知玩c++的人是最严谨的程序员,玩c++你都玩得通了,还担心什么?所谓语言区分也就是语法之分,思想都是相通的。话说回来,语言的过时不过时在于市场需求,另外更重要的在于人,在我所认知的行业内,玩c#\java的的确比较多,市场供应也比较大,但是工资待遇都不怎样,回头来看玩c语言和汇编的,工资月薪都基本上w的,尤其是玩底层汇编驱动的,这些玩意其实并不流行,需求也不大,原因在于没有能人,而且这些玩意非常非常困难,所谓语言高低级之分在于人性化,越高级的语言越容易掌握,随便一句函数就能实现什么什么功能,所谓站着巨人的肩膀就是这个感觉。反之越低级的语言越令人头痛,任何功能都要自己写,说白了这工作谁愿意做,而且底层代码级的活多心酸而且困难,手头没词典的话压根敲不进一个代码,但往往这些工作才是最高待遇的,做一年等同别人做四五年,这也就造成了市场供求。

说这么多无非是告诉你,技术不分过时,在于你的编程功底如何?c++很牛的!追问

非常感谢您分四条回答我的问题,我真的不好把分给谁,我还是给先前的那位吧,衷心感谢您的热心回答,下次有机会,再用分感谢您!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-18
不是前辈的回答你4个问题。

1.首先,开发工具没有好与不好,只有适不适合。MFC在效率上比不过WTL,界面炫丽上比不过DirectUI,微软10年前就不用它做界面了,之前看微软推广.NET C#,现在推广WPF,就知道MFC的下场了。只能说,MFC是百足之虫死而未僵。但乐观点地说,现在还有很多公司在招VC程序员,比如我们公司。

2.假如MFC还有立足之地,个人觉得在数据库方面吧,但UI部分占大比例。webservice都将被HTML5淘汰,MFC的网络从何谈起,Win32平台也将落寞。

3.Win7封装.net framework库,其实它还是在之前的DirectUI基础上出来的,你可以看看win7的界面到处都是DirectUIHWND,说到底还是忘不了DirectUI,MFC不会被C#淘汰,这么多年了,你看就知道了。

4.C++的功底好,其实做什么都不是问题。但人说到底都要为自己的未来规划好,从熟悉一门工具到精通这门工具是个最艰难的时期,因此找准开发方向大力磨练是关键,毕竟大量的积累才能为你带来更多的快乐和财富。因此选择Linux和Windows都不是重点,重点的是坚持、磨练。追问

您好,我现在如果还想做MFC,哪方面的开发比较有前途,也就是说短时期内不会被其他技术淘汰的,比如:
基于VC的图形图像(包括OpenGL、DirectShow等)、数据库、C/S架构应用程序、客户端软件,等等,这些您了解吗,我就是想在这里面选择MFC的长处和有发展前途的方向去学习和开发,另外,我个人对图形图像方面,以及软件界面技术兴趣颇深,大学之前我是搞视觉传媒的,图像处理方面的基础扎实

追答

据我在求职过程中的了解,OpenGL和DirectX这方面的图像图形人才较缺,薪资也会较高,但是非常考验基本功,举个比较鲜明的,游戏程序员不仅要熟悉这些图形库,还要有良好的数学功底、算法功底甚至有时候需要用到物理知识,如OpenGL里边的碰撞检测和粒子系统。这些我就不多说,肯定是不会过时的技术。
你想做MFC,基于VC的图形图像我觉得短时间肯定不会被淘汰,至于微软一直压制着OpenGL不断更新DX,我很多搞OpenGL的朋友经常由于这个被迫学习DX,因此假如你对图形图像有兴趣,建议你两个都学。数据库还算稳定,C/S架构应用程序我想就不好说了,网络时代,浏览器的优势越来越明显,很多平台性的东西都一一出炉,这导致了平台性的应用程序只需要用开发平台的接口即可,也就是说win32的程序快被这些那些的平台上的应用程序冲击得毫无用处,结果你自己可以想象。
如果你图像处理方面的基础扎实,建议你继续坚持下去,这方面的需求还是比较缺的,而且它与游戏相通,据我了解,一个游戏程序员(3年)的薪资至少 8k以上,当然有更多也有更少,看个人的能力了。

追问

谢谢您花时间回答我的追问,我现在反正是很茫然,不知道如何选择,更不愿意轻易丢掉使用已久的MFC。可是,您说的图形图像需要数学功底好,我恰恰就是数学功底不好,哎。不管怎么样,我会坚持下去的,不管以后的需求是什么,随着市场的需求,再去学吧,技术是学不尽的,总是要适应社会的。感谢您分四条回答了我的问题,其实还有几位前辈也回答得很好,我真不知道如何取舍,先把分给您吧!

本回答被提问者采纳
第2个回答  2011-12-17
gibsonboy 的观点挺好的,不外乎这些工具,学好一门了,一通百通。其实你可以转到linux开发的,你现在的心理是舍不得放下自己学了3年的MFC,这心情我暂时理解不了,因为我现在大二,自学了一学期的MFC了,但我还是专注C++,暂时无视java等,不要把自己的路定得太死,否则你能走的路就窄了
第3个回答  2011-12-17
mfc确实不咋的,不过c++还是前途无量啊
第4个回答  2011-12-17
假如你够厉害,去哪儿都是主力,没有过时的语言,只有过时的人,ibm还招c++工程师,行业的大牛还会担心这个。。。。。
相似回答