JAVA和C++究竟哪个比较好啊?

我是本科生,学的是计算机应用程序设计专业,C++和JAVA都有学过,09年毕业,不知道究竟是找C++还是JAVA方面的工作,有没有前辈能给些合适的建议?不甚感激啊!... 我是本科生,学的是计算机应用程序设计专业,C++和JAVA都有学过,09年毕业,不知道究竟是找C++还是JAVA方面的工作,有没有前辈能给些合适的建议?不甚感激啊! 展开
 我来答
gmchen
2009-02-16 · TA获得超过1114个赞
知道小有建树答主
回答量:609
采纳率:0%
帮助的人:702万
展开全部
介绍下Java和C++的差别吧,也给楼主一点计算机学习方面的建议!~

Java语言是基于Java虚拟机的,它最大的优势在于一次编译,到处运行,它并不需要考虑各种系统之上的不同系统调用,所有的系统调用都可以通过底层的JVM的封装来完成,开发者在开发过程中不用考虑操作系统层面的编程知识,比如你在windows上开发的一个Java应用程序,在Linux系统上也是可以运行的,只需要给他对应的Java虚拟机就好了,同时Java的优势还在于它的开源和封装,Java提供了强大的类库支持,包括多线程,数据结构,socket编程等,让开发者可以把更多关注放在程序的编写基础之上,而不是放在实现一些底层的应用程序。同时Java还提供了垃圾回收机制,众所周知,在C++等一些需要维护内存的语言中,如何分配和释放内存是一个很让程序员头痛的问题,特别是在有服务的框架上,往往微小的程序泄漏将会带来巨大的问题,Java的垃圾回收机制很好帮助程序员解决这个问题。同时目前Java有比较良好的一些应用框架,可以用来快速搭建网络应用,例如对于企业级的开发,J2EE就是一个很好的选择。

C++的特质在于它的高效性,它是直接和底层打交道的语言,正如楼主所说,在网游之中,大部分都是采用c++来开发,因为游戏要求要有较高的运行效率和良好的用户体验,这点Java程序支持的并不好,而且往往在要求很高的某些算法部分还会采用C和汇编等更底层的语言来开发。C++的特性还在于它的面向对象的封装,这点和Java是类似的,但是它有兼有了C语言快速高效的特性,所以在开发类似网游,搜索等项目的时候,通常采用C++,C++和C一样,他们在跨平台项目的开发中会遇到一些问题,主要来自各个操作系统的支持和底层api调用的差异。

如果想要学习计算机,我的建议是首先学习好相关的数学知识,包括离散数学等,这些知识都是计算机的基础,同时精通掌握一到两门语言是必要的,对于初学者建议学习C语言,C语言一方面比较接近底层,可以通过学习C掌握很多系统的底层知识,同时由于它的语法简单,上手也比较快,加上C语言上并没有类似Java,C#那样很多的类库,让初学者看起来比较透明,比较干净,更能从语言的角度去理解。同时我认为不管学习什么语言都好,计算机学科中算法和数据结构是最重要的,都说语言是表层,算法和数据结构才是核心,把握好了本质就可以以不变应万变,建议在学习语言的同时好好的掌握这2门基本学科。因为随着你的学习的深入,你会发现所有的操作都是建立在他们之上的。同时掌握好了C语言,反过来无论是学习Java还是C#都是很容易的,无非只是一个表达语言的转换。最后,个人认为如果只是要成为一个代码的编写者,学习Java和C#已经足够,因为他们的快速上手和强大的类库可以帮助开发者快速实现应用,但是如果要真正成为一名程序高手,良好的数据结构知识和算法掌握,以及C语言是必不可少的。
百度网友e7129c0
2009-02-07 · TA获得超过843个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:209万
展开全部
JAVA适合开发可视化程序,C++适合开发系统程序(包括大多数3D游戏)。
JAVA是完全的面向对象语言,而C++是二者结合,C++功能最强大,但对于小型程序来说,JAVA更快,成本更低。

传统上认为,C++相对于目前一些新潮的语言,如Java、C#,优势在于程序的运行性能。这种观念并不完全。如果一个人深信这一点,那么说明他并没有充分了解和理解C++和那个某某语言。同时,持有这种观念的人,通常也是受到了某种误导(罪魁祸首当然就是那些财大气粗的公司)。对于这些公司而言,他们隐藏了C++同某某语言间的核心差别,而把现在多数程序员不太关心的差别,也就是性能,加以强化。因为随着CPU性能的快速提升,性能问题已不为人们所关心。这叫“李代桃僵”。很多涉世不深的程序员,也就相信了他们。于是,大公司们的阴谋也就得逞了。
一般认为,使用Java或C#的开发成本比C++低。但是,如果你能够充分分析C++和这些语言的差别,会发现这句话的成立是有条件的。这个条件就是:软件规模和复杂度都比较小。如果不超过3万行有效代码(不包括生成器产生的代码),这句话基本上还能成立。否则,随着代码量和复杂度的增加,C++的优势将会越来越明显。造成这种差别的就是C++的软件工程性。在Java和C#大谈软件工程的时候,C++实际上已经悄悄地将软件工程性提升到一个前所未有的高度。这一点被多数人忽视,并且被大公司竭力掩盖。
语言在软件工程上的好坏,依赖于语言的抽象能力。从面向过程到面向对象,语言的抽象能力有了一个质的飞跃。但在实践中,人们发现面向对象无法解决所有软件工程中的问题。于是,精英们逐步引入、并拓展泛型编程,解决更高层次的软件工程问题。(实际上,面向对象和泛型编程的起源都可以追溯到1967年,但由于泛型编程更抽象,所以应用远远落后于面向对象)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liujoejoe
2009-02-07 · TA获得超过1518个赞
知道小有建树答主
回答量:1800
采纳率:0%
帮助的人:860万
展开全部
以你现在的能力范围内,C++可以做的JAVA都可以做,当你开始觉得有些事情JAVA做不了而要去用C++的时候,你就相当牛逼了,可能这样的程度大多人一辈子都到不了。所以放心学JAVA吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hutuchong_cpu
2009-02-07 · TA获得超过122个赞
知道答主
回答量:53
采纳率:0%
帮助的人:44.8万
展开全部
如果C++很强的话,就找C++方面的工作,一般C++都是用来开发系统软件的;
但是Java方面的工作比较好找。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圣妤啦01
2009-02-07 · TA获得超过142个赞
知道答主
回答量:247
采纳率:0%
帮助的人:150万
展开全部
学过还不知道?我们没学的都知道.JAVA是大众化的.就像很多前辈说的.几乎IT都和JAVA粘边.至于C++.对不起.我不太清楚.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式