【满分急求】学C++好,还是学JAVA好?

我C++初级基础,JAVA无基础。今年我有一年的时间,想学门技术,平均每天学习八小时。一般大学生是一天毛学习时间6小时,纯学习时间差不多4小时。我一天纯学习时间8小时,差... 我C++初级基础,JAVA无基础。今年我有一年的时间,想学门技术,平均每天学习八小时。一般大学生是一天毛学习时间6小时,纯学习时间差不多4小时。我一天纯学习时间8小时,差不多是他们二倍,我学习挺用功的。之前学习C++,虽然入门比较难,但因为我比较用功,不懂就死抠,逐渐对C++对函数的重命名,继承,多态等都弄懂了一些,能够自己独立完成一些题目。但到string类与标准模板库的部分,实在比较难,摸不清头绪。所以心情很矛盾,不知道是否该继续下去。

大家知道C++非常复杂,需要花大量时间去学习,去研究。我明年就准备工作了,对编程有一点基础,想用这一年在这两门语言中选择一门,努力钻研一下。同学说JAVA入门简单点,而且应用较广泛,是最热门语言。所以搞得我很纠结,不知道是该继续学好C++,还是改学JAVA。

我是还有今年一年的自由支配时间,可以全力学习。明年年初就工作了。我现在的水平是对大学计算机基础课程都学了(你懂的,大学教的那些东西基本都是没用的),C和C++有一定基础,JAVA没学过。

这一年我会很努力的,一年后从前途就业和未来职业发展的角度讲,是学C++好,还是学JAVA好。请大家给我提点建议(最好分析一下,谢谢)。

PS:还有一点,我家有亲戚,是移动公司的部门经理,未来可能帮我安排进移动公司工作,请问移动的软件设计部门,主要是用到C++,还是JAVA语言?
看到有朋友说我鄙视大学生,我绝没有那个意思,我指的是我的专业:计算机科学与技术。我们专业学习面很广,从基础的计算机常识到办公软件的应用。从模拟电路数字电路到汇编语言C语言。从数据库到微机原理等等都要学。理论知识很多,但不实用。我只是这个意思,请大家不要误解,也请不必在这个问题上争议,谢谢。
展开
 我来答
sailyangfan
2012-01-30 · TA获得超过367个赞
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:202万
展开全部
LZ不要着急,也不用那么矛盾,我和你学的是同一个专业,毕业工作了两年,我根据我的经验向你分析下这个问题。
1、关于大学学习的问题,这个不是LZ主要为难和矛盾的问题,但是既然有人提到了我就说说我自己的一点看法,大学学的知识说实话工作上面真正你能看到的用到的确实不多,现在中国的大学基本都一个样子(除了特别有名的那几所),教程的安排既要考虑到理论知识又要考虑实际运用,但是我们大学里学的东西基本上理论偏多知识偏广,对于考研的同学是有用的,但是对于毕业就要找工作的同学作用确实不大,因为我们找工作要的是实际操作能力,要的是精是专。我当时上学的时候也学了很多模电数电的知识,这些知识对于软件开发工作确实没有什么作用。根据我的经验,如果你要从事软件开发相关的工作,有几门课是必须要好好学的:

(1)数据库基础的相关知识。真正到工作中后你会发现,不管你用哪种语言开发,不管你做b\s还是c\s,归根结底都要用到数据库,无论你用哪种数据库系统,数据库基础都是一样的。

(2)一门开发语言的思想。注意这里说的是思想,不是语法、不是概念。这个确实需要长时间的学习才能领悟一门语言其中的精髓,当然现在主流开发语言都是java、c++、c#这些,这些的核心思想就是面向对象,也就是说以及说学习某一门语言不如说学习某一门语言的开发思想,只要你思想掌握了,你学java的去重新学c#,学c#的重新去学java,需要做的只是查一下语法,记一下常用类的用法,熟悉一下中间件框架的用法。很容易融会贯通的。开发语言的东西,你学多了就会感觉到万变不离其宗,掌握了学习方法,掌握了思想都很容易学习。当然课程上不一定有面向对象,我们当时是有这一门课的,如果没有就只能通过对语言的学习来自己领悟了,多看看别人的经验也是很好的。

(3)如离散数学此类相关的逻辑学课程。软件开发最重要的就是逻辑思维能力,遇到问题时候你是否能够很有逻辑的思考解决的重点,解决的顺序是至关重要的。开发时候的思维的完善性,代码的逻辑性都和逻辑思维密切相关。这个是终身受用的,就像我们小时候学数学一样,是有用的。

(4)网络基础知识,这个如果你要想网络工程师方向发展是必须精通的,樱哪软件开发方面也会用到一些,但是用的不多,基础的常识知道就行了,比如iso七层结构、ip分段等。

(5)如果你想在网络安全上发展,那么微机原理、汇编语言是必需掌握的。如果只是普通的软件开发不需要这方面的知识。

(6)一些软件开发相关的知识你是必须理解的,比如b\s结构中的整个数据流向所用到的技术知识,如java方面的js、jsp、applet、serverlet、jdbc等等。这些知识作为开发人员都必须会用一些,包括简单的ps使用都需要懂一些,大的软件公司可以把不同的工作分的很细化,每部分都有人负责,但是小公司就是一个人必须整套都能搞定了。

