卡卷网
当前位置:卡卷网 / 每日看点 / 正文

目前微软的C#是即将被JA消灭还是在消灭JA的路上?

作者:卡卷网发布时间:2025-01-10 19:29浏览数量:66次评论数量:0次

语言层面上除了几个原教旨和鸵鸟之外没有什么疑问,Ja是一门早就死的不能再透的语言。从它诞生的时候就走错了路、这个问题的根本就是抛弃与非JVM的互作性。在互作性上,Ja和PHP、Python是一个档次的玩意儿,也就是说没有人给你做适配,你基本就别想用了,什么Unsafe那一票玩意儿本质上就不能算是互作性,本质上和跨进程调用没啥太大的区别。

这一点其实大多数人无法理解,我也不指望,说白了就一句,值类型就是为了互作性发明的,否则确实完全可以通过编译器和JIT的分析推测哪些对象不需要分配在堆上。最简单的根本就不从当前函数逃逸的对象天然就是值类型,但是这种优化说白了谁都能做。并不是Ja的优势。

Ja正的优势有二,

其一是JVM和Linux的开源生态。说白了就是JVM作为Linux下最强的虚拟机平台以及围绕JVM构建的生态,包括语言、库、互联网中间件、Apache基金会、课的等等等等从业人员组成的这么一个生态。这个生态并非一建成,所以也会继续维系下去。但是与dotnet生态C#一家大不同,Ja其实在这几年在生态里面逐渐边缘化。这也是它们的布道师言必JVM的缘故。从另一方面也说明这个语言其实早就死了……

其二则是巨量的标准化的程序员群体。通过数十年的标准化实践和课以及生态链发展。Ja早就已经积累了数以百万计的程序员群体,这一群体在互联网时代迅速膨胀,成为新的百万漕工问题。PHP为什么直到今天还占有很大的市场?本质原因就是历史上积累的程序员基数大,便宜量多。软件公司最大的成本就是人力成本。其中最难解决的还不是在岗人员的产出,而是缺岗导致的潜在损失。这也是为什么软件人员外包的综合成本远高于招一个正式员工(即便算上离职赔偿)但还是很多公司选择外包的原因,因为可以快速填补缺岗的问题。

问题的最后,又与大多数人认知相悖的是,微软从来没有与Ja对抗也没有敌视Ja。Windows上的JVM本来就是微软做的,只是后来Sun把微软告了。微软才自己搞C#,而C#一出来就差点把Ja给弄没了,直到今Ja在Windows上也就那么几个玩意儿。

微软从始至终敌视的是Linux,Linux才是对微软威胁最大的。也正是因为微软和Linux的对抗才给了Ja在Linux发展壮大的机会。既然在Windows上无论如何也不可能和背Windows企业级服务的.NETFramework以及背Win32的WinForm还有背I的://ASP.NET竞争,那不如去空间巨大的Linux生态。这才让Ja走出了一条自己的路。

其实稍微想想就知道了,微软的是作和软件,C#能给微软带来什么收益。微软要的是通过.NETFramework绑架开发人员和产出的软件在Windows平台。而且也确实如此、在Windows平台.NETFramework基本是无敌的存在。这就是软件被绑定平台,平台通过软件绑定体验进而绑定用户,从而绑架生态。如果看不懂看看苹果就知道了。

其实在我看来Ja最大的危机可能与绝大多数人完全不一样。

最大的危机是微软尝试用<>纯C#做作的UI,甚至<>不是作本身都<>失败了。这个就是<>WPF。WPF原本是打算用纯粹的.NETFramework来做的,否则WinForm已经够用了。当年的.NET战略导致Vista难产,WPF、WCF、WWF三件套和.NETFramework3.0。最终以Vista难产和失败以及最终连WPF都没有办法用纯C#来实现宣告彻底失败。

这一事件其实就宣告了类似于CLR和JVM这种平台的局限性,就是他们<>不可能替代所有的软件,从此之后CLR就<>毫不迟疑的在与native互作性上面改进,这就有了后面的C++/CLI以及C++/CX各种尝试。

但这也同时是给了Ja一声闷棍,要知道Ja一开始的设计就基本上把和native互作性的路子给堵死了。时至今,说白了除了JDK的商业公司,利用Ja构建开发者生态的作。还有谁去写Ja和native的适配呢?市面上Ja的文档书籍浩如烟海,Ja程序员百万漕工,不都在等着别人给适配好了拿来用吗?

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码