从java转mfc痛苦不?

「已注销」
博客专家认证
2015-05-29 12:15:33
楼主,计算机的c/c++基础算是扎实,学了数据结构和算法,在九度oj做过一些题目。学完的c++基础课程的时候,楼主向学mfc编程,想写出漂亮的桌面应用程序。但是老师说下学期实验室的需要,劝我转学Java,然后一直学java 中,java的基础还行,用java的awt和swing写过记事本,贪吃蛇,坦克大战等。现在楼主对c++忘的差不多了,但是学了java之后,面向对象思想还是深入人心的。
但是java实在是不适合做桌面程序,楼主想在window下写出漂亮的软件,因为楼主进大学之前就想写一个漂亮的桌面软件。以前听说Java是万能,既可以写桌面软件,又可以开发嵌入式和安卓,还有web开发,感觉java就是万能啊。但是学了java之后,发现java的桌面软件是弱点,网上公布的开源项目和代码少之可怜,几乎是没有的。所以,在楼主强烈的想写一个桌面软件的欲望之前(我不知道这个想法有木有错,或许学Java就不应该妄想去写桌面软件吧!),有java se的基础,转向mfc困难么?楼主的c/c++加起来学了三个学期,其中一个学期学c语言基础,一个学期是数据结构与算法,另一个学期是c++,都是学校开的课程!
还有,mfc多久入门?是不是又得从头再来?还有就是java 的awt和swing与mfc的gui编程相似度高么?原理是相似的否?
...全文
1105 61 打赏 收藏 转发到动态 举报
写回复
用AI写文章
61 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-06-10
  • 打赏
  • 举报
回复
慢工出细活!
huanglin03 2015-06-02
  • 打赏
  • 举报
回复
引用 59 楼 hlx_beat 的回复:
[quote=引用 54 楼 bug1190 的回复:] [quote=引用 53 楼 hlx_beat 的回复:] [quote=引用 22 楼 bug1190 的回复:] 哥只看到一大帮人抵毁我大MFC,其实那些人都是不会MFC,或者学了一半就退学的人,说到底就是学习能力不行,哥负责任的告你,你精通MFC之时,就是你傲视其它一切的时候,桌面就是讲界面,就是讲运行效率,搞什么跨平台啊,第三方库啊,,一句话,没本事就别来玩,,你看看人家用MFC做的界面,你那群吊B想做都做不出来的时候,你该有多自信,说到底,自己能开发才叫真本事,你用MFC如果仅限于拖拖标准控件,用用API,那跟你在QT下,C#下那样二者没本质区别,高级的UI控件,高级的界面都是自己开发出来的,MFC就是练这本事的最好工具,绘图的效率那叫杠杠滴,D2D也照样用,等你QT,C#下的标准控件玩腻的时候,你发现你仍然无一技之长,,,就跟上面那群吊B一样,说QT过时了,C#不行了,还是用最新语言去吧
目测你一定不是做互联网这行业的。 互联网的应用第一个要求就是看起来炫,达相同炫的效果你说哪一个开发快。 就如你所说:大型应用是exe,在中国互联网这行业你一个项目三个月还不见眉目,投资商还会让你死撑? 基本上还有一个不成文的规定:安装包尽量小,一堆MFC运行裤,你小给我看看? 当然如果你不是互联网这行业,根本不需要考虑用户体验,能运行就行。 如果你不是互联网行业,还有不用考虑MAC客户端,就不需要考虑代码复用 --------分割线------- 就拿我同事来说,只要我用到系统API函数,他就会问有没有使用C/C++库函数的可能。 如果你做Windows流氓软件,那么用MFC会好很多,流氓软件需要大量的API函数,MFC是首选[/quote] 你要扯到一边扯去,你上面这些言论纯属于是扯淡,,真的,扯淡的很, 说开发慢,那是你手头没有积累到代码,技术掌握不够熟,我保证我MFC开发比你C#开发还要快,你信不信 说什么安装包要求小,别扯淡了,尼TMD的有些网页要安FLASH插件,要安JAVA虚拟机,C#要安.NET,好坏人家WINDOWS 都带了这些,至于MFC更不用你担心了,发布OS时人家都帮你带了了,VC++运行库,还扯安装包尽量小,这属于是扯淡,反正劳次没碰到过这种无理的要求。OFFICE的安装包多大啊,你JAVA的ECLIPS安装包要多大啊,,你关心吗?给你安装包安装就是了,, 还有你说非互联网的根本不需要用户体验,能运行就行,,更是扯淡,再骂你白痴你可能觉得没新意,这样吧,给你讲个实例,上海科江公司是做电视台媒体安播监测这一行的,当年就是他们的CS客户端做的比同行其它家公司做的好,一举中标北京电视台的一千万项目,类似的还有最近的2013年的情况也一样,是新疆的项目,也有一千多万,这些消息在整个行业都炸天了花了,直接挤的其它公司快没项目搞了,其它家公司也有CS,还有做成BS的奇葩,CS的威力不仅是运行效率不是你其它语言能搞的,同样也有UI的要求,你说无用户体验要求绝对是尼玛不动脑子的,要那样的话,人家炒股软件干吗整个行业基本上都做的一模一样, 还有更叼的言论,不是互联网不需要考虑客户端,不需要考虑代码复用???我只想骂你是对CS一点概念没有的白痴,装B的垃圾,[/quote] 语无伦次,我就不信你用MFC和我用UI裤做出相同炫,你的时间就比我少? “不是互联网不需要考虑客户端” 明明是不是互联网就不需要考虑到MAC用户,谈什么代码复用。 还有不要和我谈政府项目,在监控行业待过一年后总结感受:和政府相关项目一定腐败。[/quote] 我在这里敢大胆肯定的判断,你用UI库也就是摆摆库里给你提供的那些常用控件的水平,而哥哥我用MFC,想要啥控件都可以自己做出来-----目前菜单的代码是还没有积累到了,你说没你的炫,鬼才信,管你用什么UI库,QT啊,DirectUI啊,C#的啊,都不在话下,因为我都见过这些库里给你给提供的那套东西,哥哥我专注MFC自绘那么久,连那些端游的辅助我觉得都比不上我的好,秒杀你更是措措有余!,你那代码复用的说法就不要拿出来扯了,,啊,这个真没啥说头,你继续扯,
hlx_beat 2015-06-02
  • 打赏
  • 举报
