首先是开发效率,在几年前手机游戏开始火爆,游戏公司多,产品相似度高,那么如何能以最快的速度开发完游戏并且上线运营,在快速迭代中试错,降低开发周期就是减少开发成本。在这种环境下,很多脚本语言成了首选,比如nodejs、php甚至还有lua和python(这里多说一句,别看lua语言本身简单,其实lua在游戏领域的使用成本是非常高的,至少在这四种脚本语言中是最高的,因为他只是一个胶水语言,要依附于c/c++,作为游戏周边的库都要自己造轮子或找轮子,同时对于引擎部分来说,对核心开发人员要求也非常高,如果公司没有经验丰富的c/c++程序员,lua基本玩不转)。在这些脚本语言面前,java毫无优势。nodejs开箱即用,用js可以前后端一起写(html5的流行让这种情况更是越来越多)。而php上手容易,开发简单,而且像一些用http的弱交互游戏,热更新简直不要太爽,无感知修bug。一些简单的休闲游戏,用这些脚本语言完全可以很快速的完成,就拿之前比较火的刀塔传奇来说,用这些脚本语言一点压力都没有,还有特别是棋牌类游戏,脚本语言更是首选。
其次再来说说运行效率,在一些密集型计算的游戏中,c++是首选,一些大型游戏,对计算要求很高,业务逻辑复杂的情况下,提升效率就能多容纳在线人数,也是成本的减少。同时对内存要求也高,使用c++可以数着内存写代码(手法过于夸张[捂脸]),对象啥时候申请,啥时候释放都是程序员说了算,gc消耗不存在的。而java生成的都是字节码,代码执行都要经过jvm来跑,这中间的消耗对于那些对性能要求苛刻的程序来说,绝对不能接受。
综合以上两点,java处于运行效率和开发效率中间的语言,在游戏这个行业自然是不会受到青睐。
做游戏这一块学java好还是学C语言好?
谢邀。四川中公优就业的老师为您解答:
开发游戏的主流语音目前主要有2种:C++和JAVA
先说C++,目前国际上的大型游戏的开发多数都是以C++为主开发出来的,C++开发出来的游戏具有优化更好的特性,就是占用更少的CPU、内存,但是同时,语言结构的复杂性也是非同一般的。JAVA,上手容易,深入不难,一个月熟练不是随便说说的,是事实,主要开发跨平台的游戏,具有平台移植性良好的特性,但是优化不好,语句多数比较冗余(C++写1000句能完成的,JAVA可能要写5000句),但是浅显易懂,JAVA开发的游戏有个较大的弊端,内存占用都很高(硬件越来越发达,对于优化的追求没有以前那么高了,这也是这些年JAVA开发游戏能兴起的主要因素之一吧)
当然,你即时熟练掌握了C++或者JAVA,也不是说你立马就能上公司做游戏开发的,一般的游戏公司都会有自己的一套游戏引擎,这些引擎或是用C++写的,或是用JAVA写的,或是其他的……然后封装一下,会让你基于引擎的接口来开发真正的游戏,所以,语言是基础。
请问学会了JAVA后可以开发APP了吗?
这还是不够的,因为开发APP涉及到多方面的能力。但如果你只需要开发android的APP,那就够了。因为它的原生开发的基础是java。
现在很少有公司会用原生的代码去开发android(java)和ios(object-c)。整体趋势是用一套html5的代码去开发兼容android和ios。如果你想从事更多app的开发建议你再学习一下apicloud和ionic,后端实现(一般都是java提供app数据操作的接口)也很重要,难度也比较大。建议最后接着往大数据发展。