回复内容:
憋不住,上来喷一下。
明明是HR问题,硬是被大V引导成技术问题。
还是需要看供需关系。眼下国内就业市场上,JAVA程序员应该是泛滥成灾的状态吧?而前端工程师由于技能更加复合,存在结构化短缺。c/c++则由于我国IT业在世界产业链的下游,导致从供应角度就不足(我是说学校里实在培养不出像样的程序员)。
从需求的角度。由于我国在世界IT产业链中的地位,过去企业应用市场畸形“发达”,所以java程序员需求较大,这也刺激了供应。近年来互联网带来红利,互联网公司俨然先进生产力代表者,不仅拉动了一众小语言的就业市场发展,而且使得前端程序员地位急剧抬升。又由于部分企业开始敢于或迫于投入底层技术,c/c++的需求也开始抬头。当然,随着移动互联网上历史前台,嵌入式、掌端设备大爆发,也增加了c/c++的需求。
上述供求矛盾之下,有了某大v的c→j→frontend的排序。这里有个细节:j由于之前受到企业界支持,比穷逼的网站舍得出钱,所以暂时看起来收入还较高。但市场正在变化。
近来由于大数据成为显学,数据分析的需求似乎隐隐有进一步推升c需求的趋势。只是不知道在与函数式编程众新老兵的拉锯战中,最终谁会胜出。
于是就涉及偶然因素。也就是众人纷纷提及的兴趣问题。比如某人就是很喜欢erlang的味道。哪天突然出现基于小语种比如erlang的杀手级框架或平台或工具,导致其一时风生水起继而大行其道,也是业内常见现象。
好吧,我是来给题主提供一个新视角的。
——以上为2014.9.9的回答——
评论里说前端没提。过了一年多,市场形势更清晰。随着各种大小屏泛滥于世,“体验”而已成为显学,前端人才凸显短缺之势。尤其是整个行业的教育体系从来不具备自适应提前造血功能,真正合格的前端怕是在几年内都要处于紧缺态势。
前端目前最火,哪儿都要,变现最快,但能火多久未来是否能继续火还未知。
C++最需要积累,发展周期较长,但有足够积累的话,在可预见的将来会有丰厚回报。
Java折衷,容易找到工作,可预见的将来能够持续发展,但回报一般,个人认为还容易学偏。
有草台培训班出来的前端找不到工作,也有前端在为各大电商打工,一个月几万块等期权成熟。
有Java工程师每天写着枯燥的代码,也有人搞着高大上的Hadoop。
有C/C++程序员找不到对口的工作,也有人实现了LLVM。
所谓有没有前途,更多的取决于个人的能力。反过来说,如果做不了技术大拿,学哪个都没前途。
我个人的建议是,选择自己感兴趣的方向,好好钻研下去。作为一个合格的程序员,不要认为变成语言决定了发展方向。语言只是用来解决问题的工具,利用好这些工具,更好的解决问题。这才是程序员的核心价值和竞争力。
P.S. 多看阅读招聘Android工程师,有意者请联系我。
赚钱指数C++ > Java > 前端
首先,你的前途不是语言决定的,而是你自己决定的,不管C++还是Java还是XXX语言,你要是学精了,都有前途,就算是汇编,学精了也可以去搞底层驱动、嵌入式,一样有前途 + 钱途
其次,不要把你的前途绑定在某一门语言上,真正牛逼的人,是将语言当做工具,解决实际问题,实现实际业务的。每个语言都有应用场景,C/C++适合做高性能服务和系统,Java适合后台业务快速开发,前端适合做出漂亮的产品,你说你只会一种,那就只能永远按照别人的要求来做了;如果你都懂甚至精通,那么合适的机会下,设计师或者架构师的座椅就是你的了,比你只会按照别人要求来实现需求有前途多了
再者,如果把编程当做你的一生职业,那么至少工作20年吧,20年里不换一次行业,不尝试一次新业务,每天都只用C++或者Java?不知道你会不会受不了,反正我是会发疯的。软件行业的魅力之一就是不断有新的东西出来吸引你,而你却完全不管,真这样还不如去当公务员(评论里尽情的喷吧 ^_^)
最后,你的前途和很多技能相关的:
你要具备一定的理解能力,这样产品跟你天花乱坠的吹牛逼的时候你要知道到底能不能实现,不然被忽悠了到开发时发现实现不了或者要花上1年才能完成,你看产品和项目经理不把你骂死;
你要具备一定的沟通能力,这样项目跟你哭诉BOSS压他他也没办法求你加班加点双休日不休把或干完的时候,你也能够顶住压力有礼有节的争取项目时间,不然最后累死累活还被人认为能力不足;
你要具备一定的表达能力,这样年终总结各自汇报工作的时候,不至于别人写个漂亮PPT就能顶你累死累活干上1年,你只能心里骂娘回家找老婆哀叹老大眼光有问题不是伯乐没有发现你这匹千里马
。。。。。。。。。。。。。。。
还有很多,例如学习能力、人际交往能力、自我管理能力等等很多
最后你会发现,真的要有前途的话,其实和做前端还是Java还是C++还是XXX关系都不大!
美的事物永远不会消失,前端是追求美的艺术,即使你写着java c++,你的内心也会蠢蠢欲动,没人能拒绝美的诱惑,大牛嘴上说那些不会持久的,他们愿做地底的根,愿做种子,你做绽放的花,也许终会枯萎,你的种子会纷飞,,,,好像哪里不对
先说答案,同意赵老师和陈老师的看法。
哪个有前途,呵呵,知乎开始有这种问题了。像这样的问题可以有啊,可以给初学者一些建议:零基础学编程,VB / Java / C / C# / C++ 等哪个更容易上手?
我在评论里被人喷了,呵呵呵,我收知乎的钱了,有前途的问题,我能说我同学因为看了计算机有前途就跟计算机结婚了,现在却搞得人不像人鬼不像鬼!
像三种东西在未来十几年,乃至几十年内基本的吃饭问题就解决了,难道说,跟你说了C++更有前途,然后你什么都不做,难道就有前途了,难道现在的人们就看这个钱途或者前途去学的?
反正我认识的喜欢编程的都是自己搞的,3种搞搞,自己哪个更有兴趣自己就深入哪个,前途的问题就如培训生被压着去培训一样。喜欢前端的痴迷于现在你所看到的这些页面设计包括交互,喜欢cpp的痴迷于游戏引擎和游戏开发,喜欢java的痴迷于Android的开发(当然并不是只有java可以开发Android)。
哪个有前途你就学哪个吗,这种在论坛里的月经贴都拿来这里问。
前端你能像winter那样怕没前途?cpp像轮子哥一样怕没前途?java像RednaxelaFX那样怕没前途?
那个喷我的 ,不是人人都是大牛,你自己一步步的慢慢学习,即使达不到大牛水平,在编程这一块会没前途?一个废人给他一个有前途的语言什么都不做还是废人。
问这种问题的,一般都没什么前途
如果你是一个能力很强的人,这三个语言你都可以拿到高薪。
在面临语言的选择方面,第一是兴趣,看你喜欢做那个方面的工作,三者的侧重面各不相同,这里不多费口舌。第二是你的目的,如果是就业面,那么是js,如果是快速实现功能,那么是js。
现在的前端+nodejs的模式生产率极高,有非常大的需求量,是未来的方向,就业空间较广。有较多的大公司正在把他们的java后台迁移到nodejs。
这话题真心看市场环境。
比如在我所居住的所谓二线城市入了C/C++的坑就意味着能选择的工作很少。搞JAVA的从培训班出来一茬一茬的跟麦子似的。而前端都没什么人搞。
这边经常讨论的是18摸又接了个大项目,急需n百Cobol码农,什么什么的……