回复
引用 54 楼 bug1190 的回复:
[quote=引用 53 楼 hlx_beat 的回复:] [quote=引用 22 楼 bug1190 的回复:] 哥只看到一大帮人抵毁我大MFC,其实那些人都是不会MFC,或者学了一半就退学的人,说到底就是学习能力不行,哥负责任的告你,你精通MFC之时,就是你傲视其它一切的时候,桌面就是讲界面,就是讲运行效率,搞什么跨平台啊,第三方库啊,,一句话,没本事就别来玩,,你看看人家用MFC做的界面,你那群吊B想做都做不出来的时候,你该有多自信,说到底,自己能开发才叫真本事,你用MFC如果仅限于拖拖标准控件,用用API,那跟你在QT下,C#下那样二者没本质区别,高级的UI控件,高级的界面都是自己开发出来的,MFC就是练这本事的最好工具,绘图的效率那叫杠杠滴,D2D也照样用,等你QT,C#下的标准控件玩腻的时候,你发现你仍然无一技之长,,,就跟上面那群吊B一样,说QT过时了,C#不行了,还是用最新语言去吧
目测你一定不是做互联网这行业的。 互联网的应用第一个要求就是看起来炫,达相同炫的效果你说哪一个开发快。 就如你所说:大型应用是exe,在中国互联网这行业你一个项目三个月还不见眉目,投资商还会让你死撑? 基本上还有一个不成文的规定:安装包尽量小,一堆MFC运行裤,你小给我看看? 当然如果你不是互联网这行业,根本不需要考虑用户体验,能运行就行。 如果你不是互联网行业,还有不用考虑MAC客户端,就不需要考虑代码复用 --------分割线------- 就拿我同事来说,只要我用到系统API函数,他就会问有没有使用C/C++库函数的可能。 如果你做Windows流氓软件,那么用MFC会好很多,流氓软件需要大量的API函数,MFC是首选[/quote] 你要扯到一边扯去,你上面这些言论纯属于是扯淡,,真的,扯淡的很, 说开发慢,那是你手头没有积累到代码,技术掌握不够熟,我保证我MFC开发比你C#开发还要快,你信不信 说什么安装包要求小,别扯淡了,尼TMD的有些网页要安FLASH插件,要安JAVA虚拟机,C#要安.NET,好坏人家WINDOWS 都带了这些,至于MFC更不用你担心了,发布OS时人家都帮你带了了,VC++运行库,还扯安装包尽量小,这属于是扯淡,反正劳次没碰到过这种无理的要求。OFFICE的安装包多大啊,你JAVA的ECLIPS安装包要多大啊,,你关心吗?给你安装包安装就是了,, 还有你说非互联网的根本不需要用户体验,能运行就行,,更是扯淡,再骂你白痴你可能觉得没新意,这样吧,给你讲个实例,上海科江公司是做电视台媒体安播监测这一行的,当年就是他们的CS客户端做的比同行其它家公司做的好,一举中标北京电视台的一千万项目,类似的还有最近的2013年的情况也一样,是新疆的项目,也有一千多万,这些消息在整个行业都炸天了花了,直接挤的其它公司快没项目搞了,其它家公司也有CS,还有做成BS的奇葩,CS的威力不仅是运行效率不是你其它语言能搞的,同样也有UI的要求,你说无用户体验要求绝对是尼玛不动脑子的,要那样的话,人家炒股软件干吗整个行业基本上都做的一模一样, 还有更叼的言论,不是互联网不需要考虑客户端,不需要考虑代码复用???我只想骂你是对CS一点概念没有的白痴,装B的垃圾,[/quote] 语无伦次,我就不信你用MFC和我用UI裤做出相同炫,你的时间就比我少? “不是互联网不需要考虑客户端” 明明是不是互联网就不需要考虑到MAC用户,谈什么代码复用。 还有不要和我谈政府项目,在监控行业待过一年后总结感受:和政府相关项目一定腐败。
bvxtnoel 2015-06-02
  • 打赏
  • 举报
回复
不考虑跨平台就用C#,跨平台就用GTK+。
paschen 版主 2015-06-02
  • 打赏
  • 举报
回复
引用 55 楼 bug1190 的回复:
你说要跟MFC比炫,这个真不好意思,我敢保证本人PS用的都比你要熟,更别说PNG透明,异形窗体,这些代码级的技术了,总的来说,你是炫不过MFC的,你说MFC不炫,那是你碰到前面那些对MFC只懂皮毛的人太多了。 你身边用了多少EXE,你都熟视无睹,连你天天都在搞的数据库,看看人家ORACLE的吧,你说不考虑用户体验??无脑!
MFC算是特别有WINDOWS编程特色的语言,真值得学下,当然之后想用别的也可以接触下其他的,但我觉得首先把MFC学了是一个不错的选择
hlx_beat 2015-06-02
  • 打赏
  • 举报
