Dotnet9

联系请关注微信公众号:Dotnet9

文章

大胆推测:未来的王者,或属于C#

邪恶的二进制 - 2022-04-16 22:33:45 | .NET相关 | 科技生活

这个世界,自古是用户驱动资本,资本驱动变革,变革造就生态。

遥想当年,DOS程序员疯狂的鄙视拖鼠标操作计算机的行为,仿佛可视化操作, 那就是在离间了程序猿与机器之间关系,所有的程序员都在以了解多少中断指令为荣,觉得这就是未来的密码,但是后来都知道,可视化的Window系统风靡世界,老百姓没人愿意麻烦,选择了它,然后程序猿不得不改行,学习Window下的编程,改为背诵Window下消息类型。

是原来的DOS技术栈不好吗? 我觉得TC2.0也很好用,但是没有用,一个技术栈、或者叫生态,必须有承载的抓手才行,很遗憾,可视化的操作系统革了第一代DOS技术栈的命,或者说底层技术和用户选择革了第一代DOS技术栈的命, 以此为代表的Tourb系列,很优秀的情况下,不知不觉就没人用了,这一点,很像科达。

Window操作系统的横空出世,引来了PC时代, 单机游戏,家庭影音,工程计算等等, PC时代的需求,造就了PC时代的单机程序的形态,以此VB、VC、VF、Delphi大显身手,拼单机性能优化,开发简洁度,以一个程序论英雄,关键是,用户关心和喜欢这些,那个时代,如果魔兽争霸启动要个1分钟,那肯定就没有后面魔兽世界什么事情了。那些技术,就是那时候的生态,现在不用了,不是这些技术过时了,而是承载这些应用层的用户模式过时了,换句话说,过时的是PC的时代,而不是这些技术,其实有一些底层技术,当年的研究成果目前依旧为大佬所用,只是普通应用层开发人员不用而已。

Html诞生于1990年,Java诞生于1994年,为什么这些语言在开始的10年间不温不火,用得人也少,那是因为它们是为下一代而生,虽然具有前瞻性,但是决定他们地位的底层时代还没有来。当时很多用的人,也是抱着尝鲜的态度去用,用完就一顿惬意吐槽,与C/C++相比性能太差,啥也不是云云, 现在看,群众的眼睛,也未必是雪亮的。

时间一晃到了2007,智能手机横空出世...

老百姓告别了大哥大,突然发现这个东西可以,我喜欢,比电脑高级、方便,还显档次,于是不懂技术的老百姓们再一次决定的IT技术的新时代,即互联网时代的到来!

互联网时代的两大特征:

一、前端设备多样化、版本碎片化 ;

二、交互业务复杂化、服务端业务承载巨量化;

这两个特征引发的新诉求,直接把曾经在PC上横得一撇的技术栈(VB、VC、Delphi们)打懵了。

面对客户端: 那些一个个貌似能精确到指令级调优的静态编译程序,一下子要编译好几个版本,甚至好十几个版本才行,而且部署还经常因为系统环境缺斤少两而报错,然后用户一顿骂,什么破玩儿。

面对服务端:之前在互联、通讯,承载巨量数据处理、集群化关联上,由于不是重点,并没有相应的研究。

然后大家就懂了,你很优秀,但是我们不需要你了,那个时代的英雄们,该落幕了。

反观Java和Html,这两位小兄弟,由于一开始就跨平台的设计,而且本身就为通讯载体的设计,在互联网时代,诸多优点立马显现,于是,咸鱼翻身,青铜变成了王者,那时候还没有人把Java捧上天,更没有人对Html/JS盲目崇拜,但是大佬们都开始研究,研究它们怎么更好的落地为互联网时代,好用的解决方案,于是新的生态开始形成...

微软这次似乎有些后知后觉,虽然比尔盖茨最后也看到了未来,90年代末开始疯狂挖人,但是直到2002年,才出了.Net 1.0 第一个版本,关键是它面向这个时代的底层用途,Java已经实现。

竞品之间,如果大致相同,那就不是降维打击,不是降维打击,那就拼细节!

PK1: 面向PC,.Net 完胜 Java。 (但是无关紧要,因为PC时代要没了)

PK2: 跨平台, .Net 惨败 Java。 (大家都是.Net跨平台是罪过,其实不是,那时候Window平台在网络服务器上的表现太差才是罪过,收费 + 不稳定,谁用?)

PK3: 面向移动端,.Net 完败 Java (特指,2002-2016 这个时代)

PK4: 有以上三点,往下还重要吗......

于是,大的环境理所当然趋向于Java, 很多人开始学Java, 属于Java的王者时代终于来临。

于是在中国, 一个很神奇的逻辑开始生产,Java强,是因为学Java的人多,Java的生态好, Java可以搬抄的解决方案多.....

但是技术领域,话语权永远在底层技术上,单纯的应用层生态上,再怎么优化、丰富,也是量变,不是质变。

