#编程#我有时候总是听别人说C++仅在传统系统中使用,甚至大多在传统系统中使用。我觉得这完全是错误的。传统是一个主要的利基市场,但远非最大或唯一的利基市场。首先我们从了解谁使用C++开始。我想从web应用程序以及游戏来和您说。
在14个最受欢迎的现代网站中,有5个在其后端系统中的某处使用C++。实际上,如果我们按所有这些组织使用它们的方式对以上所有语言进行排序,则会得到:
1.Java(使用了7个组织)
2.C++/PHP(使用了5个组织)
3.JS/Python(使用了4个组织)
4.C#/Scala(使用了3个组织)
5.C/Erlang/Go/Hack(使用了2个组织)
6.D/Perl/Ruby/Xhp(已使用1个组织)
在这些组织的后端系统中,C++的使用率排名第二,与PHP并列。在这些组织中,C++甚至比在后端使用JavaScript更为普遍,并且在这些组织中使用的语言几乎是普通语言的两倍。如果我们查看这些网站中访问量最高的5个网站(Google,Facebook,YouTube,Yahoo,Amazon),那么我们可以看到前5个网站中有4个在后端使用C++(Yahoo除外)。
当组织足够大足以证明在横向扩展和纵向扩展上进行投资时,通常会在后端定期使用C++。中等规模公司的开发人员经常会低估垂直缩放比例,而高估水平缩放比例,但是两者都有用。水平扩展是指简单地添加更多硬件以处理扩展的用户群的过程,而垂直扩展是指使用更好的硬件或更好地利用现有硬件来适应用户增长的过程。对于中小型项目和用户群,重点是证明功能并最小化开发成本。在这些情况下,浪费硬件资源浪费在运行在十几台服务器上的3个便宜开发人员编写的脚本代码上,比浪费资本资源浪费在运行在2个服务器上的12个昂贵开发人员编写的本地代码上。但是,随着用户群的增长,证明优化成本胜过添加更多服务器的成本变得越来越合理。
简而言之:功能和硬件便宜,优化昂贵,并且很多硬件最昂贵。C++是一种已经很常见的高性能解决方案,具有许多模块化设计功能,这些功能会折中许多语言目标,以便最大程度地利用组织分配的硬件资源。因此,在后端Web系统中的大型用户规模上,最紧密的循环经常用C++编写。
根据维基百科的游戏引擎列表列出的个游戏引擎中的,没有列出其基本编程语言。在列出其实现语言的个实例中,有77个列出了C++。在该列表中,部分或全部以C++实现的指定游戏引擎中,有高达61%的比例。下面给你列出一些用C++实现的知名引擎:
1.虚幻引擎:战争机器以及许多其他工具就不一一开始列出了
2.创作引擎:《天际》,《辐射4》,《遗忘》等
3.CryEngine:孤岛惊魂,孤岛危机,怪物猎人等
4.源引擎:TF2,反恐精英等
在涉及Triple-A游戏引擎的地方,C++是这些语言的王者,因为它是使用最广泛的系统语言,它在支持适当的系统设计功能的同时,提供了最基本的执行能力。
简而言之:我认为C++是AAA游戏引擎和开发中的最佳选择。
结语:C++能存在这么久,怎么可能只靠着传统的市场支撑着。文中可能会有些错误,还希望各位多多指出,谢谢大家观看。