回复
引用 60 楼 bug1190 的回复:
[quote=引用 59 楼 hlx_beat 的回复:] [quote=引用 54 楼 bug1190 的回复:] [quote=引用 53 楼 hlx_beat 的回复:] [quote=引用 22 楼 bug1190 的回复:] 哥只看到一大帮人抵毁我大MFC,其实那些人都是不会MFC,或者学了一半就退学的人,说到底就是学习能力不行,哥负责任的告你,你精通MFC之时,就是你傲视其它一切的时候,桌面就是讲界面,就是讲运行效率,搞什么跨平台啊,第三方库啊,,一句话,没本事就别来玩,,你看看人家用MFC做的界面,你那群吊B想做都做不出来的时候,你该有多自信,说到底,自己能开发才叫真本事,你用MFC如果仅限于拖拖标准控件,用用API,那跟你在QT下,C#下那样二者没本质区别,高级的UI控件,高级的界面都是自己开发出来的,MFC就是练这本事的最好工具,绘图的效率那叫杠杠滴,D2D也照样用,等你QT,C#下的标准控件玩腻的时候,你发现你仍然无一技之长,,,就跟上面那群吊B一样,说QT过时了,C#不行了,还是用最新语言去吧
目测你一定不是做互联网这行业的。 互联网的应用第一个要求就是看起来炫,达相同炫的效果你说哪一个开发快。 就如你所说:大型应用是exe,在中国互联网这行业你一个项目三个月还不见眉目,投资商还会让你死撑? 基本上还有一个不成文的规定:安装包尽量小,一堆MFC运行裤,你小给我看看? 当然如果你不是互联网这行业,根本不需要考虑用户体验,能运行就行。 如果你不是互联网行业,还有不用考虑MAC客户端,就不需要考虑代码复用 --------分割线------- 就拿我同事来说,只要我用到系统API函数,他就会问有没有使用C/C++库函数的可能。 如果你做Windows流氓软件,那么用MFC会好很多,流氓软件需要大量的API函数,MFC是首选[/quote] 你要扯到一边扯去,你上面这些言论纯属于是扯淡,,真的,扯淡的很, 说开发慢,那是你手头没有积累到代码,技术掌握不够熟,我保证我MFC开发比你C#开发还要快,你信不信 说什么安装包要求小,别扯淡了,尼TMD的有些网页要安FLASH插件,要安JAVA虚拟机,C#要安.NET,好坏人家WINDOWS 都带了这些,至于MFC更不用你担心了,发布OS时人家都帮你带了了,VC++运行库,还扯安装包尽量小,这属于是扯淡,反正劳次没碰到过这种无理的要求。OFFICE的安装包多大啊,你JAVA的ECLIPS安装包要多大啊,,你关心吗?给你安装包安装就是了,, 还有你说非互联网的根本不需要用户体验,能运行就行,,更是扯淡,再骂你白痴你可能觉得没新意,这样吧,给你讲个实例,上海科江公司是做电视台媒体安播监测这一行的,当年就是他们的CS客户端做的比同行其它家公司做的好,一举中标北京电视台的一千万项目,类似的还有最近的2013年的情况也一样,是新疆的项目,也有一千多万,这些消息在整个行业都炸天了花了,直接挤的其它公司快没项目搞了,其它家公司也有CS,还有做成BS的奇葩,CS的威力不仅是运行效率不是你其它语言能搞的,同样也有UI的要求,你说无用户体验要求绝对是尼玛不动脑子的,要那样的话,人家炒股软件干吗整个行业基本上都做的一模一样, 还有更叼的言论,不是互联网不需要考虑客户端,不需要考虑代码复用???我只想骂你是对CS一点概念没有的白痴,装B的垃圾,[/quote] 语无伦次,我就不信你用MFC和我用UI裤做出相同炫,你的时间就比我少? “不是互联网不需要考虑客户端” 明明是不是互联网就不需要考虑到MAC用户,谈什么代码复用。 还有不要和我谈政府项目,在监控行业待过一年后总结感受:和政府相关项目一定腐败。[/quote] 我在这里敢大胆肯定的判断,你用UI库也就是摆摆库里给你提供的那些常用控件的水平,而哥哥我用MFC,想要啥控件都可以自己做出来-----目前菜单的代码是还没有积累到了,你说没你的炫,鬼才信,管你用什么UI库,QT啊,DirectUI啊,C#的啊,都不在话下,因为我都见过这些库里给你给提供的那套东西,哥哥我专注MFC自绘那么久,连那些端游的辅助我觉得都比不上我的好,秒杀你更是措措有余!,你那代码复用的说法就不要拿出来扯了,,啊,这个真没啥说头,你继续扯,[/quote] 不多扯了,你就用MFC做出一个Windows商店的应用,微软有给你支持么? 难道你还不知道做软件应该尽量要缩短和界面相关的耗时、繁琐的工作?
haierpro 2015-06-02
  • 打赏
  • 举报
回复
学习效率,编程效率,执行效率,随心所欲,呵呵
huanglin03 2015-06-02
  • 打赏
  • 举报
回复
你说要跟MFC比炫,这个真不好意思,我敢保证本人PS用的都比你要熟,更别说PNG透明,异形窗体,这些代码级的技术了,总的来说,你是炫不过MFC的,你说MFC不炫,那是你碰到前面那些对MFC只懂皮毛的人太多了。 你身边用了多少EXE,你都熟视无睹,连你天天都在搞的数据库,看看人家ORACLE的吧,你说不考虑用户体验??无脑!
huanglin03 2015-06-02
  • 打赏
  • 举报
