Oracle:相信我,Java 仍然是免费的!
对于开发者来说,这一年的技术圈似乎尤为动荡。
3 月,Facebook 被爆出臭名昭著的“剑桥数据泄露事件”;同月,Android 系统因侵权使用了 Java 接口,甲骨文公司获得了 Google 奉送上来的数十亿美元罚款;5 月,苹果三星纠缠了近 7 年的专利侵权案,最终以三星电子公司赔偿苹果 5.386 亿美元而作结;6 月,一贯“厌恶”开源的微软却豪掷 75 亿美元收购了全球最大的代码托管平台 GitHub;10 月,107 岁的IBM 以 340 亿美元收购了 Linux 巨头 Red Hat......
撇开科技巨头们间的暗流涌动,开发者们切身使用到的编程工具层面,同样上演着各式风云。
使用了 23 年的 Java 在今年 3 月和 9 月分别发布了 JDK 10 和 JDK 11 版本,却又在上月宣布新版 Oracle JDK 不再免费;
老牌语言 C/C++ 依然占据着 TIOBE 等各大编程榜单榜首,睥睨苍生;
Python 随着 AI 的火爆而换发出强大的生命力,但在 7 月份惨遭“抛弃”,其创始人声称拒绝再为其“劳心劳力”;
新生代语言 Kotlin 在正式成为 Android 官方开发语言后,受到了开发者的广泛推崇,并在 3 月份发布的 Stack Overflow 2018 最受欢迎编程语言榜单中雄踞第二;
4 月份,Google 开源 Swift for TensorFlow,受到了 Swift 编程语言开发者的热烈欢迎;
发布已十年的 Go 则一直是开发者的心头好,还在Stack Overflow 2018 年薪资计算器中被评为收入最高的开发语言;
......
技术更迭之下,开发者也只能紧跟趋势,不断更新技术储备。
近 7 成开发者在使用 Java 语言
无独有偶,在2017 年中国软件开发者大调查中,CSDN 通过对广大开发者的调查同样发现,这些编程语言们在开发者心中的排名不分伯仲:近 7 成开发者在使用 Java 语言,近 6 成开发者近期最想学 Python 语言;而 C/C++、Kotlin、Swift、Go 等语言同样榜上有名。
对此,转转公司架构算法部负责人孙玄表示:
Java 语言虽然是老牌语言,依然非常有生命力。第一是因为它的持续更新升级优化,Java 9 在 2017 年已经推出;第二,它的生态很完善,项目需要的功能都能够找到对应的实现 Jar;第三,它的使用场景很广泛,从电商领域、到信息流分发流量,再到大数据、云计算、AI 领域,都可以如鱼得水地使用它。因此 Java 成为使用最多的语言也就不足为奇了。
人工智能是技术发展的下一个风口,必将改变目前行业发展的格局,拥抱人工智能,将拥有未来。Python 作为解释型的语言,它提供了大量的计算包,可以帮忙学习人工智能的同学很快上手,并且 Python 语法简单,表达的语义丰富,入门门槛相对较低。人工智能发展的火热,成为促进 Python 语言应用的催化剂。
其中的大佬“Java”最近因推出收费服务而备受业界争议,很多开发者质疑“Java 是不是不免费了?”、“是不是该放弃 Java 了?”......针对这些问题,在近日的甲骨文 CodeOne 大会上,Java 小组成员进行了详细解答。
甲骨文改革 Java,开始推付费服务
近日,甲骨文的 CodeOne 大会以全新的名称在业界露面了。正如甲骨文开发者社区团队主管 Stephen Chin 四月份时所说的那样,甲骨文正在努力创造一个“大事件”,用以包容更多的语言、技术和开发者社区。
去年的大会上宣布了 Java 是甲骨文软件开发的首要任务:“我们希望下一个十年 Java 仍然能够保持第一。”此次会议上,甲骨文 Java 平台组的 Georges Saab 再次强调了 Java 在并行性、并发性、性能、类型系统和庞大生态系统方面占据的优势,这些特性使其非常适合构建数据基础架构。
Saab 随后重申了甲骨文对 Java 的承诺:“Java 在不断发展,其生态系统也随之发展。这产生了良性循环,社区规模的扩大带来了很多可能性,但也带来了很多挑战,例如不同用户需求的冲突。”
因此,为了与其他编程语言的快速发布周期保持一致,甲骨文公司努力按照常规的六个月节奏提供 Java 改进——很显然,这已经取得了一些成功,但这是以破坏某些东西为代价的。
甲骨文 Java 平台小组的首席架构师 Mark Reinhold 即表示:“我们正在以更快的速度发展 Java 平台。我们这样做是为了跟上竞争平台,以使 Java 更适合现代应用。”他还在演讲中展示了 Java 的模块化和现代化。此外,他向与会者保证,虽然 Java 的有些变化可能会让用户感到恐惧,但并不会像想象的那么可怕。
Reinhold 还强调,尽管甲骨文处理 Java 支持的方式发生了变化,但 Java 仍然是免费的。此外,他解答了业界关于新 Java “不再免费”的误解:
“为了建立一个公平的竞争环境,甲骨文开放了以前仅向付费客户提供的所有重要商业功能,包括应用程序类数据共享、飞行记录器、Java 任务控制和垃圾收集器(ZGC)。”“甲骨文构建和 OpenJDK 构建在功能上是可以互换的。这意味着你可以随意切换到另一个。这也意味着所有这些代码都可以在 GPL 下获得,任何人都可以构建、测试、发布、更新和支持。”
Reinhold 说:“Java 旨在帮助开发人员构建和维护大型可靠的程序,此外,其另一个重要目标是提升程序性能。”
目前,Java 团队正在深入研究几个旨在增强语言的项目,其中包括 Valhalla 项目,旨在提高 JVM 内存使用效率,从而降低成本;Panama 项目,旨在改进用于与 JVM 交互的 C API;Amber 项目,尝试通过添加 switch 表达式和原始字符串文字等功能,使 Java 更加简洁;Loom 项目,它引入了一种称为光纤的线程的轻量级替代方案,对并发代码更为有效......