在忘记Java在计算机行业里所扮演的角色和作出的那些卓越贡献前,小编整理了12个绝对的理由,来告诉你Java不但不会和COBOL同样被堙灭,而且在其后时代中更加壮大。换句话说:Java一直就在而且其地位没法撼动。程序员
一、Java成为编程初学者的语言数据库
做为大学AP计算机课程,意味着在美国不少学生第一次接触到的计算机语言就是Java。因为这个先入为主的缘由,当他们学习其余新的语言时,即使转行学其余语言课程,可是他们在思考的时仍会受到Java的影响。编程
Java做为一个教学语言是有它的缘由的。声明数据类型看上去可能比较抽象,可是为了能让初学者理解计算机的原理,声明数据类型经过编译器会告诉他们数据类型不匹配而没法编译时,可让他们更好的理解计算机的底层原理。而一些新语言已经摒弃了花括号,维护麻烦使得新人有所厌倦,可是花括号对那些新手是很是有用的,由于能帮助他们理解嵌套的代码块。服务器
二、Java在市场斗争中不屈不挠多线程
技术界历来没认为Java会成功,尽管它的对手太多但依然繁荣发展起来。那些诧异Java仍然存在的人们并无真正去理解为何Java会成功。微软 Java第一个面对的强大对手,由于那时MS-DOS提供了通用性,而微软看到Java是此通用性最具可能性的替代者。编程语言
此外,苹果Steve Jobs历来没接收过Java,即便是在Mac被除了Adobe以外全部人忽视的年代。Java的兼容性能够带来不少有用的代码,可是Apple一直未把Java视做第一选择。工具
Java内部的不少斗争也给它带来了巨大痛苦。IBM喜欢Java,可是一直在和Sun斗争。IBM将其开发的优秀的IDE工具称为“Eclipse”的决定,一直没被Sun的人员欣然接受。Sun也历来没像IBM那样深入理解商业领域。性能
尽管这些缘由,尽管Java创造者也在Java发展中有许多失策之处,Java依然快速壮大,在服务器应用领域如鱼得水,在桌面应用领域知足基本业务需求。学习
三、Java具备跨平台兼容性开发工具
虽然Java并非第一个提供跨平台兼容能力的语言,可是Java已经成为最受欢迎的跨平台编程工具,Sun以及Oracle已经为程序能够跨平台使用提供支持。当程序不能在多个平台上使用时,致使问题的缘由一般是能够解决的。
Java程序员可使用他们的桌面开发工具进行编码,并部署到目标设备,多是一台手机或者一台服务器。若是编译器包含了正确的库而且使用了正确的版本,代码就能够运行。
四、Java虚拟机优化线程的魔力
Java虚拟机的强项之一是多线程控制。JVM针对大型多核机上数百线程的稳定性作了极佳的优化。其余语言会为了能跑在JVM上面搞出交叉编译器和模拟器。Java的这个能力同时也吸引了不少高流量的网站。他们能够在台式机上搞开发而后丢到服务器上让JVM发挥出多核的功效。
Ruby由于语法的简洁和源码可读性好成为了Java目前的一个对手。可是当性能成为瓶颈时,Ruby开发人员转到了JRuby,一个用Java模拟出来的Ruby环境并加强了高负载下的线程处理能力。
五、Java虚拟机让编程更加的灵活
Java虚拟机是按照运行Javac编译器产生的代码源头来设计和优化,但开发者们意识到Java虚拟机也能够运行其余代码。只要编译器们产出标准的Java字节码,Java虚拟机根本不关心是使用的那种编程语言。Haskell、Scala和Clojure的开发者们设计编译器就采用Java,而只是这个由Java虚拟机产生的。
另外,Sun/Oracle为建立跨平台环境而努力,工程师们消除平台间差别,并考虑兼容性问题,而后全部人能够运行他们想运行的程序。微软在建立C#时为大部分主要语言设计了编译 器,使得C#虚拟机能够运行这些语言编写的全部程序。C#程序员能够用不少不一样的语言编写程序,只要经过一个Windows盒子将其运行在一个虚拟机上便可。
六、Java在移动领域上的持续成功
Java也许并没在大型应用程序中有很好体现,但它却在移动领域的细分市场得到快速发展。Android平台从上到下都是基于Java构建起来的,而且它现在的销量轻易的超过了iPhone。JAVA ME做为精简版的语言和VM已经被普遍应用在智能手机上,而智能手机现在已经遍及在全世界。
七、Java让花括号能优化代码工做
相似Ruby、Python或CoffeeScript等语言的开发者对于Java要求程序员们敲打花括号键来明确表达代码段的开始和结束。括号、花括号、甚至方括号对于程序员略显多余。可是改变符号并不能消除复杂性,使用像制表符等空白后你只能用直觉去感觉那些没法看到的东西。若是if语句只引导了一行代码,这样不会有问题,可是当不少层嵌套时,就很难看明白。当用Python编程时,并不意味着代码像理解英文简单。
八、Java在蓝光应用取得突破
Java曾经为机顶盒而设计的语言,Sun想在占据此市场,可是Java却在另外领域中找到了合适的位置。蓝光标准是围绕Java创建,任何想在蓝光光碟中添加额外内容的人,必须获得其Javac编译器版本。蓝光光碟不止限于存放视频内容。那些额外特性和交互工具可使用纯Java代码修改并加强。压缩后的视频和压缩后的Java字节码的混合。
九、Java动态类型语法工具Groovy
Java开发者必需要有一个带有动态类型的语法,可使用Groovy一个带有预处理器的工具,它可以生成出Java字节码来。这种语言也彻底集成到了Java中,所以能够在Groovy中混入对Java库的调用。就像是编写Java代码的缩略形式。
这一灵活性让开发工程师得以找到问题的出路。在使用了动态方法调用时,开发者能够用Java来重写重要的核心操做。
十、Minecraft游戏中00后的情结
非主流们对Java嗤之以鼻,可是Java程序员们却领先一步。在Ruby时尚团正汇集起本身的一群粉丝时,Minecraft让以后的一代人爱上了Java。它用Java编写而成,要扩展该游戏就需学习Java来设计其插件,这保证下一代程序员首选是Java
十一、NoSQL创建在Java之上
数据库是保存信息并快速有效应对查询请求。NoSQL的出现让程序员们能够本身编写数据库,并根据需求修剪其代码。那些最重要NoSQL工具中不少都是用Java编写。Cassandra、Lucene、ElasticSearch、HBase和Neo4J只是一些常常提到的NoSQL选择。
据了解,工具一般是开源的。开发者将其独立运行,或将它们集成在本身的模块中,使得Java在数据库层中成为通用语言,保证了Java开发者们担忧因为字符编码和行结束符带来的故障。这意味着Java开发者们能够享受由NoSQL革命带来的丰硕果实。
十二、开源成就Java代码普遍的应用
Sun一直是开源领域中的领导者之一,Java程序员们发布众多开源许可的库和项目。Apache项目一直都在使用一个没要求太多回报的许可证来提供优秀的Java代码。07年完成在GPL许可下公开大部分代码的工做,这种开放的立场一直延续并保证Java平台很大程度是开放和免费的。
由此,Java有本身的问题,花括号增长混乱等缺点。但目前尚未一个广度和深度上可与之竞争的语言。最接近的也许是JavaScript,依靠有闪电般速度的Node.js在服务器领域受到普遍关注。而语言是开源且灵活多变,意味着Java程序继续存在甚至更加兴旺。
而且随着社会信息的发展,Java技术已经无处不在,不管是手机软件、手机Java游戏仍是电脑软件等,只要你使用到电子产品就会碰到和Java有关的东西,更多的企业正采用Java语言开发网站,而在全部程序员中,Java开发工程师就占据20%的比例,不能否认,Java语言有着普遍的行业发展前景,它在行业中的影响力已经是不可避免的。