我去年也有这个疑问,也提问过类似的问题,问过许多人。
虽然现在和你一样也是学生,但也就我所懂得的给你说一下吧。
首先,MFC主要是做界面的,界面其实是很次要的东西。
其次,MFC比较容易上手,暂时也没过时,多学一点知识有何不可呢?
其实现在大部分win下用c++开发的公司还是用MFC做界面,那核心部分用什么做呢?
答案是直接调用winAPI,STL什么的,最核心的还是算法。
好的程序员是不会总跟着时髦走的。
一些大公司就直接用c和winAPI,哪有什么先进的工具。
为什么现在C# ,JAVA这么火?
第一是它封装好的库很多,还跨平台,很容易学,很方便用;
第二是它能赚钱,也很好找工作,现在是在移动端开发的浪潮上嘛。
不过根据毕业和实习的学长经验来看,JAVA确实需求很大,很好找工作,但招C++的也是不少的,但是要求更高,所以月薪也普遍比安卓开发之类的高。
最后,我觉得吧,工具只是工具,好的工具都要学,能提高生产效率。
但程序开发的灵魂还是算法,感觉大学期间项目经验肯定积累的不是很多,但尽量多学算法多实践还是很有帮助的。(比如多参加些算法竞赛,每天刷几道ACM题,试着做一些小型的开发。)
这是我的浅见,可能有很多不太正确的地方,希望各位大神批评指正。
如果有以下技术及一定经验,便可以胜任C/C++软件工程师。
1、精通C和C++
2、熟悉数据结构 (能用C或C++实现)
3、了解相关的图形化界面 (windows api ,MFC,VC++)
4、UML及软件工程
5、数据库(大型软件的设计离不开数据库 MS SQL MY SQL 甲骨文)
可有试试qt,基于c++开发,跨平台性能卓越
是的,可以学学Qt,我正在从事这方面的开发