【马云|IBM开源了5亿行代码数据集,为何C++能位居第一?】
文章图片
今年上半年 , IBM 研究院发布了一个名为 CodeNet 的数据集 , 该数据集包含 1400 万个代码样本 , 共有用 55 种编程语言编写的 5 亿行代码 , 用于训练面向编程任务的机器学习模型 。
不过令人意想不到的是 , Python竟然不是样本中使用最多的语言 , 仅屈居第二 , C++荣登榜首 。
为何C++荣登榜首
Python近些年的火爆程度毋庸置疑 , 但为何不是榜首 , 其实从Python近十几年的热度走势就可知晓 。
从图中不难发现 , 直至2018年Python才开始呈现一个逐步上升趋势 , 而这些代码样本是从提交给在线编程平台 AIZU 和 AtCoder 上的近 4000 项挑战的提交中提取 , 可能存在Python未广泛使用的情况 。
另外一方面C++一直以来也十分受欢迎 , 即使是在Python逐渐火爆的情况下 , 几乎每年在 TIOBE 编程语言排行榜中 , 且一直保持在该榜单的前五名 , 其影响力也可见一斑 。
C++的由来
提起C++就不得不先说一说C语言 , C语言是于1972年由美国贝尔实验室的丹尼斯·里奇(Dennis Ritchie)在B语言的基础上最终设计出的一种新语言 。 而C++正是以C语言为根基 , 并也诞生于美国贝尔实验室 , 由Stroustrup所设计 。
起初本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)发现 Simula 具备很利于大型软件开发的特点 , 但 Simula 的运行速度太慢 , 无法对现实需求发挥功效;BCPL 虽快得多 , 但它过于低级的特性 , 使其不适于大型软件的开发 。 为此他选择了能够适用各种用途 , 具有快速、可移植性的C语言 , 并为它增强一些类似Simula的特点 , 来解决这一问题 。 至此C++可谓已经初具雏形 , 不过此时它叫作C with Classes 。
直至1983年 , C with Classes才改名为我们熟悉的C++ , 并加入了新的特性其中包括虚函数、函数名和运算符重载、参考、常数、用户可控制的自由空间存储区控制、改良的类型检查以及新的双斜线(//)单行注解风格 , C++此后开始大展拳脚 。
C++为何经久不衰
相较于“90后”(20世纪90年诞生)的Python , C++这一位“80后” , 虽更为年长 , 但丝毫不影响其发光发热 。
究其原因:其一 , 苗正根红 。 除了C++外 , Java和C#等也是以C为基础相继诞生 , 并在各自领域大获成功;其二 , 紧跟时代 , 不断优化 。 C++从设计之初 , 已有近40个年头 。 C++从最初的C with class , 经历了从C++ 98、C++ 03、C++ 11、C++ 14、C++ 17再到2020年的C++ 2a(又叫C++ 20)的多次标准化改造 , 功能得到了极大的丰富 , 已经演变为一门集面向过程、面向对象、函数式、泛型和元编程等多种编程范式的复杂编程语言 。
正因如此 , 造就C++一个最重要特性 , 即某些领域具有不可替代的作用 。 如:驱动是要用 C++、启动代码是要用 C++、就连 Android 的底层也和 C++ 脱不了关系 。 虽然 C++ 在很多大型应用中 , 无法施展拳脚;但在不少领域 , 它却如同巨人一般又是不可或缺的顶梁柱 。
- 创业|马云可能也没料到,“电商黑马”出现,拼多多、京东和淘宝难办了
- 卫星|大学生搞出“饿了么”,668亿卖给马云, 转身投资教育产品再赚百亿
- 美团|大量用户将被影响,蚂蚁作出重要决定,马云这招可谓一箭双雕
- 蚂蚁金服|蚂蚁集团做出新决定,马云走了一步“妙棋”
- 微信|马云眼光有多毒?11年前“捡漏”马化腾项目,现AR技术估值5027亿
- 阿里巴巴|Toit 编程语言现已开源
- 网络诈骗|业财、开源、SCRM ——最热TO B赛道上,85后掀起创业狂潮
- 双十一|帮马云创办淘宝,却被迫离开阿里,如今他帮黄峥创办阿里最大对手
- paytm|马云又养大一只独角兽,估值高达1400亿元
- OPPO|马云曾有3次公开“预测”,到今年已全部应验,网友:嘴巴开过光