首先,祝大家新年快乐!牛年牛气冲天!看到很多人散分,我也来凑个热闹。
小弟用MFC开发,08年毕业生,去年就开始实习了,到现在也算有1年工作经验把。
现在基本上可以用自己能力+网络查找解决特定问题。自我感觉还好。CSDN给我帮了很大忙,感谢在我最初用MFC困惑的时候,CSDN里面那些侠士给我的帮助。说说VC把,其实这个估计人都知道,visual 真是害人,VC首先就不是可视的。我做的项目里面,除掉用他放几个控件,
定义一下控件ID之后,基本觉得他没啥用。控件都是自定义的,另外控件在对话框上的对齐都是程序控制的。我要早知道
这个可视的对应一个rc文件和resource.h文件,我不一定会用它来拖放控件。其实vc也困惑了我很长时间。以前上大学的时候就学过。那种感觉,记忆犹新。我觉得VC之所以另很多人困惑,有以下原因。第一就是历史了,我坚信:MFC刚出的时候,更本没想到今天处理器会这么强大,我估计当时在对话框上面放几个控件,那就是最华丽的界面了。(纯属猜测,勿砸砖),另外就是近年来,新技术层出不穷,新概念出现太快。这有什么危害呢?如果一开始接触了MFC,然后没深入理解,现在看到这么多新概念,以为这些新的都和MFC一样复杂,害怕至极!至少我当年是这么想的。让我想到了消息队列,一旦组住了,自然就死掉了。还有一些困难,我估计有部分人和我相同,就是属于自学编程的一类人。茫茫编程书籍,该看哪些书?都看,不可能的。在我看来,有侧重点的知识才算是知识。我发现,自学以及在学校学的一部分知识里面有个特点,就是知识点不突出。我觉得,这点不可取。特别是对于MFC,我觉得最重要的2个东西就是宏和回调。在学校,宏稍微讲过,回调没提过。而回调这个东西,我发现理解困难的原因就是被重视程度不够,如果把回调做为单独的一个章节在教科书里面,比如函数章节后面直接讲回调,我就不信它有那么难学!看到一个帖子,里面有个哥们说“在学校里面认为没用的东西,往往在工作中是灵丹妙药”?大概是这么说的,我是深有体会。我记得最清楚的一个就是《实用visual c++教程》(好像是这个名字,机械工业出版社的)里面说静态库现在基本上已经不用了,但我工作遇到的第一个工程,基础库工程的配置就是静态库。给大家看个计算,如果1本书的正确度是0.9 ,那么你看了5本这样的书,内容也类似,那么你利用这些知识最坏情况下,正确性只有0.9的5次方,不到0.5啊。这些错误就像毒药,在你不知不觉中,就吃下了。其实大家可以想想,从牛顿以前,人类积累的数学知识有多少年?但是,现在只需要高中知识,就可以把这些知识了如执掌,你门不觉得奇怪吗,就那计算机语言作为工具来说,去掉特定领域的知识,发展不过几十年,凭什么会有那么多的知识?再次,就是别被软件华丽的界面给骗了。我一开始写的时候,就只知道界面,我估计我当时是觉得界面漂亮,不好写,写出来有成就敢,后来才知道是大错特错啊!建议用c++的人一定要把界面和逻辑分离!我在学校的时候也注意界面,主要原因就是程序对逻辑的处理很少,建议多看看开源的大型项目。比如eMule,google talk,google
crome的源代码,不要全盘看,专著看其中的架构,以及每个部分的特定实现。工作前,老听别人说看开源代码,结果只会找个 彩色按钮啊,啥的看,现在想想,真是错了。界面的确忽悠了我不少次。建议大家还是多看看操作系统把,对底层的认识是在是太重要了。其他语言我不知道,但我觉得c++ 是这样。如果你不知道操作系统能提供什么,你还能做什么?建议看看王爽的《汇编语言》,写的的确好。新的概念不过是代码,数据,算法的组合,只不过是不同的组合罢了。另外,看看《自己动手写操作系统》和《编程高手箴言》,这2本书我没看完,也有很多人反对,但他的确提出了大部分人关心的但一般书籍里面没有提出的一些知识。不早了,散分,散分  ,呵呵!
祝大家过个好年!!!

解决方案 »

  1.   

    不错
    我现在大三 
    自学MFC
    对界面特重视
    现在吸你这么一说
    我觉得我也是错了
      

  2.   

    楼主算是蛮优秀的。
    我也08年毕业,在学校呆的时间太长。早点出来实习就好了。
    到现在也只有半年的工作。所做工作是硬件相关的软件开发与维护。
    所编写的代码非常少,大多时间都在找BUG。
      

  3.   

    MFC最重要的2个东西就是宏和回调
      

  4.   

    比1年签的我牛逼多了!认识到看操作系统,不简单。建议先看windows程序设计,vc内幕,然后看mfc深入浅出, 最后看windows核心编程(我最近再看这个),以上都看完,花个半年时间,估计比一般搞VC的都牛了。接下来可以从C++的角度提高,那就是C++primer, inside  object mode ,effective C++ ,more XXX,   STL, 设计模式,这个看完估计就是代码牛人了。超过80%写代码的了。还要提高,那就从操作系统原理,编译原理(龙书,虎书,剑书)。如果还要提高,那等你到那水平就不需要我说啥了,自己就是到了。估计到那水平,就是就不重要了。
      

  5.   

    顶,LZ厉害,一年的经历竟然有这么大的收获,向LZ学习...
    另外,入行的时候千万要选对,最好不好搞一些外包的工作,因为外包的项目一般过程成熟度比较高,
    但是,技术却是一般,所以要谨慎。
    不过,即使是外包工作也不要怕,学习他们的对软件工程的了解,外包项目一般软件工程理解都比较深刻。
    并且不要太懈怠自己,一定要扎实的学习基础,譬如:
    操作系统,数据结构等底层的东西(Windows核心编程,深入浅出MFC....),之后再这基础上学习新的技术,学会创新
    (这也是我的理解,因为是新手,有不对的地方还请前辈指正)
      

  6.   

    本人07级,你的学长,呵呵。没你那么幸运,我毕业时做的是ASP开发,当时自己很希望能找个C++的,不过不好找。只能做VBS。写了大半年的ASP后,对WEB和数据库有了一定的认识,开始对新知识渴望至极。学J2EE 学C#,混乱了一段时间后,发现自己最喜欢的还是C++,回头C++,一直到现在。后来辞职,开始做WINCE WindowsMobile接触了WinForm MFC一直到现在。我不能说自己是高手,只是有了点经验。刚学时也和你一样,对界面很在意,开始用c++ builder一段时间,发现他比VC好使,可用了一段时间后,发现除了会拖控件外,什么也不会了。于是静心研究MFC ,什么VC技术内幕,深入浅出MFC都被我看的书都烂了,突然有天,经理说你去研究算法和底层的开发吧,界面你不用管了。然后自己开始和很多的API打交道,慢慢地觉得自己原来最缺的知识都是自己以前认为的很强的项,数据结构 算法 STL 设计模式 等等,继续学习中...
      

  7.   

    俺也在学MFC   迷茫中
      

  8.   

    想说LZ的想法:看汇编书,是个很不错的建议。本人说看了多本汇编,我也是做C++的,觉得看了汇编才明白什么是程序。
      

  9.   

    工作两年了,我发现我干的活,比看的书多,时间都浪费在找BUG中,是应该系统的学习一下哦。