阅读更多

1顶
4踩

编程语言
【编者按】对于前不久Oracle裁掉了一部分Java布道师,近日一位Oracle前高管称其为该机构对Java的“计划报废”。如果这个计划是属实的,那么对于寻常的开发者、已经采用了 Java 的公司、预备选择Java作为基础的创业者,究竟又会产生什么样的影响?近日,Jason Whaley在Dzone上进行了详细的分析,由OneAPM工程师翻译。

以下为译文

几个月前,Oracle 裁减了部分 Java 布道师。不久之后,一位 Oracle 前高管在发送给Infoworld 的邮件中称此举为“计划中的报废(planned obsolescence)”。
引用

一位负责 Java 的 Oracle 前高管在周二发给 InfoWorld 的这封邮件中声称了解 Oracle 公司内部信息。邮件称 Oracle 正在转型为云公司,以期与 Salesforce 竞争。而且,"Java 已经完全失宠”,主题栏的原文为“Java——计划中的报废”。

邮件还说,Oracle 不想给竞争对手更多资源,不想分享创新成果。Oracle 正在缩减对 Java EE (企业版)的投入,同时它也不希望别的公司接手 Java 或 Java EE,而且它正逐步将 JCP (Java Community Process) 打入冷宫。邮件称:“它们抱着赢者通吃的想法,不再热衷于合作”。“WebLogic 的专利申请将会逐步完成,同时,也会推出一个专利的微服务平台。”WebLogic 是 Oracle 在2008年收购 BEA Systems 时得到的 Java 应用服务器。

如果以上陈述有一半属实,那 Oracle 的想法和计划真是相当吓人。现在,将上面的陈述与下面的事实一起考虑。事实上,Oracle 掌握了 Java 大部分的所有权。
  • Java 语言、Java 虚拟机以及标准的 API 都是遵循 GPL 许可的开源资源。
  • 在收购了 Sun Microsystems 之后,Oracle 成为该知识产权的所有者。
  • Oracle 勇于通过代价高昂的法律诉讼维护其知识产权——它与 Google 围绕 Android 的官司就是证明。
  • 那次官司的结果是法律不支持 Java API 被复制或分支(copy/fork),也不支持通过封装或重命名的方式移为他用。
  • Java Community Process 是目前唯一可以改变该语言核心或标准 API 的方式。
  • 第三方供应商若想开发 Java 工具并大量发售,必须获得(大多是以购买)Oracle 的许可。

最后,将以上所有事实与 Oracle—— Java 唯一拥有者的未来计划一起考虑。
  • 不打算对 Java 进行有意义的更新
  • 不觉得有必要布道其产品以提高采用量或鼓励创新应用
  • 只因为 Java 是其他专利产品的开发基础才觉得它有用
o
是不是觉得有点夸大其实?可能是吧。但如果 Oracle 真打算将 Java 平台投入维护模式,以上想法并非无稽之谈。那么,对于每天依赖 Java 或 JVM 工作的寻常开发者而言,这冷酷的前景意味着什么呢?对于那些以 Java 技术为软件基础架构支撑的公司而言,又意味着什么呢?对那些正准备用 Java 编写产品原型或 MVP(最小化可行产品)的初创者,又如何呢?前面所有问题的答案是:“没有任何影响。至少现在是这样。”

对于寻常的开发者

Java 仍旧是当下部署最广泛、使用最普遍的平台语言。我掌握的一手资料显示,今年的 JavaOne 大会依旧充满生机。现今主流的基础架构还是以 Java 为基础构建。在 TIOBE(编程语言排行榜)上,Java 还是跟 C 一起,交替处于榜首。

围绕 Oracle 裁减布道师的阴云与猜测并不会对雇主们的 Java 或 JVM 技能需求产生任何影响,今天不会,明天不会,明年也不会——恐怕要有好一阵才有影响。即便 Java 语言和标准 API 的普及率下降了,越来越多的新语言正以更快的速度基于 Java 平台进行开发,那些(更普遍的情况)自带 API 的语言,往往也是基于标准 API 的。

以上所有开发都依赖于该家喻户晓的热点 JVM,那 Oracle 对其知识产权的控制又如何呢?即便 Java 不再流行,仍有 Azul 之类的公司愿意向 Oracle 购买证书从而通过其兼容的 JVM 赚钱,比如他们的商业产品 Zing 以及免费的 Zulu。

