AI 时代下组织如何快速变革?如何提升全员 AI 技能?戳> 了解详情
写点什么

对峙数年后,微软对 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:2710425

评论

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

Scrum Patterns:Sprint回顾(译)

Bruce Talk

敏捷 译文 Agile Scrum Patterns

工业级高精度电磁流量计解决方案

不脱发的程序猿

ADI 工业高精度传感器 流量传感器 优秀论文期刊

容器 & 服务:Helm Charts(二)安装与使用

程序员架构进阶

Kubernetes 容器 Helm Helm Charts 10月月更

如何画好架构图

十二万伏特皮卡丘

SpringMVC源码分析-HandlerAdapter(6)-ModelFactory组件分析

Brave

源码 springmvc 10月月更

在线随机抛硬币工具

入门小站

工具

006云原生之Service Mesh(Spring Cloud)

穿过生命散发芬芳

云原生 10月月更

第 11 章 -《Linux 一学就会》- 重定向和文件的查找

学神来啦

Linux linux运维 linux学习 linux云计算

「绝密档案」“爆料”完整秒杀架构的设计到技术关键点的“八卦资料”

洛神灬殇

秒杀系统 秒杀架构 秒杀架构设计 web技术分析 10月月更

网络流量分析场景浅谈

穿过生命散发芬芳

后端 引航计划 网络流量分析

第 10 章 -《Linux 一学就会》- centos8系统进程管理

学神来啦

Linux 运维 linux学习 linux云计算

深入理解Git submodules

俞凡

git 架构 10月月更

架构实战营 - 模块 9 - 设计电商秒杀系统

雪中亮

架构实战营 #架构实战营

最短路径算法

Dobbykim

算法 图论

网络架构知识总结

十二万伏特皮卡丘

关心你的团队,这才是最有效的管理技巧

俞凡

管理 10月月更

如何激励员工?

石云升

项目管理 管理 引航计划 内容合集 10月月更

linux之autojump命令

入门小站

Linux

Webrtc video framerate/resolution自适应

webrtc developer

WebRTC

团队管理之如何成为合格的TeamLeader

小诚信驿站

团队管理 管理 引航计划 内容合集

架构实战营模块九作业

老猎人

架构实战营

【LeetCode】最长回文子串Java题解

Albert

算法 LeetCode 10月月更

Go dlv <autogenerate> 代码定位

非晓为骁

源码分析 Go 语言 dlv rt0_go autogenerate

阿里开源的这个库,让 Excel 导出不再复杂(简简单单的写)

看山

Java EasyExcel 10月月更

【Flutter 专题】39 图解 iOS 打包 IPA 文件

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

MySQL性能分析和索引优化

程序员阿杜

MySQL

【LeetCode】密钥格式化Java题解

Albert

算法 LeetCode 10月月更

3. 有点难~ Python函数式编程中 itertools 模块

梦想橡皮擦

10月月更

计算架构模式之接口篇

十二万伏特皮卡丘

005云原生之Service Mesh(Istio+Envoy)

穿过生命散发芬芳

云原生 10月月更

一分钟搞懂SOLID原则

俞凡

架构 10月月更

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