写点什么

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

评论

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

Kotlin语法手册(一)

寻找生命中的美好

android kotin

DevOps进阶(二):DevOps 发展史

No Silver Bullet

DevOps 2月月更

Linux系统编程-(pthread)线程通信(信号量)

DS小龙哥

信号量 2月月更

模块八作业

Geek_e6f7f6

架构实战营

Web Components 系列—— 详解 Slots

CRMEB

验收测试驱动开发后记

Bruce Talk

敏捷 Agile User Story

自省与反思(一)

懒时小窝

反思 反思总结

DC系列靶机知识点总结

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

浅析PHP伪协议在CTF的应用

喀拉峻

网络安全

Linux系统编程-Shell脚本基本使用(变量、运算符、语句等)

DS小龙哥

shell脚本编写 2月月更

项目遇到突发问题,如何给上级做汇报?

石云升

项目管理 项目经理 2月月更

iOS开发备战金三银四·突击大厂的算法与底层原理复习方向

iOSer

ios iOS面试 iOS底层 金三银四跳槽 算法面试

Apache APISIX 存在改写 X-REAL-IP header 的风险公告(CVE-2022-24112)

API7.ai 技术团队

IP 漏洞 Apache APISIX APISIX 网关

Linux系统编程-(pthread)线程通信(自旋锁)

DS小龙哥

自旋锁 2月月更

第十节:SpringBoot中的日志管理

入门小站

spring-boot

在线ASCII Banner艺术字生成工具

入门小站

工具

电商直播选品该怎么做?有没有好用的工具?

优秀

带货 直播 低代码开发

区块链+体育发展提速 区块链球员数据系统预计上半年投入使用

CECBC

区块链通证经济:通往未来十年财富分配的新格局

CECBC

玉米可流转数字仓单标准的落地 将加速行业的资产数字化进程

CECBC

如何快速开发 Serverless Devs Package ?

Serverless Devs

Serverless

架构实战营模块二作业-微信朋友圈复杂度分析

炎彬

「架构实战营」

[架构实战营] 模块九作业

Geek_0ed632

「架构实战营」

关于 docker-compose stop 和 docker-compose start 的误解

liuzhen007

容器 云服务 2月月更

iOS开发·备战2022金三银四-runtime原理与实践: 消息转发详解篇

iOSer

ios runtime iOS面试 ios开发 金三银四跳槽

springboot druid 数据库连接池连接失败后一直重连

Jeremy Lai

RTE2021 回顾丨实践中的摸爬滚打,AI OPS 落地之路

声网

人工智能 算法 Ops

欧拉的奇异之旅·风暴来临与欧拉初诞

脑极体

跨平台移动APP开发进阶(一):mui开发注意事项

No Silver Bullet

App 跨平台 2月月更 mui

跨平台应用开发进阶(三): uni-app 实现资源在线升级/热更新

No Silver Bullet

uni-app 更新 版本升级 2月月更

蜜罐中利用jsonp跨域漏洞和xss漏洞的分析

H

网络安全 安全漏洞

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