回复
引用 53 楼 hlx_beat 的回复:
[quote=引用 22 楼 bug1190 的回复:] 哥只看到一大帮人抵毁我大MFC,其实那些人都是不会MFC,或者学了一半就退学的人,说到底就是学习能力不行,哥负责任的告你,你精通MFC之时,就是你傲视其它一切的时候,桌面就是讲界面,就是讲运行效率,搞什么跨平台啊,第三方库啊,,一句话,没本事就别来玩,,你看看人家用MFC做的界面,你那群吊B想做都做不出来的时候,你该有多自信,说到底,自己能开发才叫真本事,你用MFC如果仅限于拖拖标准控件,用用API,那跟你在QT下,C#下那样二者没本质区别,高级的UI控件,高级的界面都是自己开发出来的,MFC就是练这本事的最好工具,绘图的效率那叫杠杠滴,D2D也照样用,等你QT,C#下的标准控件玩腻的时候,你发现你仍然无一技之长,,,就跟上面那群吊B一样,说QT过时了,C#不行了,还是用最新语言去吧
目测你一定不是做互联网这行业的。 互联网的应用第一个要求就是看起来炫,达相同炫的效果你说哪一个开发快。 就如你所说:大型应用是exe,在中国互联网这行业你一个项目三个月还不见眉目,投资商还会让你死撑? 基本上还有一个不成文的规定:安装包尽量小,一堆MFC运行裤,你小给我看看? 当然如果你不是互联网这行业,根本不需要考虑用户体验,能运行就行。 如果你不是互联网行业,还有不用考虑MAC客户端,就不需要考虑代码复用 --------分割线------- 就拿我同事来说,只要我用到系统API函数,他就会问有没有使用C/C++库函数的可能。 如果你做Windows流氓软件,那么用MFC会好很多,流氓软件需要大量的API函数,MFC是首选[/quote] 你要扯到一边扯去,你上面这些言论纯属于是扯淡,,真的,扯淡的很, 说开发慢,那是你手头没有积累到代码,技术掌握不够熟,我保证我MFC开发比你C#开发还要快,你信不信 说什么安装包要求小,别扯淡了,尼TMD的有些网页要安FLASH插件,要安JAVA虚拟机,C#要安.NET,好坏人家WINDOWS 都带了这些,至于MFC更不用你担心了,发布OS时人家都帮你带了了,VC++运行库,还扯安装包尽量小,这属于是扯淡,反正劳次没碰到过这种无理的要求。OFFICE的安装包多大啊,你JAVA的ECLIPS安装包要多大啊,,你关心吗?给你安装包安装就是了,, 还有你说非互联网的根本不需要用户体验,能运行就行,,更是扯淡,再骂你白痴你可能觉得没新意,这样吧,给你讲个实例,上海科江公司是做电视台媒体安播监测这一行的,当年就是他们的CS客户端做的比同行其它家公司做的好,一举中标北京电视台的一千万项目,类似的还有最近的2013年的情况也一样,是新疆的项目,也有一千多万,这些消息在整个行业都炸天了花了,直接挤的其它公司快没项目搞了,其它家公司也有CS,还有做成BS的奇葩,CS的威力不仅是运行效率不是你其它语言能搞的,同样也有UI的要求,你说无用户体验要求绝对是尼玛不动脑子的,要那样的话,人家炒股软件干吗整个行业基本上都做的一模一样, 还有更叼的言论,不是互联网不需要考虑客户端,不需要考虑代码复用???我只想骂你是对CS一点概念没有的白痴,装B的垃圾,
hlx_beat 2015-06-01
  • 打赏
  • 举报
回复
引用 22 楼 bug1190 的回复:
哥只看到一大帮人抵毁我大MFC,其实那些人都是不会MFC,或者学了一半就退学的人,说到底就是学习能力不行,哥负责任的告你,你精通MFC之时,就是你傲视其它一切的时候,桌面就是讲界面,就是讲运行效率,搞什么跨平台啊,第三方库啊,,一句话,没本事就别来玩,,你看看人家用MFC做的界面,你那群吊B想做都做不出来的时候,你该有多自信,说到底,自己能开发才叫真本事,你用MFC如果仅限于拖拖标准控件,用用API,那跟你在QT下,C#下那样二者没本质区别,高级的UI控件,高级的界面都是自己开发出来的,MFC就是练这本事的最好工具,绘图的效率那叫杠杠滴,D2D也照样用,等你QT,C#下的标准控件玩腻的时候,你发现你仍然无一技之长,,,就跟上面那群吊B一样,说QT过时了,C#不行了,还是用最新语言去吧
目测你一定不是做互联网这行业的。 互联网的应用第一个要求就是看起来炫,达相同炫的效果你说哪一个开发快。 就如你所说:大型应用是exe,在中国互联网这行业你一个项目三个月还不见眉目,投资商还会让你死撑? 基本上还有一个不成文的规定:安装包尽量小,一堆MFC运行裤,你小给我看看? 当然如果你不是互联网这行业,根本不需要考虑用户体验,能运行就行。 如果你不是互联网行业,还有不用考虑MAC客户端,就不需要考虑代码复用 --------分割线------- 就拿我同事来说,只要我用到系统API函数,他就会问有没有使用C/C++库函数的可能。 如果你做Windows流氓软件,那么用MFC会好很多,流氓软件需要大量的API函数,MFC是首选
paschen 版主 2015-06-01
  • 打赏
  • 举报
