对大多数互联网产品项目来说,仅仅是因为其它语言在开发成本和运行速度间平衡地更好。然鹅,C/C++并不是绝对的不适合Web开发。对计算量大又想高效的前后端应用,C/C++可能更合适。

从后端来看,完全可以用C/C++来开发。Google的很多后端业务仍然用的C++。C++的web开发工具和框架虽没有PHP、Node.js、Ruby on Rail等丰富,但也有Wt(webtoolkit.eu),CppCMS等框架可供选择。如果C++玩了几十年,炉火纯青,使用C++和各种库可能比上手一个新的语言生态更高效。也可以仅使用C++写一个模块通过Node.js调用。总之,在Web后端上C/C++相对其它语言并没什么劣势,只是其它语言的学习成本有时低一些罢了。从前端来看,由于浏览器使用JavaScript作为脚本语言,C/C++无法直接在浏览器里运行。并且,经过20多年的积攒,JS已经形成了一个完整的生态环境和开源社区。各种JS框架给苦逼的码农们省下了不少头发和把妹撩汉的时间,如果有对象的话????

先别急着怼我,等我说完这段再怼????。今年Web Assembly已经全面落户最新的Chrome、Firefox、Edge、Safari等主流浏览器。可以将C/C++源码编译成wasm二进制文件直接在浏览器里高速运行(使用Emscripten编译更加便捷)。对很多前端应用来说,使用C/C++加速可能并没有必要。但是如果想要在前端产品中加入机器视觉,自然语言处理,机器学习等模块,WebAssembly将成为一个极好的选择。

十年前,各大浏览器优化加速JS引擎促进了JS前端直到全栈开发的发展。相信Web Assembly将强大的C/C++性能和几十年历史积淀的生态带入Web,会在之后的几年里掀起又一轮Web应用的创新浪潮????。