写点什么

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

评论

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

读任正非“星光不问赶路人”有感

JiangX

华为 战略 28天写作 任正非

动听百年:音乐播放器发展沉浮史

艾小仙

互联网

理解领域驱动设计

编程 领域驱动设计

设计模式【2.1】-- 简单工厂模式怎么演变成工厂方法模式?

秦怀杂货店

设计模式 工厂模式 23种设计模式

产品经理训练营笔记-产品思维和产品意识(上)

.nil?

产品经理训练营

交易所软件系统开发|交易所APP开发

系统开发

牛掰!阿里人用7部分讲明白百亿级高并发系统(全彩版小册开源)

996小迁

Java 架构 面试 并发’

第九周命题作业

cc

备战金三银四,Java程序员看完这十本Java进阶必备书籍,薪资能涨20K

Java架构之路

Java 程序员 架构 面试 编程语言

学设计模式前先了解下设计模式分类

爱笑的小雨

设计模式

提问也是一门学问

xcbeyond

程序人生 方法论 技巧 28天写作

Mybatis【14】-- Mybatis如何实现一对多查询?

秦怀杂货店

数据库 mybatis

[JetPack] androidx.lifecycle库中ViewModel的新旧版本API差异

Changing Lin

android JetPack

区块链技术解决监管痛点 首批6家券商加入“中证链”节点

CECBC

区块链

阿里,字节,腾讯,面试题都涵盖了,这一份Java面试文档也太强了

数据库 程序员 面试

金融 真的需要区块链技术提升效率吗?

CECBC

金融

我是如何学习编程的?

熊斌

学习方法 个人成长 编程之路 28天写作

迁移到 Go Modules

Rayjun

Module Go 语言

数字资产钱包系统软件开发|数字资产钱包APP开发

系统开发

悟透前端 | 参悟Javascript中的call和apply

devpoint

JavaScript 大前端 call apply

一篇让你彻底了解http请求报文和响应报文的结构

Java架构师迁哥

开放式API安全防护的七大原则

架构精进之路

API 七日更 28天写作

使用 Docker 部署 RabbitMQ 没有日志?添加这两条配置,轻松搞定

AlwaysBeta

Docker RabbitMQ 消息队列 消息中间件

小喜量化炒币机器人系统开发|小喜量化炒币机器人APP软件开发

系统开发

Java开发不会Redis?Java开发掌握好Redis在面试中是个大加分项。

Java架构之路

Java 程序员 架构 面试 编程语言

宝马等支持为车辆创建“出生证明” 利用区块链技术跟踪车辆历史

CECBC

宝马

区块链数字货币交易所系统开发|区块链数字货币交易所软件APP开发

系统开发

一个系统小BUG修复投产居然花了3个小时来处理(下)

罗小龙

28天写作 投产事故 解决思路

GoF23 中的对象关系模式!

鲁米

方法论 设计模式 构建模型

第九周 性能优化(三) 作业 「架构师训练营 3 期」

胡云飞

第九周学习心得

cc

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