回复
引用 42 楼 zhang5476499 的回复:
[quote=引用 22 楼 bug1190 的回复:] 哥只看到一大帮人抵毁我大MFC,其实那些人都是不会MFC,或者学了一半就退学的人,说到底就是学习能力不行,哥负责任的告你,你精通MFC之时,就是你傲视其它一切的时候,桌面就是讲界面,就是讲运行效率,搞什么跨平台啊,第三方库啊,,一句话,没本事就别来玩,,你看看人家用MFC做的界面,你那群吊B想做都做不出来的时候,你该有多自信,说到底,自己能开发才叫真本事,你用MFC如果仅限于拖拖标准控件,用用API,那跟你在QT下,C#下那样二者没本质区别,高级的UI控件,高级的界面都是自己开发出来的,MFC就是练这本事的最好工具,绘图的效率那叫杠杠滴,D2D也照样用,等你QT,C#下的标准控件玩腻的时候,你发现你仍然无一技之长,,,就跟上面那群吊B一样,说QT过时了,C#不行了,还是用最新语言去吧
对于学mfc,有推荐的视频或者书籍么?孙鑫的书怎么样?以前听了孙鑫大名买了他的《vc++详解》,一直放着还没看呢? 还有,大神你当年用多少时间入门的mfc编程?[/quote] 学MFC可以看候的《深入浅出MFC》,这本是相当经典的,虽然很老了 MFC不难学,有C++基础(特别是对类有深入的认识),了解一下WINDOWS消息机制,MFC根本不难,一星期上手 另外前面很多人说MFC不好,其实如果楼主只是开发一些WINDOWS下的小型桌面程序,MFC就最好的选择 用C#写个小程序,程序可能也就几M,还要目标电脑要安装了对应版本的.NET才能运行 其次MFC写出的程序效率比C#高很多,就启动速度都差好多(原因C#是建立在.net上) 至于跨平台,如果楼主没这必要,MFC也是一套相当强大,完全不错的选择 学习了MFC,你会发现对操作系统及面向对象编程有一个全新的认识
Nets9527 2015-06-01
  • 打赏
  • 举报
回复
真要转桌面开发 也要用Qt啊(跨平台,比MFC简单,也是C++),MFC 太过时了,不要被微软的技术绑架,另外java可能除了桌面和底层,其余方面基本通吃,apache的体系,web,移动端(安卓),真想不明白你为什么还要固守桌面,楼主三思!!!
Rockismej 2015-06-01
  • 打赏
  • 举报
回复
能真真学懂MFC的人都是牛人,我现在想放弃MFC了,哎
huanglin03 2015-05-31
  • 打赏
  • 举报
回复
引用 44 楼 bsnry 的回复:
[quote=引用 38 楼 CharlesSimonyi 的回复:] 1.JAVA的swing和MFC设计思想、封装层次、抽象程度都不同,所以用起来完全不是一个概念,不过QT的话还好,封装层次和抽象程度都比较高,和swing比较类似。 2.现在几乎没有什么公司拿MFC做产品了,工作中几乎用不到,不过自己开发一些个人软件可以用一用。并且现在桌面应用开发本来就不景气,现在的Windows桌面软件主要使用两种技术、工具,一种是使用C#语言,使用Winfrom、WPF库,另外一种是使用C++语言,使用DirectUI库。 3.MFC虽然已经快有10年基本没跟新了,确实落后了,但MFC也还是可以学的,学MFC你可以了解到Windows程序设计的本质,了解他的运作原理,了解消息机制、消息循环等。如果学QT这样高度抽象的UI库,则完全接触不到消息机制这些本质、原理性的东西了。打个比方,一个只会QT的程序员和一个只会MFC的程序员分别用QT和MFC写出了一个窗口程序,窗口上有一个按钮,按下按钮后会执行一段代码,只会QT的程序员就很难说出并解释清楚为什么按钮按下后会执行那个函数,它们是什么原理,按钮和函数是怎么连接到一起的,它是怎么实现的。如果对这些原理性的东西感兴趣是可以学一学的。总之个人爱好的可以学一学,研究研究,如果纯粹想靠MFC来找工作就不要想了。 3.现在找工作的话,并不推荐往windows桌面应用这个方向走了。岗位确实越来越少了,薪资也很一般。 4.C/C++可以搞,毕竟在编程语言排行榜上和JAVA一样,它们一直排在前五。C/C++还有很多很多热门方向,Windows桌面应用这一块太小了。
这个兄弟的话,我大多赞同。 还是那句老话,少赚钱学啥,跟着市场走。 如果不打算赚钱, 当我没说。 不要和我说,曾经的牛逼的程序也是mfc做的。 有jb用,那是曾经。 现在搞mfc的都是工控,老软件, 小公司。 就业非常困难。了 [/quote] 啧啧啧,,,炒股软件算老吗? 金山毒霸算老吗? 国内那些吃即时办公通讯这碗饭的家伙们一大把,,三次元测量行业估计你都没听过吧,,哥可以负责的告你,凡是生产,制造,牛B设计的背后都必有一款强大的桌面设计工具软件在决定着那个行业的设计技术发展水平,缺少这种工具软件,你的设计工作就还停留在手稿阶段,就连人家文职办公都还要配WPS,配邮箱,服务器那端更需要管理软件,你天天看控制台,看JAVA的LOG不谦没效率?太鼠目寸光了,一张嘴就知道个工控,,,我估计你这种在坛子里有相当的一大把,中国就是缺少这种牛B的工具软件,人家求伯君就凭WPS多次在政府办公软件的采购中击败MS,拿到订单,人家有底气!!还不要和你说曾经的牛B,,,,网游火了这么多年,不是人家韩国就是人家美国瓜分你中国大半个市场,一直到现在人家还照 样牛B,,,这些辉煌数据跟你QT,JAVA,C#有半毛钱关系,,,不掌握核心技术,就只会拖拖标准控件,还理直气装的说跟着市场走,,,,啧啧啧,你说你搞MFC,我说你这状态真不如去搞搞JAVA,IOS,HTML5,IT行业也会跟将来其它行业一样,核心技术都不在你手上,你就做做架构,挖空心思整理业务逻辑,彻底的一个“业务逻辑编辑工人”----堪比“网站编辑”
「已注销」 2015-05-31
  • 打赏
  • 举报
