2022年1月13日 星期四

Thriving in a Crowded and Changing World: C++ 2006–2020 簡體中文版本

在拥挤和变化的世界中茁壮成长:C++ 2006–2020

原文版本在此: https://www.stroustrup.com/hopl20main-p5-p-bfc9cd4--final.pdf

這篇論文在介紹 C++ 2006–2020 的語言發展歷史, 和 The Design and Evolution of C++類似, 我很喜歡電腦語言的發展歷史內容, 拜簡體中文版本, 終於可以一窺其貌。

我整理成 epub, 轉成繁體中文, 修改某些術語為台灣術語, 這部份沒有改的很好, 還是會有一些是中國用語, 有電子閱讀器 e-ink 讀起來會很舒服。

https://github.com/descent/Cxx_HOPL4_zh/tree/epub/zh_tw
直接下載 cxx.epub

第 3 章介紹了 c++ 標準委員會的組織架構, 還蠻龐大的。

4.1.1 介紹了 c++11 記憶體模型

第六章 - 概念 (concept) 的說明非常精彩, 從有 template 開始, Bjarne 就有考慮到這個問題, 沒想到一直到等到 c++20 才有這個功能, 這章說明了其中的心路歷程, 經過了什麼樣的討論, 最後被退回, 再次的努力, 終於在 c++20 有了 concept, 背後的辛苦難為人知。

Bjarne 說不要區分 template function, 讓 template function 看起來就樣一般 function 一樣, 而委員會有蠻多人持反對意見, 本來我也覺得讓 template function 看起來不要像一般 function 比較好, 但好像也沒必要去區分是吧?

c++17 可以這樣寫 pair p2 ("Hi!"s,129); 好威, 就不需要寫出角括弧 pair<string:int> p2; 語法看起來簡潔很多。

cfront source code:
http://www.softwarepreservation.org/projects/c_plus_plus/
http://www.softwarepreservation.org/projects/c_plus_plus/cfront/release_e/cfront1985.zip

沒有留言:

張貼留言

使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。

我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。