10 月 23 - 25 日,QCon 上海站即将召开,9折优惠最后2天 了解详情
写点什么

对峙数年后,微软对 Java 的态度 180°大反转

  • 2022-09-06
    北京
  • 本文字数:2197 字

    阅读完需:约 7 分钟

对峙数年后,微软对 Java 的态度180°大反转

 近期,微软为 Java 开发人员建立了一个新的资源网站,旨在帮助 Java 开发者能够高效地编写、部署和扩展他们的应用程序。这是微软对 Java 开发人员体验和生态系统持续投资的扩展。

 

“我们使用的 Java 超出了人们的想象”微软宣称。在近期更新的 VSCode 中,微软为 Java 开发人员添加了更多 Spring 功能。此外,对于 OpenJDK、Office 365、Azure、Github、SQL Server 等产品,微软都已经支持 Java。

对 Java 态度大逆转

 

Java 是 Sun 在 1995 年发明的语言,因其强大的功能和简易性被各大厂商所应用,短短几年内便建立了庞大的生态系统。为了反击,微软则发明了新语言 C#,并制定了.NET 战略。

 

西部州长大学曾对 Java 和 C# 进行对比时写道

 

Java 和 C# 都是深受 C++ 影响的面向对象的编程语言。尽管 C# 因更新而具有更多特性,但它们的语法和功能还是有很多相似之处。虽然这两种语言都依赖于第三方框架和可重用组件,但公平地说,Java 比 C# 拥有更多的框架而且可移植性稍强。

 

这些语言已经存在了很长时间,重要的是要知道一种语言构建的任何应用程序通常也可以使用另一种语言构建。但在 .NET 框架中构建应用程序时,通常选择的语言是 C#。因此,对于应用程序开发人员来说,语言的选择取决于需求和应用程序的平台。

 

此外,Java 对 .NET 的影响是复杂的。

 

ASP.NET 与 Scott Guthrie 的共同发明者 Mark Anders 在 2007 年揭示了 ASP.NET 的早期原型是用 Java 编写的。

 

Hejlsberg 也是 .NET 的主要创建者,他曾承认“Java 是 .NET 的灵感来源”。加入 Microsoft 后,他构建了 Visual J++ 6.0 和 Windows Foundation Classes (WFC)。Hejlsberg 为 .NET 设计了 ​​C# 语言,并借鉴了他在 Borland 使用 Object Pascal 的经验,将 WFC 改编为 Windows 窗体类库。

 

Visual Studio .NET 于 2002 年 2 月 13 日发布,这标志着微软的 Java 替代品已准备好投入使用。但十多年过去,微软对 Java 的态度已经发生 180 度大逆转。

 

微软开发部总裁 Julia Liuson 在发表的“微软致力于 Java 开发人员的成功”文章中称,微软致力于让 Java 开发人员尽可能高效和高效,这意味着会让开发者能够在任何操作系统上使用任何工具、框架和应用程序服务器。

 

“我们正在使用 Java 来运行微软的重要部分产品。”Liuson 表示,微软的网络搜索引擎必应(Bing)使用 Java 来执行与索引相关的功能。此外,Azure 的基础设施控制平面以及 LinkedIn、Minecraft 和 Yammer 等部门都广泛使用 Java。微软内部系统和业务部署了超 200 万个 JVM。

 

今年 7 月,微软宣布加入 Eclipse 基金会 Jakarta EE 和 MicroProfile 工作组,成为 Eclipse 基金会的企业成员。Jakarta EE 专注于企业 Java 的整体发展,而 MicroProfile 则专注于为微服务架构优化企业 Java。

 

更多可查看:

https://cdn.graph.office.net/prod/media/java/code-deploy-scale-java-your-way.pdf?v={1/string}

Azure 是支持主力

 

尽管 Java 在许多方面与自己的旗舰编程语言 C# 相似,但微软大量使用 Java 并用于提供了重要收入的 Azure。微软还在 2019 年收购了 AdoptOpen JDK 项目的主要贡献者 jClarity 公司,借以提高 Azure 云服务处理 Java 工作负载的性能。

 

具体来说,开发人员可以在 Azure 上可以使用自己喜欢的工具和框架进行开发,可以使用完全托管的服务、快速添加服务和功能,并利用微软生态获得一流的解决方案。

 

Azure 的多项基础设施是与 Java 生态系统中的主要供应商合作建立,如与 Pivotal / VMWare 联合开发的 Azure Spring Apps,其他像 Azure App Service 上的 Red Hat JBoss EAP、WebSphere Application Server、WebSphere Liberty 和 Azure 上的 Open Liberty、Azure VM 上的 Oracle WebLogic Server 和 Azure Kubernetes Service 和 Apache Kafka for Confluent Cloud 等。 Azure 还可以与 Maven、Gradle、Eclipse Toolkit 等⼯具⽆缝协作。

 

Liuson 提到,过去的几年中,微软成千上万的客户已经在 Azure 上迁移到 Java,包括 Adobe、AIA、Bosch、Daimler、FedEx、J.B. Hunt、Kroger、Maersk、Mercedes Benz 和 Swiss Re。

 


