user-0 提问: c/c++和java选择？

回复:
user: user-1
content: 把C，C++，java这三门学会，其他的语言都是浮云。。。好的程序员的学习能力是很强的。

user: user-2
content: 看你个人吧 就业JAVA在国内是一个方向，你看CSDN的JOB频道，搜一下就知道了 但是个人对面向对象不感冒，面向过程这种去适应机器思路的方式更感兴趣 虽然现在在用JAVA，但是有机会还是会去玩C的

user: user-3
content: 有空都学会了最好，技多不压身！ 顺便说一下，人生最重要的不是努力，不是奋斗，而是抉择。当你走到人生的十字路口，不知如何辨别方向的时候，请停下来，好好想一想，你是什么星座。

user: user-4
content: 不管是 c/c++ 还是 java  如果lz没打算自己当老板，只是找份工作，写写代码，语言不重要，重要的是做到让自己对于公司来说很重要，最理想的情况是你对于公司来说无可替代。  这里插一个小故事，据说之前有一个电信相关行业的老程序员，工资不算低，他负责替他们公司开发并维护了一套计费收费系统。代码写的也不定就很好，只是一直很稳定，至少在这个老程序员的维护下一直很稳定。后来这个老程序员或者是自身原因，或者是待遇的原因离职了，公司也没挽留，觉得系统很稳定，还一直开这么高工资，公司觉得养了个‘闲人’，就找个接手的人。没多久，各种问题暴露出来了，代码不规范，加新功能很困难，耦合度太高，不好扩展，重构代价很大，焦头烂额。最后的结果可想而知，公司只能再把这个员工给请回去，并开了更高的薪资。  这里不是鼓励lz去写难以维护的代码，而是告诉lz，不管你是什么语言，它只是工具，重要的你。你对一门语言掌握到了什么程度，你对一个项目掌握到了什么程度，你对软件行业的生产流程理解到什么程度。  所以与其纠结怎么选择，不如考虑怎么让自己无可替代！

user: user-5
content: 引用 9 楼 SalmonRun 的回复:说点个人观点： 学习C++， 是兴趣，学吧。 要找工作， 你得考虑了， 你的目标企业是什么，也许 绝大多数的c/c++代码都是以前的， 你进去首先就是一个复杂的code base。 你想把这些代码拿起， 三思吧。 见到这些代码，本能的反映应该是逃跑。 java， 至少你在学习的短期时间内， 用一些成熟的框架， 你还能干些事情，能做一个对社会有用的人。这也代表 有工作。 javascript, ruby， 或者更新鲜语言的人， 已经开始鄙视java的庞大，复杂，开发效率低下了。 世界就是这样的循环， 程序员嘛， 都有一个鄙视链。 创业公司用c++，疯了！传统大企业用C++， 90%是遗留代码， 并且在公司内部一定有中坚的C++力量， 否则早就java化了。 偏硬件的公司， 那基本c/c++, 没有异议， 但是你得有硬件知识吧， 至少也是驱动，平台相关的吧。 也许在流行的开源技术中， 可以看到一些C++的应用， 背后也许都有一个更早的java库。 现在都云了， 换个语言，就能提升一些性能，何乐而不为。这也是C++一个可喜的地方。 不要说java的效率和C++逼近了， 你拿一个for循环100万次， 1000万次，有什么意义， 最后生成的代码都那么简单， 效率差不多那是应该的，在考虑动态利用CPU特性，超越也是应该的。 当前c++的发展状态比任何时候都好，主要的c++编译器， vc/gcc/clang 对标准的支持， 比历史上任何时候都给力， 尤其是clang提供的library，让c++工具有了依赖的基础的库。 微软的表现也是引领趋势， vs2015的跨平台支持，没有比这更有力的事情了， 同时支持windows， android， ios的编译。 鲍尔默在时，估计都搞不起来。  现在c++大会比历史上任何时候都活跃， 参加人数也创新高。 但是c++已近远不及90年代那样火了， 也正常，java不也受到了挤压。 虽然Bjarne说C++适合初学者， 但是业界的实际情况是， C++不适合初学者。 如果你功底扎实，那么也需能找到c++的一席之地。重新学习， 算了吧， 省点时间，干点更有意义的事情。  当然，爱好除外，世界不能排除超能力和天才。  创业公司不应该用c++？ 我在卢森堡一家创业公司，用的就是c++

user: user-6
content: 看公司需要什么吧，要求你用JAVA你就学JAVA。 要求你用C你就用C。 要求你用C++,你就用C++。 当然这个在入职的时候就确定好了的吧。 像我就是做了三年MFC，又开始用C做服务器。

user: user-7
content: 对于我来说，看工作场景需要。  一般情况下，我会优先考虑JAVA和C#，因为方便，开发效率高，可用的jar包或者.net控件也挺多的。  如下环境下，我会选择C++： 1.没办法使用JAVA和C#； 2.对执行效率要求比较高； 3.对可靠性要求比较高； 4.有较多的底层操作。  总的来说，在实际工作中，我是能用JAVA就用JAVA，若不能，退而求其次：.net，若再不能，再退，使用C++，还是不行，考虑C，C还是不行，考虑各种方言。  打死我也不用汇编----------打不死另外考虑。

