为什么知乎上最近流行捧C#黑JAVA?

范狂夫

谢(知乎人工智障算法于首页今日头条位置醒目应景)推荐。

这其中蕴涵着充沛的政治和意识形态内容并引领了激烈的政治和意识形态斗争新动向。

昨天晚上有这么一条消息:《针对京东CEO的初步调查已完成并转交检方 京东涨超1%

中概股京东涨幅从0.2%迅速扩大至1.1%。据彭博报道,美国明尼阿波利斯警方称,针对京东CEO的初步调查已经完成,现已转交给检方。

活跃在不同领域的帐号对京东系列新闻有不同解读,比方说娱乐至死の逗哔兼《三国演义》专精文艺爱好者通常关心刘强东的妻女由谁来养之,究竟是张康阳还是梁植

不过在信息技术领域,尤其是本问题涉及的这俩「听说过的名词」,京东通常被Java™阵营拉出来作为正面典型。据称京东早期使用微软技术栈,到了业务扩大之后发现「.Net」力不从心了,就大力裁撤超过34岁的C#码农,大力聚敛不超过34岁的Java™码农。

对于这个事实本身应该没有争议,如果活跃在包括但不限于知乎在内的宣传阵地之上的信息技术从业人员没有集体串供作伪证的话。

之前也提到过按照知乎内部人士在首页推荐中不打自招的爆料,知乎中央布尔什维克和孟什维克两个派系对于「Python旗到底能打多久」达成了共识,分歧仅仅在于今后究竟是高举Go-lang旗紧跟Google还是高举Java™旗紧跟Oracle而已。

那么为啥业务扩大之后高举Java™旗就能占据道义上的至高点呢?

这还得曰若稽古,当年Java™亲爹「日」企也是内外兼修软硬通吃的高手,旗舰产品「日」操作系统配合「日」服务器占据了相当部分市场份额,当然Java™会进行针对性优化。

曾经有比我还要老迈年高的码农抱怨,说移植「日」系应用到PC上相当费劲。说这帮娇生惯养的温室花朵有「日」式服务伺候着,吃香的喝辣的还不用吃苦受累,早就习惯了,以为从开国大典到世界末日都可以代代传下去。

具体表现就是一启动就先开两千个进程挂着,卡位要紧,先动员充沛的屁股把椅子坐满,占着茅坑不拉屎,用得着用不着另说,所以才受不了一穷二白的「Wintel」一分钱掰两半花的抠门待遇。

于是没什么「到祖国最需要的地方去」的觉悟,不肯深入基层与人民群众打成一片,顶多派个替身在注册表里「挂名」,本体呆在豪宅空调房里搂着肉便器「遥控」穷乡僻壤贱种屁民撸起袖子加油干,还对外宣传为「挂职锻炼」,每次考核「考了100分是因为卷面只有100分」,升迁按照年龄下限而不是上限。

对,各位没看错,一穷二白的是「Wintel」,那时候这位唤作「Personal Computer」,在兲朝境内本土化为「微」机,上面还有「小」「中」「大」「巨」四位阿哥,诞生之初据其亲爹IBM预测每年只能卖出三台,所以才不待见。

之所以有这种错觉,是因为当代与时俱进童年才俊习惯了用大拇指搓「手机」,才把「微机」当成傻大黑粗的反面典型到处嘲笑。至于手机上面出现的东西都是从哪儿送来的,不知道,应该是奴才们孝敬的吧。

扯远了,扯回来。

简单说,那时候Unix系列操作系统只有「进程」没有「线程」,而「Wintel」就不一样。比较之下,Windows的进程比Unix进程臃肿,但Windows的线程就比Unix进程苗条,Unix下的进程和Windows下的线程,是基本调度单位。

这还不够,为了实现「一分钱掰两半花」的目标,Windows还推出过「纤程」(Fiber)供苦大仇深一旦翻身得解放就不想再吃二茬苦受二茬罪的码农使用,只不过需要手工调度,自力更生艰苦奋斗自己动手丰衣足食。

作为住豪宅空调房有奴才伺候的「中央」服务器,强调识大体顾大局懂政治讲规矩守纪律,一个萝卜一个坑,打酱油的预算就不能挪用买醋。所以Java™才是人缘好情商高的典型,JVM的设计也是不大不小不多不少,刚好适合岗位需求,可以划水摸鱼磨洋工,但绝对没有自带干粮无私奉献这码事。

也就是说,居移气养移体,Unix系列的领导艺术,是武大郎开店,比JVM强的进程就不要,粗放式增长规模化经营,惦记着线性扩张,妄想性能与体重成正比,心宽体胖之后就可以叼着牙签打着饱嗝嘲笑饿殍:「有钱难买老来瘦嘛」。

因此,在那美帝灯塔国老一辈小资产阶级码农当中,流传着「Windoze」和「Eunuchs」这种替换用字,以回避「CIA」「КГБ」「MI5」「摩萨德」「中统」「军统」「特科」之类老大哥在盯着你。

后来嘛,到了互联网时代了,「中央」发现官僚主义弊端了,但绝对不肯承认是体制原因,就知道响鼓用重锤快马加鞭企图从石头里榨出油来,于是派出大批「Eunuchs」到处监军,就说单挑不逊色于JVMPerl吧,被逼无奈使用「FastCGI」这种伎俩,哎,管用。

但并不是所有进程都像Perl这样通权达变,凡是没掌握上有政策下有对策串供糊弄大野家之本事的,被「Eunuchs」逼死的不少,包括但不限于高仙芝、封常青、哥舒翰。只不过「中央已经钦定了」,朕即国家我就是大局你们要顾全大局,理解的要执行,不理解的也要执行,在执行中加强理解。

然后,眼瞅着土崩瓦解近在眼前,于是「作者编剧导演」就临时加戏,纠集一批「持不同学术观点者」,换个了「朕」另立中央开分基地唱双簧,假惺惺的借崔光远、边令诚人头安定军心,这才诈骗脑壳进水的傻哔炮灰们带着仅剩的一丁点对大野家的幻想继续耐着性子听其言观其行,维持反动腐朽统治苟延残喘。

又扯远了,再扯回来。

整个「.Net」设计之初,就没有「虚拟机」这种概念,只有「中间语言」供因地制宜编译为入乡随俗本土化代码。这位「设计」工作者,就是大名鼎鼎的安德斯・海尔斯伯格(Anders Hejlsberg),在Borland时期「设计」了Object Pascal,跳槽到微软之后「设计」了Visual J++.NetC#TypeScript

老迈年高码农都知道,当年在DOS环境下,「Borland (Turbo) Pascal」的编译速度最快,生成代码质量最高,如果不考虑「开发效率」的话。就是说这种「设计」是从底层「机器码」直接考虑到顶层「编程语言」的垂直通道。

后来的事情也证实了其「思路」一脉相承,比方说Visual J++就是比Java™好用,但仅限「Wintel」环境,「JScript.Net」同理。其短板当然也有,就是苦日子过惯了,所以运用了许多被童年才俊嘲笑为没有「大局观」的伎俩。

再往后就是业界常识了,形势比人强,随着「Intel x86/AMD x64」体系服务器逐步扩展市场份额,轮到「Eunuchs」迁就了。而JVM一直没变吖,为了向后兼容还不能变。相比之下,依赖「编译技术」的「.Net」体系就灵活得多,「光盘哥」鲍尔默时代没发展不代表存在「劣根性」限制发展不了,到了天竺「云哥」上台之后,这不「.Net Core」就出来了。

这一招Java™也可以玩,实际上也玩得不亦乐乎,通常都是「JIT」直接编译为机器码,这时候Java™就仅仅是一种高级编程语言了,与底层JVM没关系了。但是Java™的「设计」就不能甩掉虚拟机从此放飞自我了,不可能,改朝换代了,反了你了。

因此,Java™若要摆脱「劣根性」,只能设计专用硬件,也是以前提到过的,一个进程一个核心伺候,娇生惯养的温室花朵可能喜欢一启动就看见处理器里面有两千个核心待命的盛况。只不过呢,堆栈式的JVM不太适合处理通用任务,这么干了性价比不高,仅限豪门贵种走兽派玩票。

总而言之,提示今后剧情走向,先看刘强东能否保住妻女顺便京东重新回归.Net阵营,再看知乎中央是否还有其它派系或者孟什维克决定转投.Net阵营,这两出大戏已经足够打酱油做俯卧撑的围观群众娱乐一段时间了,腻歪了之后再找其它乐子。

2018.09.21