(7)哦,还有一个忘记说了,这个应该放到第四点里面的,就是数据结构,这个东西在你面试或者笔试的时候会经常遇到,根本上这个东西也是逻辑思维的一部分,每种语言都需要,也都会用到,只是你发没发现而已。在开发中数据结构的知识也是潜移默化的起着作用的。虽然笔试中考到的可能是某中排序算法,实际开发中很少用到,但是其实人家考到就是你的脊颂告学习的认真程度,考的是你的逻辑思维能力以及开发语言的运用能力。

我能想到的大学课程中对软件开发比较有用的就这些了。

2、关于你提到的学习c++还是java的问题。能看出来LZ是个很勤奋努力的人,对这个樱明问题也很真诚,我就多说一些自己的看法。在这里我先声明不管什么开发语言,并不存在所谓的哪个比哪个好的说法,任何东西的存在都有它自己的价值。没有任何完美的东西,有好的地方就有不好的。有很多论坛很多人整天就相互吵架,有的说java好,有的说c#好,其实根本没必要比出个胜负,各有各的优点、缺点。关于c++和java,我根据我所知道的对两种语言的优缺点并且结合你的现状也是现在很多大学生存在的现状分析一下。因为我是主要学习java的,c++也懂一些。主要还是对java分析的多一些。

(1)对于两种语言的难易程度。两种语言各有各的长处,难易程度我觉得并不能简单的评论,你要学习的深入每种语言都有难度。入门简单不简单的问题我觉得其实都差不多,只不过java入门以后成就感比较足,能够快速的入门见到学习带来的收获。从语法规范性来说java确实要比c++明确简单一些,原因很简单,因为java就是根据c语言进化而来的,设计java的时候有一个原因就是c语言的很多语法没有很规范的标准。其实c++和java思想都一样,就是面向对象。只不过c++有指针,有虚函数等等容易产生难度的东西,而java从纯面向对象的方向规避了这些问题。所以人们感觉上java比较简单,其实是java纯面向对象的功劳。但是有的东西是java无法做到或者处理的不完善的,c++却能很好的处理,比如java无法直接操作内存指令,在一些底层的开发中无法使用,java依赖虚拟机运行脱离了虚拟机就无法使用。举个我们公司开发中的例子,我们需要将两种语言,例如java和pb(一种Windows下强大的c\s客户端开发语言)开发的程序联合起来使用,那么中间就要有一个类似转换器一样的东西,我们把它叫做动态库dll,这个东西不能依赖java虚拟机运行,因为我们的pb程序无法使用虚拟机,那么这个动态库就需要用c++来开发。

(2)两种语言需要学习的重点。两种语言都是面向对象语言,那么面向对象的思想就必须掌握。面向对象的23中设计模式也是要好好研究一下的,说白了这个就是前人总结下来的好的开发逻辑结构。对于两种语言不同的着重点,java是中间件的使用,ssh三大框架必须精通,这个搞好了你找工作是非常简单的,java基础也非常重要,那些各种各样的类的使用必须掌握。c++是数据逻辑结构的运用以及语言本身的语法功能难点。

(3)对于两种语言的就业前景。其实是这样的,一般的大公司两种语言的人都需要,任何公司招java的不会排斥学c++的,招c++的也不会排斥学java的,如果排斥了,那么我建议你不要去那样的公司。从就业重点来看,中小型公司招java的比较多,中大型公司招两种语言的差不多,但是不可否认,java的需求量确实比c++大。不过物以稀为贵,现在学java的人很多,但是学c++的相对比较少,c++学的好以后的发展也很不错。如果你想考虑别的,那么我建议你学习数据库dba相关的知识,这个学好了,如果能考个oracl的dba认证,你的前途就是大大的好了。

综上所述,LZ其实没有必要为学习c++还是java纠结。按照自己的兴趣来,你对c++有基础就继续学习c++,不是说什么热门才学什么,不热门的学了更好,物以稀为贵嘛。如果你对java的纯面向对象,ssh中间件框架感兴趣就学习java,有一门语言基础不管学什么都不是那么难的。只要肯努力,耐住性子好好学,不管学什么都有前途。

对于移动的事,我觉得不用管别人怎么看的,有关系不用的才是傻子,有关系自己愿意进去进好好工作。据我所知,移动的项目据我所知他们覆盖的范围相当大,很多东西都不自己做,外包到其他公司开发,自己只做维护工作,有的维护都是外包出去的,c++和java都用,还是像上面说到的,java需求量比c++大,但是c++大多是做底层的,薪水相对较高,技能要求也相对较高。维护上的工作主要还是数据上的,所以说数据库的知识一定要学好。

最后希望LZ能学业有成,找到自己理想的工作,如果对java或者其他以后工作有问题可以继续联系我。
超级轻浮男
2012-01-28
知道答主
回答量:9
采纳率:0%
帮助的人:1.5万
展开全部
目前JAVA在软件工程,互联网和分布计算等各方面都体现出了C++不具备的优势。一个软件项目,采用JAVA可以比C++缩短一半的时间。因此JAVA目前在世界上指族歼越来越受到重视和流行。所以我建议你学JAVA。

