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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 383. 观光(最短路拓扑图)「建议收藏」

    383. 观光(最短路拓扑图)「建议收藏」“您的个人假期”旅行社组织了一次比荷卢经济联盟的巴士之旅。比荷卢经济联盟有很多公交线路。每天公共汽车都会从一座城市开往另一座城市。沿途汽车可能会在一些城市(零或更多)停靠。旅行社计划旅途从 S 城市出发,到 F 城市结束。由于不同旅客的景点偏好不同,所以为了迎合更多旅客,旅行社将为客户提供多种不同线路。游客可以选择的行进路线有所限制,要么满足所选路线总路程为 S 到 F 的最小路程,要么满足所选路线总路程仅比最小路程多一个单位长度。如上图所示,如果 S=1,F=5,则这里有两条最短路线 1→

    2022年8月10日
    10
  • object转string的四种方式

    object转string的四种方式通常 object 到 string 有四种方式 假设有 objectobj obj ToString Convert ToString string obj objasstring 他们都能将 object 对象转换成 string 对象 我就讲讲他们的异同以及在实际中应该使用哪个 前两个方法通常是由别的对象得到 string 对象 它们间的区别只表现在要转换的对象为 null 时

    2025年10月30日
    4
  • Ubuntu终端打开文件及查看目录「建议收藏」

    Ubuntu终端打开文件及查看目录「建议收藏」方法/步骤 1ctrl+alt+t,调出终端。———— 要去某个目录,用cd 例如:cd/home/yang/下载/ 在视图中,后面还有一个文件夹,我记不住,就按tab键一下。就自动出来了。 如果该文件夹下东西比较多,你记不住,那就多按两次tab,就会出现可以进入的文件夹。在这里我要进入【下载】文件夹里。————- …

    2022年10月11日
    4
  • Set集合实现有序

    Set集合实现有序今天面试问到Set集合实现有序的问题,发现集合这部分知识要补一补…. 以下所有api描述来源:https://docs.oracle.com/javase/7/docs/api/实现Set接口的类如下,其中最常见的HashSet和TreeSet。InterfaceSet<E>AllKnownImplementingClasses:AbstractSet, Concurren…

    2022年5月28日
    82
  • 360无线路由器dns服务器,路由器的首选dns服务器怎么填

    360无线路由器dns服务器,路由器的首选dns服务器怎么填满意答案mirk60422020.04.25采纳率:42%等级:7已帮助:159人1、在管理员界面中输入命令:ipconfig/all然后按enter键确认即可显示windowsip配置,在这里我们可以查看我们的dns服务器地址。2、如果你连接了路由的话也可以通过路由来查看你的dns服务器地址,在浏览器输入地址192.168.1.1弹出路由器登入对话框,通常路由器默认的账户密码均为:ad…

    2022年6月10日
    56
  • C#使用WinExec调用exe程序[通俗易懂]

    C#使用WinExec调用exe程序[通俗易懂]实现1、添加引用usingSystem.Runtime.InteropServices;//调用外部的DLL2、定义win32API//调用exe[DllImport("kernel32.dll")]publicstaticexternintWinExec(stringexeName,intoperType);//生成执行数据privatevoi…

    2022年7月11日
    54

发表回复

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

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