所有语言编写的软件最后到CPU里都是以机器语言执行的,所以说语言选择很大程度上是一个马屁股问题(如千年前的马车轮距影响到现在的铁路网络),那么马车轮距多宽合适呢?
显然是采用马车数量最多的那个距离合适,C语言拥有数量最庞大的运行库,在计算机世界里这个标准轨距就是C语言。当C语言不够用时就选择C++,你可以把它想象成加了第三条辅助轨的标准轨道,虽然奇葩,但它始终和标准轨是兼容的。Java与传统的C/C++不兼容,Sun公司及广大追随者凭借自身的努力和积淀硬生生的打开了一片新领域,此为特例,应在C++也无法满足时考虑选择,但至此生态环境与C/C++相比已经大打折扣。
除此以外的所有语言都只适合在特定领域使用,一旦脱离熟悉的环境就会遭遇严重的兼容性问题,为适应不同语言而打造各种接口也会消耗大量成本,且带来性能上面不必要的损失。