“2009 年,我们踏上了在 Azure 上启⽤ Java 的旅程,Java 从此成为微软不可阻挡的力量。今天,全球数千个任务关键型企业 Java ⼯作负载都在 Azure 上进行,这些让我们更好地学习,帮助开发⼈员和客户取得更多成就。”Azure Java ⾸席架构师 Asir Selvasingh 说道。

 

事实上,业内很多人不认为 Java 是云原生的。除了微软外,VMware 也在努力通过 Spring Framework 6 和 Spring Boot 3 来提高 Java 的云原生性。

结束语

 

对于微软的改变,外媒推测,微软首先要在 Java 的市场上站稳脚跟,其次其内部的基础设施,特别是微软的 Azure 生态系统大量使用 Java,因此微软需要有自己统一、通用的构建应用。

 

根据国外网站 DevJobsScanner 提供的数据,整个市场上编程语言需求量的前三名分别是 Javascript / Typescript、Python 和 Java。尽管随着 Kotlin 等现代语言的出现,Java 流行度持续下降,但其地位仍然维稳。许多互联网巨头使用的 Spring 等框架也有助于 Java 保持这一地位。

 

当然,将 Azure 推向 Java 开发人员也有营销考量。微软试图吸引 Java 开发人员,甚至通过提供免费课程的方式帮助他们迁移应用程序。

 

参考资料:

https://www.i-programmer.info/news/80-java/15701-microsoft-goes-all-out-on-java.html

https://visualstudiomagazine.com/articles/2022/08/30/new-java-resource.aspx

2022-09-06 18:2710853

评论

发布
暂无评论
发现更多内容

react源码中的生命周期和事件系统

flyzz177

React

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

开源依赖项管理指南

SEAL安全

12 月 PK 榜 依赖管理 传递依赖 开源依赖项

星环科技TDS 2.4.0 发布: 数据开发、数据治理、数据运营套件能力再次升级

星环科技

Java开发如何通过IoT边缘ModuleSDK进行协议转换

华为云开发者联盟

Java 开发 华为云 12 月 PK 榜

云智慧蝉联中国IT统一运维ITSM软件市场第一!

云智慧AIOps社区

ITSM IT运维 运维管理

为什么 OpenCV 计算的视频 FPS 是错的

百度Geek说

OpenCV ffmpeg 12 月 PK 榜 帧率

四步骤打造银行智能标签体系,助力银行精准营销

袋鼠云数栈

智能标签 数据画像

跳板攻击中如何追踪定位攻击者主机(上)

郑州埃文科技

数据安全 网络攻击 跳板攻击

GaussDB(DWS)运维 :遇到truncate执行慢,怎么办

华为云开发者联盟

数据库 后端 华为云 12 月 PK 榜

【其他】快出数量级的性能是怎样炼成的

No8g攻城狮

MySQL sql 数据库·

Mybatis源码解析之执行SQL语句

京东科技开发者

缓存 mybatis sql 源码学习 数据库·

react源码分析:babel如何解析jsx

flyzz177

React

前端工程师leetcode算法面试必备-简单的二叉树

js2030code

JavaScript LeetCode

云原生时代数据库运维体系演进

vivo互联网技术

数据库 运维 故障自愈

MatrixOne 0.6.0 :首个云原生架构的HTAP数据库发布!

MatrixOrigin

分布式数据库 云原生数据库 国产数据库 MatrixOrigin MatrixOne

真希望你也明白runtime.Map和sync.Map

面向加薪学习

面试 并发 源码阅读 go语言 Map集合

BEVFormer-accelerate:基于EasyCV加速BEVFormer

阿里云大数据AI技术

深度学习 算法 计算机视觉 12 月 PK 榜

react源码分析:实现react时间分片

flyzz177

React

ArgoDB 5.1 正式发布:多模融合、实时分析和数据安全多重升级

星环科技

想做长期的 AB 实验?快来看看这些坑你踩了没

京东科技开发者

测试 测试原则 复盘归因 A/B 测试

10个Python脚本来自动化你的日常任务

@下一站

Python 脚本 12月日更 12月月更

FL Studio2024永久免费版音乐程序

茶色酒

FL Studio FL Studio2023 FL Studio21

从React源码来学hooks是不是更香呢

flyzz177

React

教你用JavaScript实现点击支付框

小院里的霍大侠

JavaScript 小白 编程开发 实战案例 初学者

你可能需要的6个React开发小技巧

千锋IT教育

使用Spring Data Redis 发布订阅消息

码语者

redis Spring Boot message

JavaScript刷LeetCode心得

js2030code

JavaScript LeetCode

超1800万累计观看,多次占据热榜前列……“无障碍字幕直播间”带来的远不止这些!

猿始人

聚焦技术创新!旺链科技荣获“宝山区企业技术中心”认定

旺链科技

区块链 产业区块链 技术创新 12 月 PK 榜

从React源码角度看useCallback,useMemo,useContext

flyzz177

React

对峙数年后,微软对 Java 的态度180°大反转_文化 & 方法_褚杏娟_InfoQ精选文章