【大杂烩】Web开发大杂烩

作者:六星教育
链接:https://www.zhihu.com/question/508173519/answer/2285607875
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

C++理论上说可以做任何开发, 只要有合适的硬件驱动和API,特点是效率高,基本上是编译语言里面效率最高的。对计算量大又想高效的前后端应用,C++可能会合适。且Web Assembly已经全面落户最新的Chrome、Firefox、Edge、Safari等主流浏览器。可以将C++源码编译成wasm二进制文件直接在浏览器里高速运行(使用Emscripten编译更加便捷)。对很多前端应用来说,使用C++加速可能并没有必要。但是如果想要在前端产品中加入机器视觉,自然语言处理,机器学习等模块,WebAssembly将成为一个极好的选择。

但C++不建议做web开发

1、Web开发的工作是处理字符串,请求的url是字符串,http头是字符串,输出的html css js都是字符串,从数据库读取的数据99%也是字符串。而C++里最差的就是处理字符串。

2、C++没有语言内置的String类型,只能靠std::string这个极其简陋的字符串类,大概是所有C++框架里功能最差的string类了。

3、C++没有正则表达式,做个简单的字串匹配都要自己写,所以当年perl一出来,所有人就毫不犹豫地放弃用c++写CGI了。

4、C++没有GC,大量的字符串处理,数据处理,所有内存都要程序员自己管理,是非常容易出错的,缓冲溢出,内存泄漏是分分钟都会发生。如果CGI是进程隔离的,那么跑不了几个并发请求,如果是共享进程,那么就会总是崩溃。

5、C++是编译语言,只有编译后把二进制可执行上传到服务器才能执行,哪怕改一行代码几个字符,也要折腾很久,远不如脚本语言方便,开发效率太差了。

不是解释性语言,做的WEB调试非常麻烦;现在做WEB开发的,用C#、JAVA较多;都是解释性的语言;

6、因为是.DLL的二进制代码,一般商业网站不给予运行的环境,因为网站服务器会被你可能搞瘫,安全性得不到保障;所以,你得自备网页服务器,得不到技术支持,没人帮你,因此也就慢慢没有了。

posted @ 2022-04-29 08:23  BearKuma1069  阅读(23)  评论(0)    收藏  举报
点击右上角即可分享
微信分享提示