回复
引用 48 楼 jiangsheng 的回复:
MFC上手不难,但是也不需要学多深入,除非真有必要。MFC的通用控件类我是一开始就在看,因为第一个职位就是做界面的,花了几天时间上手开始干活(当时可没有现在这么多教程,只有MSDN光盘和Programming Windows可以看),几个月后才需要看多线程数据库等等方面的资料。至于MFC的国际化支持,是在几年后公司有了海外市场之后才开始研究。 到现在我用了近二十年的MFC,仍旧有很大一部分的MFC类没有用到过;用C++的时间更久,仍旧有很大一部分的C++特性没有用到过当然,更加没有做出过漂亮的界面,为什么?因为没有必要。软件分析与设计这门课应该大二就给你们上了吧?还没有上的话,自己找本书看看。不对自己的需求加以分析而盲目学是浪费你的时间。举个例子,你玩网游的时候是把技能树全部点亮之后(且不说这可不可能)再出新手村加入团队吗? 就算你在大学期间憋成十里坡剑神,对于公司来说,雇佣全栈工程师的投资回报率很高么?不说别的,安卓、iOS操作系统的功能,不比Windows 95少,比MFC更是要多得多,学个Java就号称可以开发安卓是扯淡。作为不刷上榜会死的老板来说,就算工资成本一样,你愿意雇10个安卓iOS都会的万金油来写程序,还是雇5个安卓5个iOS的专家来写程序?
说的引人(我)深思,看了你的宣章,06年的技术板块金牌、铜牌、进士。那时候我还在读初中呢,不知道网络为何物,只去过学校的机房!看来您是正宗前辈了,谢谢肯为我们后辈指点这些!
蒋晟 2015-05-31
  • 打赏
  • 举报
回复
MFC上手不难,但是也不需要学多深入,除非真有必要。MFC的通用控件类我是一开始就在看,因为第一个职位就是做界面的,花了几天时间上手开始干活(当时可没有现在这么多教程,只有MSDN光盘和Programming Windows可以看),几个月后才需要看多线程数据库等等方面的资料。至于MFC的国际化支持,是在几年后公司有了海外市场之后才开始研究。 到现在我用了近二十年的MFC,仍旧有很大一部分的MFC类没有用到过;用C++的时间更久,仍旧有很大一部分的C++特性没有用到过当然,更加没有做出过漂亮的界面,为什么?因为没有必要。软件分析与设计这门课应该大二就给你们上了吧?还没有上的话,自己找本书看看。不对自己的需求加以分析而盲目学是浪费你的时间。举个例子,你玩网游的时候是把技能树全部点亮之后(且不说这可不可能)再出新手村加入团队吗? 就算你在大学期间憋成十里坡剑神,对于公司来说,雇佣全栈工程师的投资回报率很高么?不说别的,安卓、iOS操作系统的功能,不比Windows 95少,比MFC更是要多得多,学个Java就号称可以开发安卓是扯淡。作为不刷上榜会死的老板来说,就算工资成本一样,你愿意雇10个安卓iOS都会的万金油来写程序,还是雇5个安卓5个iOS的专家来写程序?
蒋晟 2015-05-31
  • 打赏
  • 举报
回复
MFC上手不难,但是也不需要学多深入,除非真有必要。MFC的通用控件类我是一开始就在看,因为第一个职位就是做界面的,花了几天时间上手开始干活(当时可没有现在这么多教程,只有MSDN光盘和Programming Windows可以看),几个月后才需要看多线程数据库等等方面的资料。至于MFC的国际化支持,是在几年后公司有了海外市场之后才开始研究。 到现在我用了近二十年的MFC,仍旧有很大一部分的MFC类没有用到过;用C++的时间更久,仍旧有很大一部分的C++特性没有用到过当然,更加没有做出过漂亮的界面,为什么?因为没有必要。软件分析与设计这门课应该大二就给你们上了吧?还没有上的话,自己找本书看看。不对自己的需求加以分析而盲目学是浪费你的时间。举个例子,你玩网游的时候是把技能树全部点亮之后(且不说这可不可能)再出新手村加入团队吗? 就算你在大学期间憋成十里坡剑神,对于公司来说,雇佣全栈工程师的投资回报率很高么?不说别的,安卓、iOS操作系统的功能,不比Windows 95少,比MFC更是要多得多,学个Java就号称可以开发安卓是扯淡。作为不刷上榜会死的老板来说,就算工资成本一样,你愿意雇10个安卓iOS都会的万金油来写程序,还是雇5个安卓5个iOS的专家来写程序?
jiqiang01234 2015-05-30
  • 打赏
  • 举报
回复
楼主最好有明确的目标再去学c++,毕竟c++11\14\17已经来了,c++已经不是10年前的样子了。如果仅仅是要做桌面程序,c++明显不是最好的选择。如果确实要用c++做桌面程序,MFC是不推荐的。原因楼上各位都已经说了。我建议用Qt,倒不是因为跨平台的原因,主要是库的命名风格和java很相似,上手快。在windows下做桌面程序,不了解win32 sdk是不合适的,其实MFC在GUI部分,只是对win32 sdk的浅层封装。
走好每一步 2015-05-30
  • 打赏
  • 举报
回复
什么语言都好,楼主最好把基础打好。 会做贪吃蛇游戏这些并不能给你带来什么高的价值,这只是说你会一个界面库的使用和复制了网上的算法。 界面只是一个表皮,你用QT,C#,VB,MFC什么都可以的。 如果你能掌握串口编程,网络编程,数据库编程,多线程编程,动态链接库什么的,相信路会走的更好。 如果能windows、Linux都玩的很通,那更舒服了。 如果能在一个行业里软件硬件通吃,那你就是大神了。 其实我的意思没有说C++是个糟糕的语言,只是想说进入C++的人很容易进入一个怪圈,一味的玩弄编程技巧,那没什么用的。 万物皆对象是狗屁的说法!我深受其害! 一个很简单的问题,几个继承嵌套下来,程序都几乎不能看了。这种类架构后来人敢用吗?代码复用什么接口重用就是狗屁! 谁敢确保这一堆乱如麻的代码不会出现一个致命的bug? 我们编程最终目的是帮社会解决问题,帮老板解决问题,只要能快速不误地解决问题,你的价值就会涨起来了。至于什么语言,什么系统,老板不会去关心的! 当然,会C++学Java轻松很多,会MFC再学C#觉得简单易用。 总之C++是被人玩坏了,所以才造就了java。 大公司里面C++你可能会发现你喜欢的很多特性已经被强制不允许使用
bsnry 2015-05-30
  • 打赏
  • 举报
