21
回答
java程序员是否要学c++
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

如题,我觉得其实有这个必要。可以从几个方面来看,首先我们不说java与c++语言本身的特性。从历史上来看,java和c++就有着比较密切的关系。很多人认为java就是简化版的带虚拟机的c++。这样我们在学习java后再学习c++可以让我们了解到java相对于c++而言做了哪些简化。特别是在面向对象特性方面。(c++可以实现部分函数语言的特征,特别是它有函数指针,可以把函数当做一个对象传递;java这样做的话需要写一个“函数对象”,感觉就不是很直接了。但是意图应该是一致的。抽象性也差不多,同样的功能java可以使用接口来实现。)我们注意到java和c++的过程控制语句是比较相似的。

另一个角度,我们要知道,c++的复杂性是必须的。和c++在工业领域中所处的位置有关系。以及这个语言所代表的特殊的层次和功能。那么java在作出了简化之后,相应的失去了很多的灵活性。但是增加了简单性,便利性。在设计上也比较纯粹一些。但是语言风格比较固定,类库的风格也比较一致。但是这两种语言都是成熟的语言,在工业领域运用多年。

对于java程序员来说,学习C++不是一件容易的事情。但是有助于程序员对程序语言本身的很多机制的理解。特别是面向对象方面。C++比较复杂,而且健壮性弱,需要程序员格外细心。从这个意义上来看,C++如同林黛玉,美丽,脆弱,难以了解,但是却很有才。java如同薛宝钗,美丽大方,会照顾人,懂事,贴心,但是不够灵活。

再换一个角度,c++语言的类库很丰富,而且跨平台性也比较好。运行速度快。灵活。所以我们java程序员,学习c++可以说是必须的。

另外,C++现在并没有退出工业领域,现在还有相当丰富的应用,业务在使用c++。推荐大家可以看一下QT。游戏领域的可以看一下irrlicht。这些都可以作为学习的起点,你就可以做出比较有成就感的东西,对于学习也是一种鼓励。特别是QT。

最后,java在UI上一直饱受诟病。特别是swing,复杂,速度慢。对javaFX期待中。另外java虚拟机上有很多其他语言建议大家可以学习一下scala。

最最后,很多人比较java和c++哪个好。我觉得是没有什么大的意义,无论哪个好,哪个强,我们如果都学会的话,岂不是更好?岂不是对我们更有利?

最最最后送大家一句话,古语:技不压身。

举报
崔钢
发帖于7年前 21回/7K+阅
共有21个答案 最后回答: 7年前

不管哪种语言,好用就最好!

看自己所处的位置吧。如果是像我这样的业余爱好,爱学哪种就学哪种,嘿嘿!

呵呵,编程语言都是工具,能完成项目满足需求就好。C++一般用在底层开发上面或一些性能要求高到地方,Java其实更多的是做大型到信息管理系统,Java做桌面级到开发尤其不行

C++如同林黛玉,美丽,脆弱,难以了解,但是却很有才。java如同薛宝钗,美丽大方,会照顾人,懂事,贴心,但是不够灵活。

     个人觉得就一点. 看你对 本地应用程序 是否感兴趣了, PC上 本地应用程序基本上是C++的天下,以及系统级,驱动级,嵌入式软件. 2者应用范围并不一样.java主要是web吧. 以及传说中的企业应用(没见过撒模样). 至于一些移动应用开发, Java占优势,完全是因为奶奶的手机系统制造商不给2进制代码接口 (怕牛人hack它.哈哈),C\C++直接被黑哨淘汰..  andriod会提供C++接口,观望中了. 不过迟迟到来,估计也没人多少人会转移阵地了.

     学习周期,java的确比C++短很多. 关于开发效率,熟练后,个人觉得2者差不多. 关于开源的代码和库,俺表示java真是多啊.C++也有非常多的库,但很少开源. 不少开源的,还是java移植过来的.

我觉得未必

java及其整个生态圈博大精深(C++也是如此吧),个人穷其一生也无法全部掌握.有经验的java开发人员,还不如顺势将java相关知识学到顶尖水平.因为人的时间总是有限的,除了上班加班之外,能有多少宝贵的学习时间呢?你是希望自己的java水平更上一层楼呢?还是从0开始学习C++呢?何况C++在你平时的工作中未必能用上吧?

我个人是倾向于专才而不是全才的,全才就是庸才,一个java和c++水平都很高的人,应该是既比不过java水平更高的人,也比不上c++水平更高的人的.所以对于其他领域,应该仅限于了解和辅助,开阔视野什么的.但c++也不是唯一的选择,python,ruby都是好学又好用的语言.所以,还是那句话,要么不学,学就学到顶尖才行

引用来自#5楼“kinglo”的帖子

C++如同林黛玉,美丽,脆弱,难以了解,但是却很有才。java如同薛宝钗,美丽大方,会照顾人,懂事,贴心,但是不够灵活。

对女人很有研究啊!

个人觉得需要会些别的语言,我是很传统的C然后C++,然后自学C#,现在开始学习Java。

虽然我在平时都用C#比较多,但是我觉得java还是有必要看看~同样的道理,Java的程序员了解下C++的机制,没有什么坏处。很多东西用一些特定的语言完成都会相对容易一些,比如信息隐藏,我用C#也能写,用matlab也能写,但是代码量来说matlab肯定容易很多。

顶部