做开发的小伙伴经常会听到一句话:360行,行行转Java,这句话到底是什么鬼呢?其实这句话就是讲入门Java的人非常多,不管是转行的,还是应届毕业生0基础的,选择编程开发时往往会选择Java作为首选,那么Java为什么有这么强的号召力呢,优势在哪里?
随着时代的发展,互联网行业越来越普及,想加入这个行业的人也越来越多。Java的主要优势就体现的很明显。
1、Java程序员有着相对较高的薪水
薪水是我们工作最原始的动力,所以放在第一位的来说在如今的中国,如果单看工资收入,JAVA工程师的薪资绝对是很靠前,很有竞争力的。
随便一个IT行业相对其他传统行业来说,工资水平还是处于较高的水平,更别说你幸运的投身到一个初创公司获得股权期权等等,IT行业的快速发展给每个从业者带来的是看得见摸得着的利益。
2、程序员有着一个相对公平的竞争环境
作为一个程序员如果你有能力,你就委以重任。所谓相对公平就是,不论长相,不论背景,能力决定一切。广大的青年才俊们,只要你有真本事,就不用担心自己在这个行业的前途。
3、IT行业能让你保持新鲜和年轻
在IT圈里混,每天都在接触新事物,这是区别于其他所有行业的一个重要特点。每天有各种层出不穷的新产品、新思路、新方法、新创意呼啸着来到你面前。如果你有一个开放的心态,愿意去了解和探究这些新鲜事物,你会永远保有自己的好奇心,永远有一颗年轻的心态。
IT行业的目标是创造出原本没有的功能或者一个世界,这些创造能让你有不同与其它行业的成就感。例如开发出客户满意的源代码、为客户提供一个复杂的IT架构设计、解决了客户一个紧急的系统故障等,这都能给开发人员带来很强烈的成就感和满足感。
今天,Java最大的优势在于其庞大而完善的生态系统。一门编程语言是否能流行,主要是由其生态系统决定的。Java生态系统的完善性主要体现在以下几个方面:
4、Java拥有世界上数量最多的程序员
你说他们是农民也好,但数量放在那里,最明显的效果就是公司招人的时候会比较容易地招到Java程序员。试想如果你想要做一套软件,你有一个很棒的技术方案需要用C++,Scala或Ruby等语言实现,但招不到足够的人手,那么计划多半泡汤。这时候你的应用Java也能做到,并且很轻松就能招到足够的人,那么你选择Java的可能性就要大一些。
5、Java拥有大量的第三方类库
假如你想解析HTML,用C/C++这类语言恐怕多半只能自己编写解析算法库了,而如果是Java,你可以非常轻松地在Github上找到JSoup,使用Maven导入依赖后分分钟就搞定HTML。为此还有一句讽刺Java的话是:“我们不生产代码,我们只是Github的搬运工。”这句话从字面上看是很有道理的,但却忽略了对软件生产效率的提升所带来的巨大价值。对于软件的开发,公司的唯一成本其实就是“人头费”,每减少一个月开发时间,就能帮助公司节省几十万几千万的研发成本。
6、Java拥有功能强大的IDE
Eclipse,通过插件几乎可以满足你开发的任何需求。它虽然有些慢,但你可以通过JVM调优来提高程序的流畅度,千万不要使用默认的JVM参数。不过,IntelliJ Idea已经完全超越Eclipse了,Idea的智能程度几乎可以媲美Win平台下的VS。我是那类离了Vim就活不下去的人,在这两款IDE中都有Vim插件从而让我愉快地存活下去。
7、Java拥有很多杀手级应用
不必多说,Spring, Struts, Hibernate, Hadoop, Tomcat, JBoss等等。
8、Java的语法特性很少
对,这也是一项优点。C++相比C添加了大量特性,学起来费事不说,用起来还会降低代码可读性,其实是费了工夫不讨好。当今世界对编程语言的要求是语法简单,代码可读,对性能已经是退而求其次了,因此才诞生了Python, Ruby这样的编程语言。有很多人批评Java语法写起来很臃肿,我承认这一点,但事实是,编程语言从来都不是因为语法臃肿而被淘汰的,决定其生死的是生态系统。对于批评者,引用知乎的一句话:”动态类型一时爽,代码重构火葬场”。
9、Java的性能已经足够高了
Sun/Oracle的HotSpot JVM内置的JIT编译器在运行时对字节码已经做出了非常大的优化努力,服务端应用启动后对JVM进行足够的”预热”,并给出合理的启动参数即可。如果不是对性能十分敏感的系统类应用,Java已经足够快了。有一种简单可行的方法可以形象地看出这点,在JVM启动参数中添加+XX:PrintCompilation可以看到JIT编译器的忙碌。当今世界对软件的需求量越来越大,在性能可接受的情况下,开发效率才是第一位的,这也是Python这类动态脚本语言流行的主要原因。
以上仅做客观分析,并不想引起语言战争。毕竟,没有最好的语言,只有最适合某种项目的语言。引用黑格尔的一句话:”存在即合理。”
在未来的几年,Java工程师人才的需求还在不断的加大,由于人才的紧缺,这一门职业相对于其它专业薪资待遇还是不错的,Java工程师待遇是与你的工作经验直接挂勾的,当你有了丰富的经验以后,你在这个社会上就比较抢手了,而且企业所出的薪酬也是相当高的,到时只有你选择他们了。再也不是刚毕业的时候,你去找工作,而是工作来找你。