AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

评论

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

android开源!字节跳动Android岗经典面试真题,含泪整理面经

欢喜学安卓

android 程序员 面试 移动开发

LeetCode题解:120. 三角形最小路径和,动态规划(从上到下),JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

中核携手北京天源迪科完成电子商城二期项目,开创集团数字化采购新局面

DT极客

区块链与数字货币的发展到底有什么意义

CECBC

金融

341 万考生,除了图书馆他们去了这样一个地方

IoT云工坊

小程序 人工智能 物联网 云平台 24小时无人自习室

Docker安装

Sakura

Docker

DBS

陈皓07

单例设计模式

桃子

数字化转型提速,DataPipeline助力中石油产业大数据实时共享能力再提升

DataPipeline数见科技

数据融合

常见加密方式及Python实现

行者AI

加密

多种多样的语音连麦方式

anyRTC开发者

flutter uni-app ios android WebRTC

MyCat集成MySQL完成数据库集群建设

831143

Java MySQL mycat

技术干货 | mPaaS 小程序高玩带你起飞:客户端预置小程序无视网络质量

蚂蚁集团移动开发平台 mPaaS

小程序 网络环境 mPaaS

买基金赔掉一条裤衩之后,我又回来更文了

Java_若依框架教程

投资 理财 基金 茅台

区块链能否一劳永逸地结束痛苦的选票争端?

CECBC

区块链

【得物技术】Web Components 初探

得物技术

Web API 得物技术 Web Component 组件

Aspose word 转换为pdf 排版错位和数据丢失

blues199

Java Apache POI

聊聊前端日志库在SaaS产品中的应用与设计

元三

大前端 SaaS

Kafka 中所谓的 ‘零拷贝’ 技术到底是什么?

李尚智

Java kafka 程序员 架构 微服务

我看JAVA 之 AbstractStringBuilder & StringBuffer & StringBuilder

awen

Java 源码 jdk string

写给管理者的睡前故事

每天读本书

读书笔记 每天读本书

架构设计篇之微服务实战笔记(七)

小诚信驿站

架构师 刘晓成 小诚信驿站 28天写作 架构师成长笔记

android开发视频教程!移动开发者升职加薪的8项技能,成功定级腾讯T3-2

欢喜学安卓

android 程序员 面试 移动开发

用 Selenium 搞定自动化测试项目,途牛搜机票。

梦想橡皮擦

28天写作 2月春节不断更

如何通过事务消息保障抢购业务的分布式一致性?

阿里巴巴中间件

阿里云 云原生 电商 消息队列 分布式柔性事务‘’

正月十五吃汤圆CountDownLatch

叫练

AQS join 共享锁 CountDownLatch 多线程高并发

区块链打造“红娘链”,婚姻上链让爱更“牢固”

CECBC

婚姻

MySQL COUNT(列名) 、COUNT(常量) 和 COUNT(*) 之间的区别

桃子

android开发视频!Android程序员最大的悲哀是什么?面试真题解析

欢喜学安卓

android 程序员 面试 移动开发

我决定输出一篇文章用于记录一个足足花了四小时才找到的BUG

LSJ

Java spring aop ProxyFactory proxyTargetClass

荟聚·沉淀——百度大脑AI开放平台的2020年

百度大脑

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