本人现在大四,处于找实习单位阶段。一直以来对C++情有独钟,顺着这个方向,自己也研究了一段时间的MFC,对windows消息读懂机制和MFC的消息映射都有一定的了解,自己也动手用MFC写过一些小东西。比如:五子棋,notepad程序,用GDI函数实现了MS 的notepad的所有功能。
     现在遇到了很大问题。越来越的人在学java,培训机构也越来越多,还有很多人往Linux方向发展了,老师也说做C++没有5~10年时不会有什么成绩的。C++的方向据我了解主要是驱动和嵌入式还有游戏,本人虽然是一个喜欢追根究底的人,很喜欢底层机制,但是驱动和嵌入式这些似乎需要太多的硬件基础,而我是软件模块的学生,学过的硬件课就计算机组成原理和数字电路等(而且没学好),所以每次想到这块就放弃了,现在让我去学硬件是太晚了。但是放弃了C++最强的方向,我和那些java的人拿什么去竞争呢?C++在Linux下页有方向,但好像Linux下C更多点大家随便说点什么

解决方案 »

  1.   

    满世界都是Java就是因为它门槛低、上手快
    一个初中毕业生都可以通过培训找到不错的工作
    这样的高级语言有什么可值得炫耀的
    当然我知道Java也有其特色,
    从业人员中也不乏高手
    但你要是就为了找工作
    大可不必担心所谓缺乏竞争力的问题
    竞争力是一种后发优势
    如果你真有能力
    Java会很快上手
    也会很快成为高手另外C++对C全兼容
    如果你说你熟悉C++却不熟悉C
    这我很难理解
    你也大可不必为这个问题担心我是VC程序员
    当初为了找工作
    为了顺应就业形势
    也曾拜读过thinking in Java
    不过我还是靠VC/MFC找到工作并一直做到现在
    而且我还会继续做下去我觉得相信自己
    坚持下去就是胜利
    5~10年不会有什么成绩
    那要看有没有机会
    看你能不能做出成绩
    我认为盲目为了就业学习Java
    这种人一辈子都不会有出息一家之言,仅供参考
      

  2.   

    顶一个,我和楼主历程差不多啊,也大四,甚至走过的路也很像,写过SDK,写过MFC,研究过STL,虽然是皮毛,也对C++情有独钟,常常也有这样的困惑,不过我还是想继续走下去。但是我想其他语言也有它的优势与技术点,我们也应该去了解,就算不是现在,以后也要去做,吸取百家所长,以C++的灵活性来说,未尝那些技术点用不上
      

  3.   

    C++底层的东西太多啦,
    个人以为:
    2年能跟外行人讲懂C++的很多方面;
    大概靠5年经验的积累和总结,才能领悟出 C++的精华,才敢说熟练使用C++;
    具体敢说精通C++的话,可能要再多领悟几年....
      

  4.   

    LZ 我也是蛮困惑的,不过我是大二的学生,对MFC这个东西比较感兴趣,并且我也正在学习之中,我也曾经为就业苦恼过,证入楼主所说的那样c++的两大方向,是游戏和硬件。但我两方面都不感兴趣,想转学c# ,但是阴差阳错地继续在学VC。我也很苦闷啊,55555...
      

  5.   

    最主要是兴趣方面吧,
    你自己心里最想做的是什么啊,
    我还是支持你用C++,
    C++你都会了,C也基本会了,
    java上手也会很快,
    学五年太夸张了,
    到工作时碰到问题再慢慢学,
    学习是一辈子的事情。
      

  6.   


     另外C++对C全兼容
     如果你说你熟悉C++却不熟悉C
     这我很难理解像我在大学里一上来就学的是面向对象,连C语文的课都没有开过,所以对C了解并不多
    但是对于C++反倒还熟悉一些。这也可能是跟时代有关系吧,感觉以前的程序貌似都是从C入门的
    LZ的情况可能跟我类似
      

  7.   

    从lz的表达看,lz应该打好基本功。
      

  8.   

    我晕,还要学两年吗??我现在读博士,硕士的时候做硬件只用过C,读博士开学以后刚开始学C++,我们实验室的老师就要我用VC写东西了,我基本上是边学边做,我觉的C++、C还有java只是语言而已,就像英语、汉语和法语的区别,用哪门语言不重要,关键是你用来干什么。我做的是模式识别,其实搞模式识别的话C就足够了,VC只是用来做演示用的,楼主不要太在意学的是什么语言,你应该想想,你将来要从事哪一方面的软件设计。是图像处理;是语音识别;还是应用程序。软件的概念太大了,不止有操作系统和电脑游戏,楼主可以仔细研究一下。外我认为许多人学习java搞软件设计主要是“创意软件”即靠新的点子来吸引用户,而不是技术本身,而真正的高技术软件是建立在复杂的算法基础上来的,而不关注用那种语言。楼主有兴趣可以研究研究模式识别相应的内容,你会发现更有意思的东西。
      

  9.   

    JAVA好学不是JAVA的错,为什么现在很多人都拿JAVA门槛低说事?
    其次,我也是C++FANS,经常跟同事(学JAVA)的打架玩(嘴架)~对你楼主来说,你不可能在工作的前几年里就是专家,这是每个毕业生的梦想,但仅仅是梦想,楼主了解到的几个C++的路只是几个比较热门挣钱的大方向,还有很多,是你没经历不了解的。
    语言和功力相辅相成的,选一个自己喜欢的语言,走下去,让自己吃饱喝足是没问题的。但是奔着钱去,那就“顺应大势”。语言和多 都说自己家的好 其实主要看你的工作是哪方面的 那个语言更适合这个工作
    比如你现在学C++  你说你在哪方面有能力?驱动?游戏还是别的?没有到那个工作环境,就没有那个工作项目实践的机会,所以就不可能在那个领域有什么建树。所以-》看你想要找什么样的工作,然后多向那个方向加力,但是有的工作的确难找,难有成就-》自己想找什么工作是一码事,自己能找什么工作是另一码事。比如你想找游戏编程工作,首先你对OPENGL和DX懂多少?其次你实践程度有多少?再次你毕业能立即找到一份工作么?这些都是要考虑的。 C++的方向在哪里?在你自己手里,不NB自己用来写NOTEPAD,NB你可以写出来变形金刚啊,终结者啊,蜡笔小新啊等等~
      

  10.   

    LZ学精通了就可以了,管他什么C++也好,JAVA也好!
    想那么多干嘛?
    个人意见,呵呵
      

  11.   

    编程语言只是一个工具,编程思想和编程技巧才是最重要的。这是c++ programming的序言里所说的。
      

  12.   

    再多说几句吧,
    很多学习C++的朋友有个误区,就是以为学习C++就一定要用VC,学VC就一定要学MFC,所以感觉很难.
    其实学习C++和学习MFC是两回事,要分开学,一般都是先熟悉C++语法, 然后开始学MFC,熟悉程序框架和VC控件使用,等编写几个程序后(大概1,2年的样子,不排除有聪明进展快的),再回过头来仔细研究C++,深入进去,此时,就会充分享受C++,面向对象给人带来的乐趣了.此后再写程序时,就会做到游刃有余,随心所欲,各种设计模式,编程技巧随手拈来,看着程序,真是很赏心悦目.
      

  13.   


    严重同意
    MFC只是工具
    C\C++才是根本
    精通二字谈何容易
    认真、努力、坚持才是根本
      

  14.   

    我也是C++的忠实捍卫者,我在上大学时候学校给我们开的课程是JAVA,但我觉得C++要比JAVA有前途的多,所以从那时起,我就放弃了JAVA,开始研究C++。其实用C++的领域很多的,不一定是底层驱动和游戏编程。
      

  15.   

     另外C++对C全兼容
     如果你说你熟悉C++却不熟悉C  这是可能的,BS就讨论过这个问题,懂了C++不一定懂c。人家只用过c++推荐的那部分,比如人家只用string或Cstring,而没有用过malloc和数组形式的字符串,还有c库中的函数。  但c++我也很迷惑,它设计初衷有些过于严谨了,把什么都放在明处,在某种场合下有损效率。还有类型名称的混乱影响美观(当你使用好多种库的时候,风格五花八门,根本无法统一,不知道java有没有这种情况),除这些有些头疼,别的没什么。