浅谈后端语言优缺点
兄弟连教育在前不久,回答了一个关于后端语言选型的问题,那么后端语言都有哪些,存在什么样的优缺点?因此兄弟连与大家分享一下心得。
语言优缺点
C/C++
C 语言虽然是非常贴近操作系统的语言,能和操作系统API很好的交互,但是C语言并没有现代化工程开发所需要的面向对象功能,当然也缺乏泛型之类的功能,如果以CGI的形式开发,那么缺点非常明显,这也是第二代后端平台兴起的原因。
C++ 具有现代化工程开发所需要的各种功能,但是它同样有缺点:
缺乏字符串处理,Web开发最主要的就是字符串的处理,所有的一切几乎都要和字符串打交道,但是C++最差的就是字符串处理,只有std::string这个标准库提供的字符串类。用过的基本都知道,这是所有语言中最差的字符串类,缺乏方便的UTF-8支持,缺乏正则表达式匹配,几乎什么都缺。
缺乏 Web标准的支持,我这里说的标准是指语言层面上对HTTP协议的支持。Web是基于HTTP协议和TCP协议产生的,TCP协议控制了如何传输,HTTP协议定义了浏览器和服务端如何通信。而C++极度缺乏这方面的支持,如果需要做非CGI开发,只能自己手工处理Socket通信。
缺乏 HTTP框架和业务代码之间的交互标准,框架就算完成了HTTP通信部分,也没有一个标准规定框架如何和业务代码交互。不过,实际上C++框架是实现自己的交互流程。但是缺乏规范则是框架稀少的原因。
这三点主要的缺点非常明显的,所以社区都没兴趣给写基于 C+