毫无疑问,JAVA比C++简单。C++的运算符重载,多重继承等概念比较容易出错,而且在写程序时,唯冲还要考虑释放内存,为每个类写析构函数,而JAVA里的垃圾收集器会自动帮你搞定。JAVA在传递对象,数组作为函数参数等方面也非常简单且不容易出错。

JAVA的跨平台性能更是C++无法媲美的,还有JAVA在网络上的应用。

大家可能要问,既然C++各方面都不如JAVA,怎么还穗销不淘汰。其实,java的唯一不足就是性能。用java写的应用程序运行起来要比c++慢很多。不过目前正在改进中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旁笑槐NH
2012-01-28 · TA获得超过2545个赞
知道大有可为答主
回答量:2686
采纳率:0%
帮助的人:2885万
展开全部
移动主要是JAVA,方向是J2EE,这里主要是说程序员的数量。
发展方向肯定是JAVA要好,这里说的发展方向是指找工作的容易程度,而不是指你进去或将来的收入。
另外LZ不用太鄙视大学生,的确大学学习时间是不多,但每个人的学习方法和效率是不一样的,和上不上大学没关系。
学编程千万不能死抠,除非你是搞编译器开罩指发的。到做项目的时候经常摆在你面前一大堆的解决方案,而且大部分要用像模板库这样的第三方解决方案。到时候需要以最快时间验证这些方案是否可行,不可行就换其它的,如果每个都抠个十天半个月合同早就到期了。这种情况尤其JAVA多,JAVA开源项目太多了。C++程序员很多都是自己写的,物握配皮磨会少些。
C++开发速度不是它的优势,但它速度快。因此C++程序员要求写的程序稳健、精悍。另外C++暴露了很多系统底层,对windows API、内存机制、文件系统也要有相当的了解。JAVA屏蔽了这些细节,但对开发时间比较紧。
追问
你好,谢谢您的意见。我绝没有鄙视大学生的意思。只是觉得教材和教授内容有点问题,与实际脱节,陈旧。全都是浅尝辄止,等等 。我只是指我的专业:计算机科学与技术。我们专业学习面很广,从基础的计算机常识到办公软件的应用。从模拟电路数字电路到汇编语言C语言。从数据库到微机原理等等都要学。理论知识很多,但不实用。我只是这个意思,请不要误解。不过谢谢您的意见和建议。
追答
因为大学不知道也不可能知道每个学生将来要从事计算机的什么工作。比如我学的是计算机的软件工程专业,但毕业后却没想到去了搞地理信息的公司,去之前我连GIS是什么词都不知道。
因此大学开设了很多一般性的学科,数字电路、计算机组成原理让你知道软件的根源,不用为鸡生蛋蛋生鸡这种哲学问题烦恼,C语言教你编程思维,C++教你面向对象,数据结构和算法让你写的程序更加专业,数据库原理、编译原理、操作系统让你学习、复用经典、优秀的编程算法,软件工程、UML建模、软件项目管理、软件体系结构让你从写小程序提高到能做软件项目。
甚至离散数学也能为你思考为题增添几个维度,比如做工作流的时候就要用到离散数学的图论。
电脑就是用途广泛,所以边沿学科特别多,这些知识哪怕都懂了皮毛也能为从事这些边沿学科行业壮壮胆了。所以我觉得大学的课程设置还是合理的,说到底大学的课程都只是给你入入门,培养培养兴趣,既然这样与其叫不平,不如利用现有环境找点感兴趣的学学。

至于C++好还是JAVA好这个问题与其说是技术问题不如说是哲学问题。人工作的动力不外乎两个:要么是兴趣,要么是钱。兴趣是长远目标,那么你可以问下自己你对C++还是对JAVA有兴趣?钱是当前目标,你也可以问下自己你以C++的程序员一开始挣钱多还是以JAVA程序员一开始挣钱多?我想答案自然就出来了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神之泪o0花0o
2012-02-01 · 超过17用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:40万
展开全部
楼主,你好。
如果仅有一年的时间,我建议你学JAVA。握逗大
楼主应该也知道,C++的算法什么的需要大量的时间,因此一年你不可能成为算法达人。
而JAVA,指则比较容易上手,只要抱着一本<think in java>啃一段时间就可以写一些简单的小程序了。加以时日,做些简单的WEB应用不是难事。
移动公司的软件部门,JAVA或C++都能用得上,如果你是做手机应用,底层框架用C++,应用层用android开发(就是JAVA的变身)段竖。
希望我的回答对你有所帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幸巴达
2012-01-30 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6953
采纳率:38%
帮助的人:2455万
展开全部
我也是这个专业毕业和握升的,现在工作四五年了。 从长远开来学C++是没错的。
汇编皮宏,唤老编译原理,计算机系统结构这些课程不要求全会也要了解。实际中很少用,但对以后的学习很有帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(23)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式