web后端语言_C/C++作为web后端语言的缺点

web后端语言_C/C++作为web后端语言的缺点C/C++C语言虽然是非常贴近操作系统的语言,能和操作系统API很好的交互,但是C语言并没有现代化工程开发所需要的面向对象功能,当然也缺乏泛型之类的功能,如果以CGI的形式开发,那么缺点非常明显,这也是第二代后端平台兴起的原因。C++具有现代化工程开发所需要的各种功能,但是它同样有缺点:缺乏字符串处理,Web开发最主要的就是字符串的处理,所有的一切几乎都要和字符串打交道,但是C…

大家好,又见面了,我是你们的朋友全栈君。

C/C++

C 语言虽然是非常贴近操作系统的语言,能和操作系统 API 很好的交互,但是 C 语言并没有现代化工程开发所需要的面向对象功能,当然也缺乏泛型之类的功能,如果以 CGI 的形式开发,那么缺点非常明显,这也是第二代后端平台兴起的原因。

C++ 具有现代化工程开发所需要的各种功能,但是它同样有缺点:

  1. 缺乏字符串处理,Web 开发最主要的就是字符串的处理,所有的一切几乎都要和字符串打交道,但是 C++ 最差的就是字符串处理,只有 std::string 这个标准库提供的字符串类。用过的基本都知道,这是所有语言中最差的字符串类,缺乏方便的 UTF-8 支持,缺乏正则表达式匹配,几乎什么都缺。
  2. 缺乏 Web 标准的支持,我这里说的标准是指语言层面上对 HTTP 协议的支持。Web 是基于 HTTP 协议和 TCP 协议产生的,TCP 协议控制了如何传输,HTTP 协议定义了浏览器和服务端如何通信。而 C++ 极度缺乏这方面的支持,如果需要做非 CGI 开发,只能自己手工处理 Socket 通信。
  3. 缺乏 HTTP 框架和业务代码之间的交互标准,框架就算完成了 HTTP 通信部分,也没有一个标准规定框架如何和业务代码交互。不过,实际上 C++ 框架是实现自己的交互流程。但是缺乏规范则是框架稀少的原因。

这三点主要的缺点非常明显的,所以社区都没兴趣给写基于 C++ 的 Web 框架,就算有也是小打小闹。

转发自

后端语言选型浅谈 – 后端 – 掘金​juejin.im

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148986.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一台服务器请求另一台时,用公网IP和内网IP访问时的区别?

    一台服务器请求另一台时,用公网IP和内网IP访问时的区别?假定服务器A的IP=10.1.1.2/24服务器B的IP=10.1.1.3/24,对内提供的服务10.1.1.3:80对Internet提供的服务1.1.1.1:80NAT设备LAN=10.1.1.1/24,WAN=1.1.1.1,NAT设备兼任局域网的网关内网IP访问服务器A访问服务器B内网IP=10.1.1.3:80,直接通信,流量不…

    2022年5月23日
    44
  • vueaxios跨域请求_vue如何实现跨域

    vueaxios跨域请求_vue如何实现跨域前端设置axios跨域constaxios=require(“axios”)axios.defaults.withCredentials=true后端设置:express…app.use(‘*’,function(req,res,next){res.setHeader(“Access-Control-Allow-Origin”,”http://localhost:8080″);res.setHeader(“Access-Control-Allo

    2022年9月4日
    4
  • power by dedecms什么意思,power by dedecms怎么去掉

    power by dedecms什么意思,power by dedecms怎么去掉powerbydedecms什么意思,powerbydedecms怎么去掉powerbydedecms什么意思,powerbydedecms怎么去掉一、powerbydedecms什么意思网上冲浪的时候,会看到很多带powerbydedecms的网站,powerbydedecms表示该网站基于DedeCMS系统搭建,DedeCMS是开源免费

    2022年7月13日
    14
  • 软件测试:测试用例&八大要素&模板

    软件测试:测试用例&八大要素&模板一、通用测试用例八要素  1、用例编号;  2、测试项目;  3、测试标题;  4、重要级别;  5、预置条件;  6、测试输入;  7、操作步骤;  8、预期输出二、具体分析通用测试用例八要素  1、用例编号  一般是数字和字符组合成的字符串,可以包括(下划线、单词缩写、数字等等),但是需要注意的是,尽量不要写汉语拼音,因为拼音的意义可能有好几种,有可能会导致乱码;  用例编号具有唯一性和易识别性。(比如说我们唯一标识一个人:中国-上海市-xx区xx号-xx楼–xx室-x

    2022年6月28日
    35
  • python+opencv图像模板匹配—多模板匹配

    python+opencv图像模板匹配—多模板匹配

    2021年10月6日
    60
  • acwing-2326. 王者之剑(最小割之最大点权独立集)「建议收藏」

    acwing-2326. 王者之剑(最小割之最大点权独立集)「建议收藏」给出一个 n×m 网格,每个格子上有一个价值 vi,j 的宝石。Amber 可以自己决定起点,开始时刻为第 0 秒。以下操作,在每秒内按顺序执行。若第 i 秒开始时,Amber 在 (x,y),则 Amber 可以拿走 (x,y) 上的宝石。在偶数秒时(i 为偶数),则 Amber 周围 4 格的宝石将会消失。若第 i 秒开始时,Amber 在 (x,y),则在第 (i+1) 秒开始前,Amber 可以马上移动到相邻的格子 (x+1,y),(x−1,y),(x,y+1),(x,y−1) 或原地不动

    2022年8月9日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号