为啥C++很少用于Web后端开发

前后端分离项目,我用c++11写restful风格的api服务,前端就是vue react js,算不算web后端开发呢?
写了3个了,写起来也很快啊,其中一个是实时视频图像识别服务,对外接口是restful api,给网页js调用的,也算是web吧,另外2个是纯curd项目。
如果c++搞cgi类似需要输出网页界面的,那确实很少。
网页界面修改频繁,改一下,c++就要编译一下,c++编译速度又蛋疼,所以并不常用。
https://github.com/jxfwinter/jkit
可以参考一下,2个纯curd项目用的这个基于fiber的,另一个实时视频分析的项目,http并发量不大,但是数据处理与计算量大,所以还是使用的线程


■网友
原因很多:
Web项目通常要敏捷开发, 好占据先机, 所以性能不是很重要(至少是前期), 更需要入门快,上手快.Web需求变化多端且朝令夕改, 所以性能无法顾忌, 需要更容易重构,有一定动态能力的,灵活的语言.C++开发成本高,招人难, 所以只能用在刀刃上, 可在少量对性能高的地方用(很可能是直接用第三方写好的中间件), 所以通常让人觉得主要不用C++写.C++不是万能的, 也没有任何一门语言是万能的, 这一点要谨记.
■网友
Web开发的特点就是,极其粗糙且淘换率极高,需要的就是拿来就干,快速成型,毫无追求(除了钱和流量)。C/C++至今连个官方网络库都没有,什么都得自己从头撸(也可以自己去找),还怎么快速成型,命相不和。

■网友
相比于Java、.net、php等开发效率低太多,低到无法忍受,不符合互联网的短平快、快速迭代、灰度发布。领Web后端开发中语言本身带来的性能提升并没有那么重要,绝大多数时候系统的瓶颈在架构和数据库上
■网友
因为实在太蛋疼,疼到你受不了那种。
■网友
自己写一个体验下就知道了。简单实现,楼主可以用CGI,会用标准输入输出,就可以用C/C++写CGI.
■网友
世界上主要的Web后端,都是用C/C++编写的比如目前谷歌、百度、腾讯、脸书、Youtube等公司的后端,主要是C++。另外一些商务型公司,则采用Java。
其次,大部分互联网底层平台(操作系统、Web服务器、数据库等),编程语言、相关扩展库,也大都是C/C++开发的。参见下图,来自:https://www.mentofacturing.com/vincent/implementations.html
为啥C++很少用于Web后端开发

为啥C++很少用于Web后端开发

当然,这些基础平台的开发国内很少涉及,全都是用国外C/C++程序员开发好的产品(开源或商业收费)。完全没有中国开发者参与,所以导致被完全忽视。
C/C++编写的程序,占互联网后台90%以上的运算能力C/C++性能最好,但是开发效率最低。因此除了基础部件、调用频繁的库,普通网站大部分业务逻辑都会用开发效率更高的语言来编写。
为啥C++很少用于Web后端开发

C/C++占互联网后台运算能力统计:
按平台算约100%:C/C++几乎包揽了全部Web后台的运算能力。操作系统、Web服务器、数据库、大部分编程语言、扩展库全都囊括在内。包括API和库调用来算占90%以上:除其他高级语言代码,C/C++占用了互联网后台90%以上的运算能力。其他低性能语言直接承载的运算较少,大部分运算是调用的C/C++编写的系统API和库。只按后端语言计算(大家常见的):C/C++后端几大巨头在用,还有一些局部领域应用,总量确实较少,但权重有半壁江山也毫不夸张。并且通常有封装,前端直接看不到。谷歌后台内核主要是C/C++,代码量是Windows的30倍。Python运算性能比C/C++慢200倍以上,只用于周边和大数据AI的胶水语言。结果到处在误传谷歌后端用Python(来支撑大家常见的业务)。当然,Python Web服务器性能可以达到C/C++的1/10,可以承载一些负载较轻、或原型性质的业务。


推荐阅读