底层技术造就新的用户形态,引发底层革命,同时就会毫不留情的革了应用层技术的命,不管你愿意还是不愿意都是如此; 而不幸的是,Java 和 C# 以及后面的Python、GO都只是应用层语言,其实本身在面对时代的降维打击时,都没有话语权。

2008年,云概念开始产生,而后人工智能, 2020年疫情暴发,又引发了虚拟化的热潮, 目前,元宇宙的概念如火如荼,这说明,这个躁动的世界,又开始要变了。

未来,肯定是一个高度人工智能化的云世界!

为什么这么说呢?

第一、百姓们不喜欢聪明的机器吗? 答案肯定是热烈欢迎。

第二、百姓们不喜欢更加真实的虚幻体验吗? 答案肯定是非常喜欢,甚至沉迷不拔。

第三、靠目前的框架,每个公司自己实现人工智能应用现实吗 ? 答案肯定是不现实,未来只能调用智能云供应商的云接口。

第四、人工智能支撑起的未来物联网世界,你不向往吗? 答案是打死我都不信,我反正是很向往。

于是乎,你会发现,未来写程序,慢慢开始倾向于调用云接口实现功能, 然后慢慢甚至开始调用云界面、云功能、云系统...

你可能会问,大佬们为什么这么愿意发展云? 兄弟们,云可是按次数、按时长收费的,你的用户量一上来,这么盆满钵满,而且还有竞争门槛的事情,谁不愿意干,资本为何不愿意砸钱?

所以,我们现在看到了国内外大佬们在云领域、人工智能领域的疯狂厮杀,而且现在感觉好像没我们太多的事,那只是因为他们地位还不稳,基础还不牢,所以还不敢露獠牙太早。

回归主题,真正的未来世界来到时,我们需要什么样的语言?

答案肯定是与智能化云时代契合的语言, 然后回头再看,面对未来时代,Java、C#,Html5 现在所有的跨平台优势,还重要吗? 我想未必,因为这些优势会沦为曾经的C/C++ 静态编译的性能优势一样, 很棒,但是不重要。

2010年, 微软开始搞Azure 云平台, 2016年,微软开始搞.Net Core ,跨全平台, 然后貌似一下子愿意牺牲版权、放弃只对Window加持,然后好像突然变得开源、包容、免费了,而且还不遗余力优化性能,一个版本一个版本持续更新,目前都更新到.Net 6,然后立马又搞.Net 7, 为什么?

有人说那是微软为了抗衡Java, 占领开发市场。

这么说,对,也不对,表像上是对的,但是实际上,现在这种环境下,不计成本对抗Java,有什么好处, 赔本赚吆喝?

而且,有没有发现,在.Net Core 包括新的.Net 5, .Net 6 ...的版本中,微软对云开发支持的比重在快速增加,高调宣传, 在开发工具层面,微软甚至是要抱着赔本也要打造好的决心,甚至在移动客户端,.Net也开始几乎全平台支持,甚至包含IOS这种封闭的系统,微软都不放过, 而在服务端,.Net Core性能的持续优化,框架打造有目共睹,不断提升...

显然,近几年画风突变的.Net战略是有深层次原因的, 这是微软在为未来的云时代、元宇宙时代做铺垫,现在与Java PK 胜败与否,微软甚至都不是十分在意,关键是打好基础,立足未来

人工智能的云时代到来, 现在所谓的服务端,将沦为云时代的接口调用客户端, 现在基于网页的2D客户端,很有可能被基于虚拟现实的新的3D浏览器代替!

所以前后端又一次面临新的革命,在那个时代,众云云集,虚幻与现实交错, 现在的 Html5 和 Java 沉淀的厚厚的生态还重要吗? 只能再套用一次台词:对,很优秀,但是不重要

于是,C# 与 Java 又一次站在了同一起跑线,而这次,甚至C#还占了些先机,Html可能最惨,因为它所依赖的2D浏览器生态在3D化世界可能都会被边缘化,没有了土壤,Html可能被彻底革命掉。

而这一次比拼,细节发生了根本变化:

细节1: 跨平台 C# 平 Java

细节2: 简洁高效 C# 胜 Java

细节3: 云生态 C# 胜 Java (.Net Core 内置 对 云支持)

细节4: 3D层生态 C# 胜 Java (C#低迷时代,就是靠Unity 3D的开发,支撑起了一篇)

相比之下,优势如此明显, 未来,持续性的战略加持,国外大佬们重新实践,全新的元宇宙生态,便会悄然崛起,而当这一生态传导到咱们这边,有可能你会惊奇的发现,呃,这一次的王者,竟然是C#了。

当然,万事万物都在发展,每种技术也都会自我革新,还是那句话,至于最后谁是所谓的王者,其实还是得看谁承载的技术底层,更贴近用户,更引领未来!

语言好坏,与语言有关。

语言成败,与语言无关!

本文来自转载

原文作者:邪恶的二进制

原文标题:大胆推测:未来的王者,或属于C#

原文链接:https://zhuanlan.zhihu.com/p/499713602

文章评论