对于寻常的开发者,这个新闻无须挂怀。即便是那些将全部职业生涯都赌在 Java 这一种平台的开发者,这么做虽然比较不明智,但也不用担心。围绕 Java 生态系统的技能与知识需求不会在短时间内消失。

对已经采用了 Java 的公司

与日常开发者差不多,变化也不大。之前就在基础机构中采用了 Java 的公司早就赌定 Java 能帮助其完成既定的商业目标——即使该平台的背后支持是传说中“邪恶”的 Oracle,或更早之前,一直都穷困潦倒的 Sun Microsystems。 这些全面展开的系统既然能实现商业目标,就不能因为它们建立在 Oracle 发布的平台之上,而沦为抛弃对象。

一般而言,在短时间内重写或替代重要基础架构中的 Java 组件的成本与风险远远大于回报。此处的回报是在未来,你新采用的平台变得非常普遍从而最终降低成本、提高业务敏捷性。重写并替换工作系统是非常危险的冒险——只要看看Netscape 的例子就知道了。即便一个公司顺利地完成了迁移,回报也只能在多年以后得以实现。

若不管替换工作系统的问题,为了避免未来陷入遗留系统的困境,已经采用 Java 的公司组织可以将基础架构迁移至微服务模型(microservices model)以降低风险。微服务策略也是一把双刃剑,该话题在软件开发领域还处于热烈的讨论阶段,包括何时、何处、如何部署微服务架构。但若是担心与 Oracle停止开发的平台绑定的潜在风险,机警的公司至少可以通过微服务,逐步地,替换或孤立以Java为基础的服务组件。

新的项目该何去何从呢?

如果你正在筹备新的科技公司或启动内部新项目,并且觉得 Java 是合适的技术选择,就需要讨论一下该不该以 Java 生态系统为基础。讨论的焦点还是集中在可能产生的技术债务(technical debt)。在选择平台时这类技术债务完全无法避免——区别在于这些债务的回报如何。

选择 Java 平台意味着获得健康广阔的生态系统,以及丰富的知识、劳动力与相关产品。作为交换,由此带来的技术债务在于,该平台也许无法适应未来的技术演进,因为其所有者不打算继续开发它。现在,你或许可以开发出健康的产品,尽管未来会的开发成本会越来越高,甚至牺牲未来的业务敏捷度。

其他的平台选择都有各自的技术债务。但简而言之,各有各的不同。比如:
  • 选择 Node.js 平台意味着缺少丰富的稳定生态系统。但该平台非常活跃,欣欣向荣,可能会持续发展很长时间,而且 Node.js 人才也越来越多。
  • 选择 Ruby(很可能与 Rails 一起)平台意味着能以合算的成本快速建立起工作系统的基础架构,但坏处是扩展性不佳。
  • 你也可以选择 Microsoft/.NET 生态系统,该系统拥有一些与 Java 平台相似的优点,但缺点是你的公司命运会与另一个企业软件巨头的选择绑定。

……还有许多其他选择,每个选择都是利弊权衡的问题。

简而言之,是否选用 Java 平台作为新项目的基础平台很大程度上是个人决策。Oracle 可能厌倦了 Java,但这是否应该影响这个决策呢?当然应该。但是,这不该是唯一的考虑因素。尤其是借助 Java 生态系统建立项目,能可观地提高项目成功的机会。

