机器之心报道

编辑:小舟、魔王

C++20 能让 C++ 复兴吗?

TIOBE 公布 2020 年 9 月的编程语言排行榜,C++ 位列第四,仅次于 C、Java 和 Python。而且 C++ 相比去年同期增长 1.48%,成为增长最快的编程语言。

TIOBE 编程社区指数是衡量编程语言流行度的指标。该指数每月更新一次,是基于谷歌、必应等 25 种搜索引擎上与编程相关的搜索查询得到的结果。TIOBE 指数旨在反映编程语言受欢迎程度的变化。

2020 年 9 月 TIOBE 编程语言排行榜前 15 名。Tiobe 排行榜上,前 10 位中排在 C++ 之后的语言包括 C#、Visual Basic、JavaScript、PHP、R 和 SQL。而 Java 虽然排名第二,但与 C++ 相反的是,它相比去年同期下降了 3.18%。

C++ 语言诞生于 20 世纪 80 年代,现在已有 35 年的历史。

2003 年是 C++ 的高光时刻:当年 8 月它达到了占比 17.53% 的高点,位列 top 3 编程语言,并获得当年的 TIOBE 编程语言奖。但之后 C++ 开始走下坡路。2005 年以后,它的占比甚至再没超过 10%,2017 年 C++ 出现了历史最低记录 4.55%。但是,今年 9 月的排行榜单显示,C++ 达到 7.11% 的份额,年增长率高达 1.48%,成为增长最快的编程语言。

TIOBE 软件 CEO Paul Jansen 表示,这一积极变化可能受益于 C++20 标准的诞生。

C++20:C++11 以来最大的发行版本

近日,国际标准化组织(International Organization for Standardization,ISO) C++ 组,21 工作组(WG21)投票通过「C++20」的最终版本,这是自 2017 年 C++17 以来,C++ 语言的首次重大更新。

微软工程师、WG21 主席 Herb Sutter 称,C++20 是「自 C++11 以来最大的发行版本」。

C++20 中的两个关键特性是「模块」(modules)和「协程」(coroutines)。Jansen 表示:「模块这一特性将取代可怕的 include 机制」。

C++ 之父 Bjarne Stroustrup 认为:C++20 很特别,因为它完全遵循了《The Design and Evolution of C++》(1994 年版本)。尤其是,它囊括了概念、模块和协程。

「概念」并未出现在这本书中,但 Bjarne 用了三页的篇幅为此致歉。Bjarne 表示,当时没有人知道如何设计和实现这一特性。

「模块」在当时只是一个梦,不过在那本书中 Bjarne 还是特意提及了它。Bjarne 表示,自己梦想有一天能够去掉预处理器。

「协程」是 C++ 诞生头十年里的重点,当时其他大部分语言都不具备这一特性。

此外,C++20 还改进了并发性等。

对于 C++ 的这次重大更新,开发者也发表了自己的看法。

有网友认为,C++ 变得越来越难懂,规则越来越复杂:

事实上,C++ 过于复杂这一点一直遭到诟病。有开发者表示:「学习全部的 C++ 规则是不切实际的。甚至在实际编写中,C++ 代码越来越像 C 语言代码。」

但是也有开发者表示,虽然要花时间了解更新的内容,但每次更新都是有道理的:

参考链接:

https://www.zdnet.com/article/developers-programming-language-c-is-about-to-get-this-huge-update/

https://www.tiobe.com/tiobe-index/

https://isocpp.org/blog/2020/02/bjarne-stroustrup-on-cpp20s-significance

https://www.reddit.com/r/cpp/comments/imzkl4/c20_has_been_approved/

https://news.ycombinator.com/item?id=24389549

如何根据任务需求搭配恰当类型的数据库?

在AWS推出的白皮书《进入专用数据库时代》中,介绍了8种数据库类型:关系、键值、文档、内存中、关系图、时间序列、分类账、领域宽列,并逐一分析了每种类型的优势、挑战与主要使用案例。

