17c.c++并非一人之笔

泉源:界面新闻2026-07-26 05:45:06
字号
超大
标准

“17c.c++:并非一人之笔”若是是在讨论 C++ 的生长史,焦点意思是:C++虽然由比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)最初设计并推动,但它并不是某一小我私家自力完成的作品。从早期的“带类的C”,到今天包?含泛型、面向工具、并发和现代标准库的重大语言,C++履历了设计者、编译器开发者、标准委员会、库作者以及全球程序员社区的恒久配合建设。

需要注重的是,“17c.c++”并不是C++官方标准中的术语,也不是普遍使用的手艺看法。它更像是一个文章栏目、页面标签或特定语境中的表达。若是用户真正想相识的是“C++为何并非一人之笔”,那么谜底应当从它的历史泉源、标准演进和社区协作三个方面来明确。

从“带类的C”到C++:最初构想也建设在前人效果之上

20世纪70年月末,斯特劳斯特鲁普在贝尔实验室最先研究一种能够支持笼统数据类型和面向工具头脑的语言。这个项目最初被称为“C with Classes”,厥后逐步生长为C++。他希望在保存C语言效率和底层控制能力的同时,引入更适合大型软件开发的笼统机制。

但C++并不是凭空泛起的?语言。它的主要基础包括:

  • C语言:提供了靠近硬件的表达能力、指针、结构化编?程模子和成熟的编译实践。
  • Simula等语言:面向工具头脑中的类、继续等看法受到早期语言设计的启发。
  • Unix开发情形:C和C++都与系统软件开发需求亲近相关,真实工程问题推动了语言功效的完善。
  • 程序员社区:大宗使用者一直提出兼容性、性能、可维护性和工程实践方面的需求。

因此,斯特劳斯特鲁普是C++的主要首创人和早期设计者,但“首创人”并不即是“所有内容都由一小我私家写成”。语言设计往往是在已有头脑、手艺基础和现实需求上一连演进的效果。

C++生长中的几个要害阶段

从时间线来看,C++的形成并非一次性完成,而是经由了多次重构、推广和标准化。下面的阶段能够说明它为什么具有显着的整体创作特征。

C++生长历程中的代表性阶段
阶段 代表性转变 整体加入体现
1979年前后 最先探索“带类的C” 建设在C语言和早期面向工具头脑之上
20世纪80年月 名称演变为C++,语言逐渐被工程项目接纳 编译器开发者和早期用户加入测试、反响与刷新
C++98 形成?首个ISO国际标准 标准委员会对语法、语义和库举行协商与审定
C++11及之后 引入移动语义、lambda、智能指针、并发支持等现代特征 各国专家、编译器团队、库作者和社区配合推动

为什么说C++“并非一人之笔”

语言设计只是第一步

一个语言创意要真正成为可使用的编程语言,还需要界说语规则则、类型系统、工具模子、异常行为、内存模子和兼容战略。设计者可以提出偏向,但大宗细节必需经由实现、测试和恒久讨论才华稳固下来。

尤其是C++需要兼容相当多的C语言代?码,同时还要增添新的笼统能力。这种“兼容旧天下、支持新特征”的目的,使许多设计决议不?能只由小我私家偏好决议,而要综合性能、可移植性、历史代码和开发习惯等因素。

标准委员会决议语言怎样被配合遵守

C++标准并不是某位作者的私人文档。它由相关国际标准化组织下的专家委员会举行讨论、提案、审查?和修订。来自不?同国家、企业、大学和开源项目的加入者会围绕一个功效的须要性、语义、实现本钱以及向后兼容问题睁开恒久讨论。

一个特征纵然提出得很早,也可能由于重大度过高、实现不可熟或与既有规则冲突而被修改、推迟,甚至作废。最终宣布的标准,是多方手艺判断和协商后的效果。

编译器和标准库让语言真正落地

标准只形貌语言应当怎样事情,用户能否稳固使用,还取决于编译器和库的实现。GCC、Clang、微软Visual C++等工具链划分履历了恒久开发,一连处置惩罚模板、优化、诊断、调试、平台兼容和新标准支持?等问题。

标准库同样不是一小我私家完成的简朴附件。容器、算法、迭代器、智能指针、线程工具和文件系统等组件,都凝聚了差别阶段的设计履历。泛型编程头脑以及标准模板库的生长,也受到多位研究者和工程师的影响。

“跨越世纪的整体智慧”应该怎样明确

把C++称作“一段跨越世纪的整体智慧赞歌”,是一种带有文学色彩的归纳综合。这里的“跨越世纪”主要是指它从20世纪末的?早期生长,延续到21世纪的一连标准演进,并?不体现C++起源于17世纪。若是“17c”被明确为英文中的“17th century”,那就与C++的真实历史不符。

更准确的?明确方法是:

  • 它继续了C语言及更早编程语言的手艺头脑。
  • 它由早期设计者确定偏向,并由后续孝顺者一直增补和修正。
  • 它通过国际标准化流程形成统一规则。
  • 它依赖多个编译器、库和开发工具项目效劳于现适用户。
  • 它在大宗真实软件项目的反响中一连改变。

以是,“并非一人之笔?”并不是否定斯特劳斯特鲁普的孝顺,而是阻止把一门重大语言的所有历史简化成小我私家列传。小我私家可以点燃起点,但恒久可用的手艺系统通常需要许多人的接力。

学习C++时,为什么要相识这段历史

明确C++的形成历程,有助于诠释它为什么同时保存了底层?控制能力和现代笼统工具,也能资助学习者准确看待语言中的重大性。

例如,C++中既有靠近C气概的指针和手动资源治理,也有类、模板、智能指针、规模循环和标准容器。这些内容并非来自统一时期、统一种设计目的。旧特征强调效率和兼容,新特征则更多关注清静性、表达力和工程维护。

学习时不必把所有语法都当成伶仃规则,而可以先明确它们解决的问题:

  • 使用类和封装,是为了组织重大状态与行为。
  • 使用模板和泛型算法,是为了复用高性能代码。
  • 使用RAII和智能指针,是为了更稳固地治理资源。
  • 使用现代并发工具,是为了顺应多核和重大应用场景。
  • 关注标准版?本,是为了判断某种写法的可用规模和编译器支持情形。

一句话厘清“17c.c++:并非一人之笔”

若是这句话被?用作C++历史主题的问题,它表达的是:C++由小我私家首创构想开启,却由前沿头脑、标准委员会、工具链团队、库作者和全球开发者配合塑造。它不是某小我私家一次?完成的作品,而是一项从?20世纪延续至21世纪、在一直兼容与立异中生长起来的手艺效果。

校对:张大春(rsln0LhyhW9amXY2JGVPfAtTlKfWu1zrzKg)

责任编辑: 张大春
为你推荐
用户谈论
登录后可以讲话
网友谈论仅供其表达小我私家看法,并不批注证券时报态度
暂无谈论
重<庆>两江{新}区一辆车被后车掉落的管道砸中:前车司机受轻伤
网站地图