Java将死?不!原因在这…

年复一年,关于”Java 将死?”的疑问频繁涌现,然而,通过所有外部表现来看,Java 仍活着,并且在发展。尽管许多新语言各领风骚,开发语言排行榜(TIOBE)上 Java 在 2015 年仍居榜首,并比 2014 年增长了5% 的使用量,远远超过其他语言。

另一方面,PYPL index 根据 Google 搜索频率为编程语言排名,展示 Java 以总搜索量的 23.9% 遥遥领先。

近两年有很多 Java 死灰复燃的原因(Android 开发的爆炸式增长,Java 8 的发布,Spring 社区的活跃,尤其是 Spring Boot),市场优势来自于伟大的产品。这就是为什么我们认为 Java 并不会消亡的原因。

Java 虚拟机和 Java 生态环境

Java 虚拟机,或称 JVM,将程序编译成字节码,稍后被 JVM 解析执行。因为 JVM 根植于你的特定硬件和系统,它允许 Java 在各处运行,Windows、Mac 或各种 Linux。

JVM 带来的巨大优势就是它提供的强大兼容性和稳定性。因为你的应用运行在虚拟机上而不是直接运行在硬件上,你可以编写一次应用并运行在每个有 Java 虚拟机的设备上。这也是 Java 核心原则:“一次编写,到处运行”。这也让 Java 应用面对环境变化时有更大弹性。

安全性和互操作性

Android 环境就是 Java 安全性和互操作性的典型代表。Android 占全球手机市场 89%,运行基于 Java。因为 Java 允许操作系统运行在虚拟机中,并不需要在每台设备上编译,提高了系统的稳定性和易用性。

Android 展现出的 Java 另一个优点就是与其他基于 JVM 语言的互操作,比如 Scala、Groovy、Clojure、JRuby 等等。你可以选择使用这些“更加动态”的语言来构建你的应用,并在需要更多性能的时候重拾 Java。

巨大的 Android 市场在内部开发中也存在危险。Android+Java 允许用户运行不受信任的应用,并通过虚拟机来运行所有应用来缓解这种危险。因此,应用充分利用操作系统核心的唯一方式就是放弃虚拟机的实现,也就是那个非常小的、被安全层紧紧保护的虚拟机。

Java 的实际应用规模

Amazon、Google、eBay 和许多其他大型电商使用 Java 作为它们的后台。它们使用 Java 是因为 Java 久经考验并且可伸缩。任何语言的后台只能支撑少量用户,但 Java 可以处理 200m 或等多。让我们看几个典型例子:

Hadoop

Apache Hadoop 是支持在大规模硬件集群上运行应用的的 Java 框架。它被设计用来为那些操作和处理大数据的应用提供高吞吐量。如今 Hadoop 被许多公司,如 Facebook、Amazon、IBM、Joost 和 Yahoo 来处理数据、分析或生成记录。

Hadoop 的创造者 Doug Cutting 说过:”Java 协调了开发者开发效率和程序执行效率。开发者受益于这种简单、强大、类型安全的语言和丰富的高质量库。”简而言之:大数据离不开 Hadoop,Hadoop 离不开 Java。

Twitter

对于 Oracle 团队和 Java 来说,Twitter 是近几年众人皆知的巨大成功。最初由 Ruby on Rails 构建,Twitter 流行度急速上升,同时 RoR 框架可伸缩性的缺陷也清晰暴露出来。“Fail Whales (失败鲸)”(Twitter 宕机时的标志画面)也频繁出现,直到 Twitter 在 2012 年转向 Java。如今 Twitter 运行在 Java+Scala 之上,Fail Whales (失败鲸)也不复存在。

Minecraft

Minecraft 是款不可思议的成功游戏。开发团队通过它赚了上百万美元,然后以 25 亿美元价格卖给微软。Minecraft 运行在 Java 之上。

庞大的的 Java 社区帮助 Minecraft 蔓延到成千上万的游戏 mod。同时 Minecraft 向新一代开发者推荐 Java。Google 上搜索”Minecraft mod 制作”会返回 65.3 万的结果,其中大多是教 12 岁以下人群如何编程。

其中一款开源工具是 Eureka,人们用它来跟踪用户登录 Netflix 所使用的设备,并交叉校验动作和最近活动,来确保当前账户是安全的。

Java 的未来

去年,Oracle 宣布 Java 9 预计在 2016 年 9 月到来。这次更新把语言中众多函数拆分成许多小组件,意在让 Java 更加快速和易用。Oracle 的巨大投入(虽然总被黑)帮助 Java 一方面可以继续支持企业依赖,另一方面也可以有所新的发展。

Java 和物联网(Internet of Things)

“我认为 Java 的未来就在物联网(IoT)之中。我很想看到 Oracle 和合作伙伴致力于完善 Java 端对端的存储解决方案,从设备通过网关到达企业后台。如果能梦想成真并取得成功,将巩固 Java 在未来 20 年中的地位。这对于行业来说是巨大的挑战,我相信 Java 能够胜任。”Eclipse 基金会执行董事 Mike Milinkovich 这样说。

Oracle 赞同这点。Development Georges Saab 副总裁说:“Java 对于物联网(IoT)来说是很棒的技术。物联网很多挑战是桌面和客户端的挑战,上世纪 90 年代 Java 已经解决。现在有很多不同的硬件设备。你想让开发者关注系统的各个层面,理解并运用。Java 是少数能让你这样做的技术之一。”

Java + Stormpath

有不少批评 Java 的人,他们部分争论的焦点或许有一些说服力,但这也是好事,比如优秀的部署工具、性能分析、Java 虚拟机、庞大的库等等。在 Stormpath,我们的后端完全用 Java 开发,并且我们升级到了 Spring Boot。Java 万岁。

本文文字及图片出自 www.codeceo.com

余下全文(1/3)
分享这篇文章:

请关注我们:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注