原文链接:Even if Oracle is Losing Interest in Java, Should You Worry? (责编/仲浩)
来自: OneAPM
1
4
评论 共 9 条 请登录后发表评论
9 楼 zolora 2015-12-04 09:31
kidding me? Baby...
别哗众取宠,无病呻吟了...show me the code, show me the world
8 楼 xianxyb 2015-12-01 15:17
脑洞太大系列
7 楼 sqc1112 2015-11-26 08:36
在小编死之前  java 还是很受欢迎的
6 楼 chinarefers 2015-11-26 04:22
纯属扯淡,这些老调已经唱衰java很多年了,可是现在java依然占据语言排行榜首位
5 楼 somefuture 2015-11-23 23:16
当前的Java也足够强大一段时间了,然后移步Rust
4 楼 netkiller.github.com 2015-11-23 17:56
还有PHP,脚本语言市场占有率第一的语言。
3 楼 lost_alien 2015-11-23 11:14
会影响到jvm上的其它语言吗?
2 楼 小小莫 2015-11-23 09:41
java将何去何从?
1 楼 mangguo 2015-11-23 09:02
nodejs确实是一派欣欣向荣的景象。
http://www.hubwiz.com/course/?type=nodes

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Java 失宠于 Oracle,未来会怎样?

    如果这个计划是属实的,那么对于寻常的开发者、已经采用了 Java 的公司、预备选择 Java 作为基础的创业者,究竟又会产生什么样的影响?近日,Jason Whaley 在 Dzone 上进行了详细的分析,由 OneAPM ...

  • Java 失宠于 Oracle?

    在 Python、JavaScript 等一众编程语言崛起风靡之际,一代...不过,有不少网友发现,即使如此,Java 之于其母公司 Oracle,地位似乎日趋愈下。而这也并非空穴来风,种种现实表明,Oracle 正在从其内部逐步削弱 Jav...

  • Android不再使用Oracle专属的Java API将仅仅依赖于OpenJDK

    Hacker News在上月率先曝光了“神秘的Android代码库”,而Google亦向VentureBeat证实“Android N”将仅仅依赖于OpenJDK,而不是Android自有的Java API版本。  一名Google发言人告诉VentureBeat:  作

  • jsp不能写JAVA_Java在未来还会继续火吗?

    作者:YC 来源链接:cnblogs....Java语言具有什么魅力?想必这都是已经为大多数人们所熟知的了,不值得过多赘述。而Java语言发展至今,面对发展势头迅猛又十分简单易学的python,以...

  • Java 8“失宠”

    文|白开水出品 | OSC开源社区(ID:oschina2013)JRebel 发布了最新的 2022 Java 开发人员生产力报告。探讨了 2022 年 Java 开发人员调查的结果...

  • 假如Java被报废,未来将会怎样?

    想要学习Java课程的同学但是又没有任何基础的同学不要担心,我们这里有免费的Java免费公开课程,有同学想要深入了解或是说有什么疑问的呢可以加群487425429.47,247,247);mso-shading:rgb(247,247,247);" >:.NET...

  • Java是未来的第一编程语言吗?

    而Java语言发展至今,面对发展势头迅猛又十分简单易学的python,以及各种层出不穷的高级语言,Java程序员的份额已经逐步下降,那它是否还能在未来保持领先的优势呢?本文就主要从Java语言所不擅长的领域,以及它...

  • (源码)基于 Koa2 的 FEBLOG API.zip

    # 基于 Koa2 的 FEBLOG API ## 项目简介 FEBLOG API 是一个基于 Node.js 和 Koa2 框架的 RESTful API 服务器,支持多种关系型数据库(如 PostgreSQL、MySQL、MariaDB、SQLite、MSSQL),并使用 Sequelize 作为 ORM。项目支持跨域请求、JSON 数据传输、JWT 身份认证等功能,适用于构建前后端分离的应用。 ## 主要特性和功能 跨域支持通过配置支持跨域请求。 数据传输格式支持 applicationxwwwformurlencoded、multipartformdata、applicationjson 格式的 POST、PUT、DELETE 请求。 JWT 身份认证通过 JWT 实现用户身份认证。 数据库支持使用 Sequelize ORM 支持 PostgreSQL、MySQL、MariaDB、SQLite、MSSQL 等多种数据库。

  • 存储器实验资料.zip

    存储器实验资料.zip

  • (源码)基于 Python 的知乎热榜爬虫及数据处理项目.zip

    # 基于 Python 的知乎热榜爬虫及数据处理项目 ## 项目简介 本项目基于 Python 编程语言,旨在实现知乎热榜的定时跟踪以及相关数据的存储与查询操作。通过爬虫技术获取知乎热榜问题的详细信息,将数据存入数据库,同时提供一系列 SQL 查询示例帮助用户熟悉 SQL 基本语法,还包含使用 Selenium 实现 GPA 计算器的功能。 ## 项目的主要特性和功能 1. 知乎热榜爬虫定期爬取知乎热榜,获取问题摘要、描述、热度、访问人数、回答数量等基本信息,并将数据存入数据库。 2. 可定制爬虫逻辑用户可以选择删除已有代码从零开始编写,也可以完成代码填空实现相应功能。 3. GPA 计算器使用 Selenium 模拟点击登录 WebVPN,登录 info 并访问成绩单页面,查询成绩并计算每学期的绩点。 4. SQL 练习提供一系列基于 MySQL 数据库的 SQL 查询练习,帮助用户熟悉基本的 SQL 语法,如添加新列、数据填充、关键词查询等。

  • (源码)基于C语言的学生信息管理系统.zip

    # 基于C语言的学生信息管理系统 ## 项目简介 这是一个基于文本界面的学生信息管理系统,旨在通过简单的文本输入实现学生信息的添加、查找、修改和删除操作。系统采用链表数据结构存储学生信息,并支持文件读写功能以持久化存储数据。 ## 项目的主要特性和功能 ### 主要特性 1. 文本界面操作用户通过控制台输入指令完成操作。 2. 链表数据结构使用链表存储学生信息,方便信息的添加和删除。 3. 文件操作支持将学生信息数据保存到文件,以及从文件中读取数据。 ### 功能详解 登录验证用户需输入正确的学号和密码才能进入系统。 主界面展示显示系统主菜单,包括学生信息查找、删除、添加、修改和录入等功能。 学生信息查找根据学号查找学生信息。 学生信息删除根据学号删除学生信息。 学生信息添加可以添加新的学生信息到系统中。 学生信息修改可以修改已存在的学生信息。 学生信息录入展示所有存储的学生信息。 辅助功能

  • (源码)基于VS Code的px到rpx转换工具.zip

    # 基于VS Code的px到rpx转换工具 ## 项目简介 本项目是一款VS Code插件,旨在将前端代码里的单位px转换为rpx。当设计师在设计稿中使用px单位时,开发者能够借助该工具快速把代码中的px转换为小程序适用的rpx单位。它借助语法分析技术实现精准转换,避免误改其他属性里的px。 ## 项目的主要特性和功能 1. 自动转换功能能通过简单命令自动识别并转换style标签内所有声明中的px为rpx。 2. 精准转换利用语法分析,仅对真正的单位值进行转换,防止错误修改其他内容中的px字符。 3. 部分转换支持可选择部分样式代码进行转换,操作灵活便捷。 ## 安装使用步骤 假设用户已下载本项目源码文件且安装了VS Code环境。 1. 安装插件打开VS Code,进入侧边栏的扩展视图,搜索并安装“px2rpx”插件。 2. 重启VS Code安装完成后重启VS Code使插件生效。

  • test文件资包 传递使用

    test文件资包。传递使用

  • LCCC2701 智能车灯控制系统设计 20250329

    主控:AT89C52 显示:LCD1602 光照检测:光敏电阻 距离检测:超声波测距 远光灯 近光灯 按键(设置阈值) 1、使用光敏电阻实时检测环境光线强度,设置阈值判断是否开启远光灯; 2、利用超声波传感器测量迎面车辆距离,设置安全距离阈值,自动切换到近光灯; 3、加入延时功能(例如在检测到迎面车辆后等待3秒再切换灯光),以减少频繁切换,提升平滑性。 4、所选传感器模块、执行器模块、电源与接口电路等模块的型号需要是便宜的。

  • ESP32之阿里云OTA固件升级(源码)

    esp-idf-v5.3.2

  • 信息安全领域实战项目【信息安全领域】实战项目汇总:涵盖网络渗透测试、Web应用安全加固、企业安全策略制定等内容多个信息安全领域的实战

    内容概要:本文介绍了多个信息安全领域的实战项目,涵盖网络渗透测试、Web应用安全加固、企业安全策略制定与实施、恶意软件分析、数据泄露应急响应、物联网设备安全检测、区块链安全审计和云安全防护。每个项目都详细描述了其目标和具体实施步骤,包括信息收集、漏洞扫描、利用和修复、安全配置、风险评估、制度建设、培训教育、样本获取与分析、事件响应、遏制措施、调查取证、数据恢复、安全检测、架构分析、智能合约审计、共识机制审查、云环境评估、访问管理、网络安全防护等方面。 适合人群:信息安全从业者、IT管理人员、安全顾问、系统管理员、开发人员以及对信息安全感兴趣的人员。 使用场景及目标:①为信息安全从业人员提供实际操作指导,帮助其掌握不同场景下的安全防护技能;②为企业提供全面的信息安全保障方案,确保其信息系统和数据的安全性;③为开发人员提供安全编码和系统设计的最佳实践指南,提高应用程序的安全性;④为安全研究人员提供深入分析恶意软件和区块链系统的工具和方法。 阅读建议:读者可以根据自身需求选择感兴趣的部分进行深入学习,建议结合实际案例进行实践操作,同时关注最新的安全技术和法规要求,以确保所学知识与时俱进并能应用于实际工作中。

  • (源码)基于C语言和STM32F0系列微控制器的宏键盘系统.zip

    # 基于C语言和STM32F0系列微控制器的宏键盘系统 ## 项目简介 本项目是基于C语言和STM32F0系列微控制器开发的宏键盘系统。该系统可让用户自定义宏按键,实现快速输入或自动化任务,涵盖硬件的GPIO输入输出控制、USB通信以及中断处理等功能。 ## 项目的主要特性和功能 宏定义用户能通过定义keymappings.h文件中的宏按键,自定义按键行为。 USB通信利用STM32F0系列微控制器的USB库,支持HID类通信。 GPIO控制实现对键盘按键读取和发送操作的控制。 中断处理可处理按键状态变化、USB通信等外部中断请求。 电源管理对微控制器的睡眠、停止和待机等电源模式进行管理。 ## 安装使用步骤 ### 硬件准备 确保STM32F0系列微控制器(如STM32F042K6)的GPIO引脚、USB接口等硬件连接正确。 保证所有必要外设(如LED、按键)正确连接且可用。 ### 软件准备 下载并解压项目源代码。

  • COMSOL多物理场仿真中熔池枝晶模型的构建与应用

    内容概要:本文详细介绍了如何利用COMSOL Multiphysics软件构建熔池枝晶模型,用于模拟金属在凝固过程中枝晶的生长行为。主要内容涵盖三个关键模块:传热、流体流动和相场。通过定义相应的偏微分方程(如传热方程、Navier-Stokes方程和相场方程),设置适当的边界条件和初始条件,并进行多物理场耦合求解,最终实现了对熔池温度分布、速度场及枝晶生长过程的精确模拟。此外,还探讨了如何优化求解器配置、处理移动边界条件、引入各向异性效应以及提高计算效率的方法。 适合人群:从事材料科学、冶金工程、增材制造等领域研究的专业人士和技术人员。 使用场景及目标:适用于需要深入了解金属凝固过程中微观结构演变机制的研究项目,特别是在激光熔覆、焊接等工艺中,帮助研究人员预测和优化材料性能。 其他说明:文中不仅提供了详细的建模步骤指导,还包括一些实用技巧,如参数选择、网格划分策略、热源耦合方式等,有助于解决实际建模过程中可能遇到的问题。

  • 基于COMSOL的地下二氧化碳封存多物理场耦合仿真研究

    内容概要:本文详细介绍了利用COMSOL Multiphysics进行地下二氧化碳封存仿真的方法和技术要点。主要内容涵盖两相流模块设置、温度场耦合、地层分层建模以及力学模块处理等方面。文中不仅提供了具体的数学模型和代码片段,如相对渗透率函数、热膨胀系数函数等,还分享了许多实际操作中的经验和教训,强调了不同物理场之间的相互作用及其对模拟结果的影响。 适合人群:从事地质工程、环境科学、石油工程等领域研究的专业人士,尤其是那些需要进行地下流体运移和储层特性研究的科研工作者。 使用场景及目标:适用于希望深入了解地下二氧化碳封存机制的研究人员,帮助他们掌握如何使用COMSOL软件构建复杂的多物理场耦合模型,从而更好地预测和评估二氧化碳封存的安全性和有效性。 其他说明:文章中提到的技术细节对于确保模拟精度至关重要,例如正确处理单位转换、选择合适的渗透率模型、考虑温度变化对岩石性质的影响等。此外,作者还提醒读者应注意避免一些常见的错误配置,以免导致不可靠的结果。

Global site tag (gtag.js) - Google Analytics