回复
楼主要搞c++ 学linux windows c++ 就业很难
加载更多回复(41)
实用的电子书 作为一个长篇的C++入门教程,无论如何也应该有这么个引言,可是文笔并不好的我,想了很久也不知道该如何写。。。。。。   仔细想想,与其把这篇短文当作教程的引言,其实它更应该是一篇引导初学者步入C++殿堂的策论。   几年并不算很长的编程经验,使我感触颇深,痛苦迷茫,以及成功后的喜悦一直交替着伴随我,爱好编程的我,在学习期间也被很多很多学习的困难疑惑所阻挡,甚至不只一次的想放弃。   让我初次领略到作为一个程序员应该有快乐与喜悦的是VISUAL BASIC语言,这些年为了工作,也学习过很多其它的语言,包括时下正在流行的JAVA与C#等等,在这里不得不说的是,作为一个程序员,一个能够适应当前中国工作环境的程序员,你要学的还远不止这些,包括数据系统,等等,等等。   很早就听人说过,如果你是一个程序员,如果你没有学过C语言,那么就不能算做是一个真正的程序员,这句话也许有点夸张,不过当你学习过它以后就不得不承认这句话真的有那么几分道 理,C++语言是由C语言发展而来的一种新的支持面向对象的语言,从一开始接触它,它的魅力就深深的吸引着我,起初我和很多想要学习它的人一样,觉得它很难懂,当时为了看懂,想明白一些现在看来真的很容易的例子时,真的有点让我抓狂。   作为一种灵活性高,体系庞大,支持面向对象思想的高级语言,C++的确比其它语言更难学习,很多正在学习它的在校大学生,以及很多正在从事编程工作想自学它的程序员,对于它的入门及各必要知识点掌握苦恼不已。   其实学习C++和学习其它知识一样,并没有很多特别的要求,需要的只是那么一点点耐心,那么一点点忍耐力,以及遇到困难挫折不轻易屈服的精神,更重要的一点是你必须有一本好的,适合你的入门书籍指引你逐渐进步,面对书店里种类繁多,出名的不出名的C++教材,不光是初学者就连我也同样觉得眼花缭乱无从选择,很多优秀的国外C++教材有着过于系统的知识面以及跳跃式阅读的方法, 这对初学者,尤其是从小就习惯从头到结尾阅读书籍的中国人来说是不合适的,国内的教材多以大学教材为主,这些书中的例子多以大学数学,或者工程数学举例,这样一来就把很多数学并不很好的读者拒之门外了。   在行内,很多人是不愿意和你分享学习经验的,一来工作任务繁重,再着很多人觉得这样会给自己带来更多的竞争对手。这些我都亲身经历过,正是因为此类的种种感受,于是我由内心而发,真心实意的愿意帮助那些正在学习C++语言想入门的朋友们。   从一开始学习计算机语言,几乎所有的人都会问到,我该如何入门,入门后又该如何继续持久的进步下去呢?首先我要说的是,计算机语言的入门,无论是C/C++还是JAVA、 C#,他们都和高等数学没有太多联系,计算机语言是一种逻辑的文字描述,体现逻辑的是思想,当你通过理解一些计算机语言所描述的,并不算难的逻辑问题后,你就已经掌握了语言本身,并且真正入门了。   当然,计算机语言毕竟是和数学有密切联系的产物,在计算机世界里他们彼此依赖谁也离不开谁,当你正确理解编程思想,掌握必要知识点,入门之后,如果想做一个优秀的程序员而不是单单做一个程序的"拼装工",你就不得不对数学知识进行进一步的系统学习。 此长篇C++入门教程正是指引读者迈入C++殿堂的初级读本,目的只是帮助读者快速入门,掌握必要的知识点,为了让教程通俗易懂,容易理解,适合自学,笔者为此下了不少工夫,同时也和我的一些朋友讨论过,意见中值得注意的是, 一个作者如果没有教学,就只知道摸索一种适合自己的学习方法,对于语言学习的难点重点,关键是如何将复杂的问题用朴素的"俗"文化来写,针对这些问题笔者笔者是认真反思过的,所以全书完全站在初学读者的思考的角度来写,教程中完全不包括任何难以理解的高等数学、工程数学问题,及C++标准库知识,着重对各入门的难点重点详细讲解分析,相信认真学习并读过它的人绝对不会觉得是浪费时间。   对于C++学习,创建一条由入门到深入最后到精通的可持续学习并不段发展的道路概括起来可以是以下顺序。   1.学习一些基本的C语言知识,例如:什么是变量,什么是函数   2.C++语言入门,基本知识点的掌握。   3.高等数学及工程数学的系统学习,结合实际了解并使用C++的各类常用的标准库。此外平时可以找一些广受好评的具备一定深度的C++教材看一下,进一步理解C++的高级编程精髓,以及看一些计算机原理和数据结构方面的书籍。   4.学习包括在各类操作系统下编程的必要知识,以Windows操作系统为例,需要学习掌握WIN API,以及高效开发的MFC,VCL等在内的其它知识。   千里之行始于足下,路虽然很长,困难也会很多,不过你一旦入门,一定会觉得面前豁然开朗,会不段的激励着你学习下去的。读者们如果在学习过程中有不懂的问题可以来我的站点提问,我会尽力解答的。站点地址:http://www.cndev-lab.com   写到这里笔者也呼吁更多的程序高手们,敲起你的键盘,把你的优秀的经验和思想奉献出来,帮助更多需要的人,毕竟思想是需要的是沟通的,知识是需要的是共享,快乐需要的是传递的。   最后在这里要感谢的是我的家人,我的父亲:管苗青、母亲:汪秋霞。多年来父亲母亲给我的帮助很大,一直耐心鼓励着我学习,母亲对我学习上的帮助已及她优秀的自学经验思想是我一生中最重要的财富。 作者:管宁 二零零五年三月十七日凌晨三点半
《挑战30天C++入门极限》引言   作为一个长篇的C++入门教程,无论如何也应该有这么个引言,可是文笔并不好的我,想了很久也不知道该如何写。。。。。。   仔细想想,与其把这篇短文当作教程的引言,其实它更应该是一篇引导初学者步入C++殿堂的策论。   几年并不算很长的编程经验,使我感触颇深,痛苦迷茫,以及成功后的喜悦一直交替着伴随我,爱好编程的我,在学习期间也被很多很多学习的困难疑惑所阻挡,甚至不只一次的想放弃。   让我初次领略到作为一个程序员应该有快乐与喜悦的是VISUAL BASIC语言,这些年为了工作,也学习过很多其它的语言,包括时下正在流行的JAVA与C#等等,在这里不得不说的是,作为一个程序员,一个能够适应当前中国工作环境的程序员,你要学的还远不止这些,包括数据系统,等等,等等。   很早就听人说过,如果你是一个程序员,如果你没有学过C语言,那么就不能算做是一个真正的程序员,这句话也许有点夸张,不过当你学习过它以后就不得不承认这句话真的有那么几分道 理,C++语言是由C语言发展而来的一种新的支持面向对象的语言,从一开始接触它,它的魅力就深深的吸引着我,起初我和很多想要学习它的人一样,觉得它很难懂,当时为了看懂,想明白一些现在看来真的很容易的例子时,真的有点让我抓狂。   作为一种灵活性高,体系庞大,支持面向对象思想的高级语言,C++的确比其它语言更难学习,很多正在学习它的在校大学生,以及很多正在从事编程工作想自学它的程序员,对于它的入门及各必要知识点掌握苦恼不已。   其实学习C++和学习其它知识一样,并没有很多特别的要求,需要的只是那么一点点耐心,那么一点点忍耐力,以及遇到困难挫折不轻易屈服的精神,更重要的一点是你必须有一本好的,适合你的入门书籍指引你逐渐进步,面对书店里种类繁多,出名的不出名的C++教材,不光是初学者就连我也同样觉得眼花缭乱无从选择,很多优秀的国外C++教材有着过于系统的知识面以及跳跃式阅读的方法, 这对初学者,尤其是从小就习惯从头到结尾阅读书籍的中国人来说是不合适的,国内的教材多以大学教材为主,这些书中的例子多以大学数学,或者工程数学举例,这样一来就把很多数学并不很好的读者拒之门外了。   在行内,很多人是不愿意和你分享学习经验的,一来工作任务繁重,再着很多人觉得这样会给自己带来更多的竞争对手。这些我都亲身经历过,正是因为此类的种种感受,于是我由内心而发,真心实意的愿意帮助那些正在学习C++语言想入门的朋友们。   从一开始学习计算机语言,几乎所有的人都会问到,我该如何入门,入门后又该如何继续持久的进步下去呢?首先我要说的是,计算机语言的入门,无论是C/C++还是JAVA、 C#,他们都和高等数学没有太多联系,计算机语言是一种逻辑的文字描述,体现逻辑的是思想,当你通过理解一些计算机语言所描述的,并不算难的逻辑问题后,你就已经掌握了语言本身,并且真正入门了。   当然,计算机语言毕竟是和数学有密切联系的产物,在计算机世界里他们彼此依赖谁也离不开谁,当你正确理解编程思想,掌握必要知识点,入门之后,如果想做一个优秀的程序员而不是单单做一个程序的"拼装工",你就不得不对数学知识进行进一步的系统学习。 此长篇C++入门教程正是指引读者迈入C++殿堂的初级读本,目的只是帮助读者快速入门,掌握必要的知识点,为了让教程通俗易懂,容易理解,适合自学,笔者为此下了不少工夫,同时也和我的一些朋友讨论过,意见中值得注意的是, 一个作者如果没有教学,就只知道摸索一种适合自己的学习方法,对于语言学习的难点重点,关键是如何将复杂的问题用朴素的"俗"文化来写,针对这些问题笔者笔者是认真反思过的,所以全书完全站在初学读者的思考的角度来写,教程中完全不包括任何难以理解的高等数学、工程数学问题,及C++标准库知识,着重对各入门的难点重点详细讲解分析,相信认真学习并读过它的人绝对不会觉得是浪费时间。   对于C++学习,创建一条由入门到深入最后到精通的可持续学习并不段发展的道路概括起来可以是以下顺序。   1.学习一些基本的C语言知识,例如:什么是变量,什么是函数   2.C++语言入门,基本知识点的掌握。   3.高等数学及工程数学的系统学习,结合实际了解并使用C++的各类常用的标准库。此外平时可以找一些广受好评的具备一定深度的C++教材看一下,进一步理解C++的高级编程精髓,以及看一些计算机原理和数据结构方面的书籍。   4.学习包括在各类操作系统下编程的必要知识,以Windows操作系统为例,需要学习掌握WIN API,以及高效开发的MFC,VCL等在内的其它知识。   千里之行始于足下,路虽然很长,困难也会很多,不过你一旦入门,一定会觉得面前豁然开朗,会不段的激励着你学习下去的。读者们如果在学习

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