user: user-8
content: 桌面, 硬件 -> c/c++ 平板 -> java  在桌面程序上你不可能用 java 探索 windows 的底层 在平板程序上你有可能用 c/c++ 探索系统的底层

user: user-9
content: 你来C/C++论坛问这个问题，明显只能听到一种声音

user: user-10
content: android OR ios

user: user-11
content: C/C++确实相对JAVA较难，但也并没有难到哪去，真正程序员都懂C，而且把C/C++学好了，之后想转其他任何语言都很快

user: user-12
content: 说点个人观点： 学习C++， 是兴趣，学吧。 要找工作， 你得考虑了， 你的目标企业是什么，也许 绝大多数的c/c++代码都是以前的， 你进去首先就是一个复杂的code base。 你想把这些代码拿起， 三思吧。 见到这些代码，本能的反映应该是逃跑。 java， 至少你在学习的短期时间内， 用一些成熟的框架， 你还能干些事情，能做一个对社会有用的人。这也代表 有工作。 javascript, ruby， 或者更新鲜语言的人， 已经开始鄙视java的庞大，复杂，开发效率低下了。 世界就是这样的循环， 程序员嘛， 都有一个鄙视链。 创业公司用c++，疯了！传统大企业用C++， 90%是遗留代码， 并且在公司内部一定有中坚的C++力量， 否则早就java化了。 偏硬件的公司， 那基本c/c++, 没有异议， 但是你得有硬件知识吧， 至少也是驱动，平台相关的吧。 也许在流行的开源技术中， 可以看到一些C++的应用， 背后也许都有一个更早的java库。 现在都云了， 换个语言，就能提升一些性能，何乐而不为。这也是C++一个可喜的地方。 不要说java的效率和C++逼近了， 你拿一个for循环100万次， 1000万次，有什么意义， 最后生成的代码都那么简单， 效率差不多那是应该的，在考虑动态利用CPU特性，超越也是应该的。 当前c++的发展状态比任何时候都好，主要的c++编译器， vc/gcc/clang 对标准的支持， 比历史上任何时候都给力， 尤其是clang提供的library，让c++工具有了依赖的基础的库。 微软的表现也是引领趋势， vs2015的跨平台支持，没有比这更有力的事情了， 同时支持windows， android， ios的编译。 鲍尔默在时，估计都搞不起来。  现在c++大会比历史上任何时候都活跃， 参加人数也创新高。 但是c++已近远不及90年代那样火了， 也正常，java不也受到了挤压。 虽然Bjarne说C++适合初学者， 但是业界的实际情况是， C++不适合初学者。 如果你功底扎实，那么也需能找到c++的一席之地。重新学习， 算了吧， 省点时间，干点更有意义的事情。  当然，爱好除外，世界不能排除超能力和天才。

user: user-13
content: 看了大家的评论，都是在喷JAVA。 其实不然，每个语言都有自己的一片天地。 1.C++在底层、游戏、操作系统、通信等领域确实是一个霸主的地位。但是它在网站开发、移动开发等领域又有其不足。C++也一直在不断的发展，但是毕竟出得比较早，所以语言上的设计相对JAVA来说比较难，特别是在内存管理和指针应用方面。但是未来说不定也会有大的改进。 2.JAVA因为框架多，封装的函数多。所以很多人都会学JAVA很垃圾。会这么说的人，肯定从来没搞过JAVA深层次的东西。而只是停留在java一些简单的API的使用上。然而，在web领域，集群、高并发、负载均衡、大数据、分布式。更不用说移动领域Android,这些很多都和java相关。Java学得好的高度就是架构师，这个要求也是很高的。 学什么语言，若不考虑工资，应结合自己的兴趣。不然应该比对当前市场行情，做一个正确的选择。 另外，推荐你同时多多掌握几门语言。只能你研究得深，学哪个语言找工作都是能找到的，只不过相对的机会的多少罢了。

user: user-5
content: java是傻瓜相机  傻瓜相机也能照出不错的照片  像素够高就行   像素不够了  就等人家搞一个像素更高的jar包就ok了  c/c++是纯手动相机   能找出质量最高的相片来，但需要照相的人的水平足够高   java机会确实多，因为用得多，但这并不意味着学c/c++就没前途  c/c++如果学精通了，java这种渣渣算个毛

user: user-14
content: 有时去执行一个错误的决定总比优柔寡断或者没有决定要好得多。

user: user-15
content: 虽然大师兄跟我说过，不管你学的事什么语言，都是殊途同归。我们修真之人，都不要在乎这些差别，要参透的是程序的本质。然后他又说，不过，用Java的都是傻逼。大师兄跟我一样，C++的功底深厚，面向对象的各种技能用的精通，只是可惜，他还没有对象。  -----------转载自 知乎

user: user-16
content: C/C++学不好，一辈子写程序都在云里雾里，抓不住编程的核心，永远都是对封装的套用

user: user-17
content: 看你喜欢哪个吧。。。反正我是看需求，需要什么学什么。。。工作需要深究某一方面，就专一死命研究，工作需要博学点，就逮啥学啥。。。。 搞得我java->c#->c/c++-->python->vb>obj-c流行点的语言全弄过了

user: user-18
content: 我觉得 c或c++是 各种语言的基础。与java并不冲突。要想走得长远，还是先从c或c++入手吧！

user: user-19
content: 觉得C很有深度, 可以从底层去创造. java封装了太多, 丢失了很多创造性