计算机语言9月排行榜,TIOBE 9月编程语言排行榜发布,C+增速最快相关推荐

  1. 2022年11月多家权威机构____编程语言排行榜__薪酬状况

    2022年11月多家权威机构____编程语言排行榜__薪酬状况 目 录: 一.TIOBE统计数据(2022年11月) (1)2022年11月的编程语言流行度指数排行 (2)编程语言多年流行回顾 (3) ...

  2. 计算机语言在游戏编程的排名,从编程语言排行榜看技术发展趋势

    一个语言要想进入排行榜,必须符合两个条件: 必须在Wikipedia上有单独的词条,并且明确的指明这是一门编程语言. 必须是图灵完备的.目前TIOBE榜单上的语言有225个(计算机语言真是博大精深,好 ...

  3. 2023年7月十大热门后端编程语言排行榜

    以下 star数截止2023年7月份 1.Go(112K) 代码仓库地址:https://github.com/golang/gohttps://github.com/golang/go 官方文档地址 ...

  4. 5 月计算机语言排行,TIOBE 5月编程语言排行榜

    TIOBE开发语言排行榜是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标,每个月都会更新一次,2015年5月榜单已经出炉,据了解,排名前三的J ...

  5. TIOBE 2011年7月编程语言排行榜:Objective-C成为年度语言

    TIOBE 7月份编程语言排行榜已经发布,本月热点关注的语言是Objective-C将成为年度语言.前三甲依然是Java.C.C++,4至10名依次为C#.PHP.Objective-C.Visual ...

  6. 2019年10月编程语言排行榜

    TIOBE在前段时间公布了编程语言排行榜2019年10月的数据,编程语言10月的排名有了新的变化,Python继教占领第三名,Java还是稳居第一,C++本月又降了1.36%.下面一起来看看2019年 ...

  7. 编程语言排行榜:JavaScript 力压 Java和Python

    在多种趋势榜单中,Java.C.Python 已成编程语言界的新任"铁三角".而在开发者日常使用以及讨论中,编程语言又有什么样的现状? 近日,一年仅发布两次编程语言榜单的美国知名软 ...

  8. Python再夺冠,上古语言COBOL大流行,IEEE Spectrum 2020年度编程语言排行榜出炉!...

    整理 | 屠敏 题图 | 东方 IC 出品 | CSDN 博客 领域驱动技术,技术鞭策领域. 近日,IEEE Spectrum 最新发布了 2020 年年度编程语言排行榜.IEEE Spectrum ...

  9. Python再夺冠,2020年度编程语言排行榜出炉

    领域驱动技术,技术鞭策领域. 近日,IEEE Spectrum 最新发布了 2020 年年度编程语言排行榜.IEEE Spectrum 编程语言排行榜一年发布一次,截止到今年,该排行榜已经连续发布了七 ...

最新文章

  1. 【php】函数重载问题
  2. 北邮国院c语言期末考试题,北邮C语言复习题2014.ppt
  3. 一个mui+ajax+php的demo
  4. webchart= php 解码,Web Pages - Chart 帮助器
  5. C++ Primer 5th笔记(chap 19 特殊工具与技术)两种不可移植的特性之“位域”
  6. 2021年第二届“华数杯”全国大学生数学建模竞赛
  7. linux vim配置怎么打开文件,Linux如何设置默认VIM打开文件
  8. 手把手教学电瓶车进电梯检测、多类别车辆追踪、异常行为检测产业级应用
  9. 解析PHP实现多进程并行执行脚本
  10. 星星评价控件android开发_android自定义星级评分控件,可实现只显示实心星星
  11. LeetCode 1697. 检查边长度限制的路径是否存在(排序+并查集)
  12. c语言线程不安全错误定位,C语言中的线程安全可破坏事件触发类#
  13. matlab温室,科学网—用MATLAB建立中国部门温室气体排放的关联模型 - 计军平的博文...
  14. IBC-身份标识密码技术
  15. 牛客网 月出皎兮,佼人僚兮。 树上启发式合并
  16. 《BJBR虚拟仿真解决方案(描述精选)》(Yanlz+SteamVR+5G+AI+VR+AR+MR+HR+BR+CR+DR+ER+FR+GR+人工智能+人机交互+立钻哥哥+==)
  17. Spring Boot干货系列(一)入门篇
  18. 八芯网线水晶头做法(线序)
  19. Joystick Shield 连接 nRF24L01
  20. eeglab中文教程系列(1)-加载、显示数据

热门文章

  1. hbase copytable_HBase使用HashTable/SyncTable工具同步集群数据
  2. codesmith 模板 html5,js-template-art【二】语法(示例代码)
  3. PHP套入表格公式,单元格公式引用的方法
  4. java 给数组添加删除数_Java实现数组的添加、删除、查找(基础型)
  5. 为什么DevOps和SRE职位这么难招人?
  6. 继iptables之后的新一代包过滤框架是nftables
  7. putty和WinSCP后门检查及清理方式
  8. JavaScript遇到浏览器不兼容与解决方案
  9. ExtJs4.1目录结构介绍和使用说明[转]
  10. 今天要查一下,如果没有密保手机的号码在使用,怎么更换qq的密保手机