17c.c++并非一人之笔之一
222
订阅已订阅已珍藏
珍藏点击播报本文,,,,,约
“17c.c++:并非一人之笔”所表白的主题事实是:C++固然时时与Bjarne Stroustrup联系在一路,,,,,但这门说话并不是某幼我单独实现的文章。。。。。。。。它成立在Simula、C蹬罪言的思想基础上,,,,,又经过设计者、编译器开发者、尺度委员会、库作者和全球开发者多年合作,,,,,才逐步形成今天的技术系统。。。。。。。。
C++的复杂性并不只来自语法数量,,,,,而来自分歧汗青阶段的设计指标叠加。。。。。。。。面向对象、泛型编程、底层内存节造、异常处置、并发推算和尺度库,,,,,都有各自的起源与演进过程。。。。。。。。因而,,,,,理解C++时,,,,,不能只记住一位首创人的名字,,,,,还要看到背后的技术传秤注工程实际和尺度化合作。。。。。。。。
“17c”与C++尺度名称不是一回事
“17c.c++”并不是C++官方尺度版本的正式写法。。。。。。。。C++尺度通常使用C++98、C++03、C++11、C++14、C++17、C++20和C++23等名称,,,,,其中数字通常暗示尺度正式颁布或被宽泛选取的年份。。。。。。。。若“17c”呈此刻文章标题、栏目名或内容标签中,,,,,它更可能是颁布方自界说的象征,,,,,不应被当成一种独立的C++说话版本。。。。。。。。
C++17是C++尺度演进中的一个沉要节点,,,,,但C++17也不是某幼我忽然写成的了局。。。。。。。。C++17中的结构化绑定、结构化绑定有关语法、文件系统库、并行算法和更美满的编译期能力,,,,,都经过提案会商、实现验证、委员会审议以及编译器和开发者反馈。。。。。。。。
C++的源头正本就来自多条技术路线
C++的早期设计并非从空缺起头,,,,,而是吸收了分歧说话解决问题的方式。。。。。。。。C提供了靠近硬件、执行效能高且适合系统开发的基。。。。。。。;;;;;Simula则为类、对象和面向对象建模提供了沉要思想起源。。。。。。。。C++随后尝试把抽象能力参与C的运行效能和工程生态中。。。。。。。。
- C说话的影响:保留了指针、结构体、运算符、手动资源治理等底层编程能力,,,,,使开发者可能精密节造内存和执行过程。。。。。。。。
- Simula的影响:推动了类、对象、继承和运行时建模等面向对象概想进入C++的设计视野。。。。。。。。
- 早期C++实际的影响:“C with Classes”等索求证明,,,,,面向对象机造能够逐步参与寂仔的C法式,,,,,而不用齐全抛弃原有代码。。。。。。。。
- 通用编程的影响:模板、泛型算法和类型推导让代码可能萦绕类型和行为复用,,,,,而不是只萦绕具体数据结构复用。。。。。。。。
C++的汗青价值在于多条路线的结合,,,,,而不是单一理想的成功。。。。。。。。面向对象解决了部门建模问题,,,,,泛型编程解决了部门复用问题,,,,,底层节造能力则保留了系统软件对机能和资源的要求。。。。。。。。
Bjarne Stroustrup的贡献与天堑
Bjarne Stroustrup对C++的贡献重要体此刻早期架构设计、说话方向选择和持续推动上。。。。。。。。他在贝尔尝试室工作期间发展了将类机造引入C说话环境的索求,,,,,并逐步发展出后来被称为C++的说话。。。。。。。。没有他的持久设计和推动,,,,,C++很可能不会以今天的大局出现。。。。。。。。
Bjarne Stroustrup并不蹬宗C++全数内容的唯一作者。。。。。。。。一个说话设计者能够提出主题方向、协调关键弃取并推动实现,,,,,但无法单独实现大型编译器、尺度库、测试系统、文档系统和跨平台工具链。。。。。。。。C++可能持久使用,,,,,依赖的是持续的集体工程,,,,,而不只是最初的说话构思。。。。。。。。
| 参加者 | 重要工作 | 解决的问题 | 对使用者的影响 |
|---|---|---|---|
| 早期说话设计者 | 提出语法、类型系统和抽象机造 | 确定说话可能表白什么 | 影响代码风格和抽象天堑 |
| 尺度委员会 | 会商提案、统一规定、审议尺度 | 削减分歧实现之间的吩扃 | 提高代码的可移植性 |
| 编译器团队 | 实现语法、优化代码、建复兼容问题 | 让尺度规定真正可执行 | 决定诊断信息和现实机能 |
| 库作者与开发者 | 构建库、提交反馈、验证设计 | 检验职能是否适合真实项目 | 推动工具和实际成熟 |
C++尺度化为何必须依附集体决策
C++尺度化必要在表白能力、兼容性、机能、安全性和实现成本之间反复平衡。。。。。。。。一个设计即便语法优雅,,,,,也可能增长编译器职守;;;;;一个职能即便方便,,,,,也可能粉碎旧代码;;;;;一个抽象即便理论上美满,,,,,也可能难以在分歧硬件和操作系统上维持一致行为。。。。。。。。
- 提出问题:开发者、库作者或编译器团队先指涌现实需要,,,,,例如并发、文件操作、领域处置或编译期推算能力不及。。。。。。。。
- 形成提案:提案通常必要注明语法、语义、使用场景、兼容性影响和实现方向。。。。。。。。
- 公开会商:分歧参加者会从机能、可读性、异常安全、ABI兼容和讲授成本等角度提出批改定见。。。。。。。。
- 实现验证:编译器和尺度库团队尝试实现职能,,,,,借此发现规范中可能存在的歧义。。。。。。。。
- 进入尺度:经过多轮审议后,,,,,职能才可能成为正式尺度的一部门,,,,,随后还要经历编译器支持和现实项目检验。。。。。。。。
C++尺度委员会的作用不是替某位作者完玉成数代码,,,,,而是把分散的需要转换为可验证、可实现、可移植的共同规定。。。。。。。。委员会中的分歧成员可能代表编译器厂商、软件公司、钻研机构或开发者社区,,,,,他们的定见并不总是一致,,,,,尺度往往正是在弃取中形成。。。。。。。。
开发者社区若何持续改写C++
现代C++的发展离不开真实项主张持久反馈。。。。。。。。金融系统、游戏引擎、浏览器、嵌入式设备、科学推算平台和基础设施软件,,,,,对延长、吞吐量、内存占用以及跨平台能力有分歧要求,,,,,这些场景会不休露出说话规定和库设计中的现实问题。。。。。。。。
- 编译器反。。。。。。。。分歧编译器对新尺度的支持速度和诊断方式,,,,,会援手开发者发现规范表白不清或实现难题的处所。。。。。。。。
- 库实际反。。。。。。。。尺度库和第三方库的使用经验,,,,,会影响资源治理、迭代器、领域、并发和谬误处置等设计。。。。。。。。
- 项目经验反。。。。。。。。大型代码库中的构建功夫、二进造兼容、模板膨胀和守护成本,,,,,会反过来影响新职能是否值得参与。。。。。。。。
- 教育与工具反。。。。。。。。教程、静态分析器、调试器和代码体式化工具,,,,,会扭转开发者理解和使用说话的方式。。。。。。。。
C++社区的集体贡献不愿定都体此刻尺度文本中。。。。。。。。大量成熟的编程习惯、资源治理模式、接口设计准则和工具链实际,,,,,都是开发者在持久项目中逐步验证出来的经验。。。。。。。。
“17c.c++:并非一人之笔”该当怎么理解
“17c.c++:并非一人之笔”并不是要否定Bjarne Stroustrup的汗青职位,,,,,而是提醒读者分辨“沉要提议者”和“全数作者」剽两个概想。。。。。。。。一幼我能够提出决定性方向,,,,,另一群人掌管实现尺度,,,,,再由更宽泛的社区验证、建改和传布,,,,,最终形成一门持续演进的说话。。。。。。。。
从这个角度看,,,,,C++更像一座持久扩建的城市,,,,,而不是一次性实现的构筑。。。。。。。。早期说话思想组成地基,,,,,C++设计者搭起重要结构,,,,,尺度委员会造订公共规定,,,,,编译器与库团队铺设路路,,,,,全球开发者则用真实项目检验构筑是否不变。。。。。。。。“一段逾越世纪的集体智慧赞歌”并非单一建辞,,,,,而是对C++发展方式的正确概括。。。。。。。。
人民网校对:张宏民(iz3aFheokR2jkPZP80yFHoy8DIAjz0iAWS)
关注公家号:人民网财经
分享让更多人看到






























微信扫一扫


第一功夫为您推送权威资讯
报路全球 传布中国
关注人民网,,,,,传布正能量