View profile

大山姆的機機車車™ #19

Revue
 
▋好久不見!距離上一次發刊,竟然是一年多前的事了!為慶祝復刊,這一期有「贈書活動」,有興趣的讀者,請往下看。👇 今年 C++ 圈最大的新聞非「C++20 標準規格定案」莫屬。C++20 可以說是自 C+
 
April 1 · Issue #19 · View online
《大山姆的機機車車™》電子報
▋好久不見!
距離上一次發刊,竟然是一年多前的事了!為慶祝復刊,這一期有「贈書活動」,有興趣的讀者,請往下看。👇
今年 C++ 圈最大的新聞非「C++20 標準規格定案」莫屬。C++20 可以說是自 C++11 以來,加入最多新功能的一版,其中幾個功能對於 C++ 生態圈未來的走向,有舉足輕重的影響。待各大編譯器廠商支援 C++20 後,未來的 C++ 程式碼如何「質變」,令人期待!
雖然 C++20 了,但開發者別擔心跟不上,C++ 依然是熟悉的 C++,強者不會被廢去武功,新人也不必擔心看不懂。據我多年的觀察,新功能的「發酵期」長達數年,有心人士有足夠時間適應。
幾個較常被討論的 C++ 新功能:
  • Concepts
  • Modules
  • Coroutines
  • Ranges
  • std::format
之後的電子報我會收集與 C++20 有關的資訊,望讀者跟這些新功能「日久生情」,不再陌生。迫不急待的躁進者,可以到這裡看看有哪些新功能。
▋Windows UI Framework
我在上一期(去年的事了)提到:
Microsoft 在 MFC 之後,幾乎停止了 C++ GUI Framework 的開發(ATL/WTL 不算)。
去年 Microsoft BUILD 大會,微軟端出了新技術,有機會解決 Windows 平台上,C++ GUI Framework 欠缺的問題。其中,有幾個技術我特別感興趣:
有了 XAML Islands,你可以在傳統 Win32 應用程式、WPF、Windows Form 裡,放 UWP 元件。藉此幫傳統應用程式續命。
WinUI 目前已經有穩定的 2.x 版,但今年即將釋出正式版的 WinUI 3.0,是微軟未來 Native Application 開發的重要角色。WinUI 使用 XAML 做為 UI 描述語言,經過數年的發展 XAML 在許多場合被重用,例如 Xamarin, NoesisGUI。
今年以前,我們是凡人。今年開始,我們是脆弱的凡人。疫情當前,保護好自己,留下拯救世界的本錢。
我是山姆,《大山姆的機機車車™》是我投注心力製作的電子報,希望透過這份小報,把我感興趣的資訊分享給同樣求知若渴的您。

贈書
Titus Winters,一個我很敬佩的 C++ 職人。他是 Google 的資深工程頭子,也是 C++ 委員會成員。最近出了一本書(應該是他的第一本書)《Software Engineering at Google》,副標是「Lessons Learned from Programming Over Time」。
為紀念大機車報復刊,山姆決定送這本新書給一位讀者。如何獲得這本書呢?
有別於上次贈書,這次採用「Opt-in」的模式,規則如下:
  1. 你必須是本報訂戶
  2. 對該書有興趣
  3. 真的對該書有興趣
  4. 有 Amazon 帳號
  5. 在電子報尾按「👍」並「留言」或寫信至 [email protected] ,表明你對 Titus 的書有興趣
在第 #21 期出刊前,以「抽籤」的方式選出幸運讀者,公告於報頭(以及推特),確認讀者回覆後,方送出 Kindle 電子書。
一本好書 推薦閱讀
一本好書 推薦閱讀
參兩摘
abseil / C++ Tips of the Week
SourceGear | DiffMerge
Collaborative Collection of C++ Best Practices
C++ 人在推特
Introduction  |  C++ Education
Talking C++: An Interview with Bjarne Stroustrup
C++ 17 constexpr 與 Lambda 表達式 | 羅根學習筆記
摘影片
Troubleshooting Memory Problems
Troubleshooting with Process Explorer
C++ and Memory: Between Correctness and Performance
RedHat 工程師 Ulrich Drepper 介紹 C++ 是源自於設計給作業系統的 C 語言,所以延續了管理所有資源的權限,因此 C++ 的封裝行為的內容必須幾乎跟 C 一樣。
C++ 的新功能 atomic 、 vector 、 shared_ptr 都是在讓使用者更容易寫大型系統程式。
By Sidney Niu
C++ and Memory: Between Correctness and Performance
C++ and Memory: Between Correctness and Performance - Ulrich Drepper
Chandler Carruth “Spectre: Secrets, Side-Channels, Sandboxes, and Security”
因為這幾年蠻多快取漏洞像是 Meltdown 之類的,所以安全性問題這幾年抬頭很快。 最好的安全性就是不要讓程式內的快取有可以攻擊的資料。
By Sidney Niu
Chandler Carruth “Spectre: Secrets, Side-Channels, Sandboxes, and Security”
Premake | Game Engine Series by The Cherno
使用 Lua 來設計 Build Script 用以產生各個工具的專案。似乎存在好一陣子了,但我看了這支影片才知道有這款東西。
Premake | Game Engine Series
開源專案
The new Windows Terminal
GitHub - KjellKod/g3log
Boden Cross-Platform Framework
A dbg(…) macro for C++
Port of the xxhash library to C++14.
PowerToys: Windows system utilities to maximize productivity
課程推薦
Unreal Engine 4 Course (Create Multiplayer Games with C++) | Udemy
WorkFlowy Tips
想知道更多 WorkFlowy 撇步,請快步前往 WorkFlowy Tips 。還沒有 WorkFlowy 帳號?請用此連結申請,加倍免費清單上限。
還有還有,我在臉書開了一個以 WorkFlowy 為主題的社團——山姆的 WorkFlowy 大小撇步,歡迎加入分享你最酷的 WorkFlowy 使用技的更多同好!
💌 喜歡這一期的內容,請幫我按「👍」。不喜歡請按「👎」,並寫下你認為哪裡做得不好,你的回饋是我進步的動力。偏愛匿名表心意的讀者,我開了一個「提問箱」,歡迎使用,謝謝!
本報內含 Affiliate Link 連結,透過我的推薦購買相關服務或產品,我有機會從中獲益。我也接受小額贊助,歡迎大家用行動支持我。感謝!
Bon Jovi - Livin' On A Prayer (Official Music Video)
Did you enjoy this issue?
If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue