为什么总是有人说Java啰嗦,却没人说C++啰嗦?

范狂夫

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

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

不仅本话题,知乎首页出现的所有「真理标准大讨论」都差不多,哪怕仅限于信息技术领域甚至仅限于「高级」程序设计语言。

曰若稽古,「C++」最初唤作「C with Class」,就是把「struct」扩展成「class」而已,其创立过程中借鉴了一堆前辈,包括但不限于「SmallTalk」。这都是「千禧年」(或曰以2000313日纳斯达克崩盘为标志的互联网泡沫破裂)前后境内信息技术领域当中流行的话题,动辄千答万赞那种。

而「Java」最初的设计目标,是嵌入式芯片,也就是上世纪末微波炉那种环境的控制系统,所以有先天不足(可援引活跃色目帐号指点江山激昂文字时常用措辞称其为「劣根性」),后面发生的事情略,迄今为止都是动辄千答万赞的热点话题,不需要「繁琐」的啰嗦了。

另一个例子,是「Objective-C」,看上去「面向对象」了吧,确实也「面向对象」了,只是其对C的扩展相当「精炼」(褒义),早期语法中甚至没有「点」(印象里好像是2.0还是多少版之后才有的),同样是继承和发展了C的既有赛博朋克遗产。

所以,当老迈年高的不入流码农看到Google把「C」之亲爹之一的Ken Thompson请去设计「Go-lang」的业界新闻,不需要「CIA/КГБ/MI5/摩萨德/中统/军统/特科」的情报支持,也能对其路线图猜个八九不离十。

至于为啥「C++」已经啰嗦成现在这样了,其它回答当中都从技术角度说得差不多了。

因为「不忘初心牢记使命」,所以C能干什么,C++都能(但注意不是向后兼容)。并且由于C能干的事情太多了,不能干的反而罕见(甚至「没有」),所以C++被广泛应用于几乎所有场景和范式,合不合适另说。

结果就是,不考虑人员素质和维护成本的情况下,C++运行比其它所有高级语言都快,而(较大规模项目)开发至少比C快。这个特点,在硬件还不够发达的「千禧年」前后尤为重要,那时候境内市面上铺天盖地的各种C++资料,盛况一时。

后来的事情都知道了,随着硬件提升,「听都没听说过的新鲜名词」如雨后春笋般星星之火可以燎原,于是C++在与时俱进童年才俊们眼里看来,缺点突出而优点已经不那么明显喽。

扯了这么多,预告的「政治和意识形态」在哪儿呢?

与时俱进的童年才俊们肯定听说过ECMAScript,没听说过的应该听说过「JavaScript™」,早期也是「过程式语言」,甚至不用「函数」,在页面里直接写裸代码就从被浏览器上到下执行了也。

不过呢,随着ECMA不停推出新版标准,老迈年高的不入流码农发现了可以用老生常谈的字眼形容的新动向「JavaScript with Class」……哎呀接下来会发生什么事情,就看「业界」能不能吃一堑长一智吸取C++的经验教训喽。

还没看见「政治和意识形态」吖?

之前若干篇关于信息技术的回答当中提到了,以史为鉴并且不惮以最大的恶意揣测,这次互联网泡沫再破,其中肯定有久经考验的积累几千年阴谋诡计之集大成者背后推动的剧情,有些正如当年「星球大战计划」忽悠苏修那样故意引诱对手误入歧途。

那好,即便「觉悟和警惕性较高」,但若是「怀疑一切」也会「自讨苦吃」,所以还得提前判断什么「可疑」而什么「可信性较高」。

举个例子,就说兲朝党国高音喇叭吧,很多人都知道每晚七点《新闻联播》当中俩嘴炮高手满脸堆笑报道的内容当中「连标点符号都有微言大义」,但未必会上纲上线为「连标点符号都不能信」,气话除外。那么七点半的《天气预报》各位信不信吖?准不准另说。

综上所述,这「ECMAScript」既然在全球互联网上广泛应用,还有若干大手信息技术企业撑腰,看来不像是忽悠,除非美帝灯塔国各要害部门之诈骗预算极大充沛。

其它内容以此类推,各位再看见「真理标准大讨论」的时候,先用这个「恶意揣测」标准审核一遍可也。

2018.09.24