大山姆的機機車車™ #4

我是山姆,《大山姆的機機車車™》是我的第一份電子報,希望透過這份小報,把我感興趣的資訊分享給同樣求知若渴的您。 ༺ 山姆菜單 ༻ 除了電子報外,我的 YouTube 頻道 於日前發佈了第一支影片,從零開始,目標是每週推出兩部影片,主題圍繞在 程式設計 與 軟體開發 ,初期以撰寫程式碼時所面臨的難題與抉擇切入,這樣的 細節說明(微觀) 有時候用文章難以精確表達我的想法,而影片則可以盡情揮灑,我叫它《說碼解意》——用白話文講解程式碼的寫法及其背後的思惟,逐漸累積養成以 宏觀 視角看待軟體開發的專業能力。 當然,主菜之外還會搭配小點,如 WorkFlowy 教學,好用的工具介紹與評測等。歡迎讀者來函

大山姆的機機車車™ #4

我是山姆,《大山姆的機機車車™》是我的第一份電子報,希望透過這份小報,把我感興趣的資訊分享給同樣求知若渴的您。

༺ 山姆菜單 ༻

除了電子報外,我的 YouTube 頻道於日前發佈了第一支影片,從零開始,目標是每週推出兩部影片,主題圍繞在程式設計軟體開發,初期以撰寫程式碼時所面臨的難題與抉擇切入,這樣的細節說明(微觀)有時候用文章難以精確表達我的想法,而影片則可以盡情揮灑,我叫它《說碼解意》——用白話文講解程式碼的寫法及其背後的思惟,逐漸累積養成以宏觀視角看待軟體開發的專業能力。

當然,主菜之外還會搭配小點,如 WorkFlowy 教學,好用的工具介紹與評測等。歡迎讀者來函,給我指教與靈感。


人物誌

Kenny Kerr (@kennykerr)

Creator of C++/WinRT • Engineer on the Windows team

在買 Windows Clippings 前就知道鬍子K(取綽號我超愛,如先前的凱特大嬸)這號人物,他寫的 C++ 程式碼獨樹一格,WC 的截圖功能設計貼近我的需求,愛不釋手。可惜後來賣給了人,易手後幾乎停止開發,Windows Clippings 似乎成了孤兒。後來因為使用上有問題,寫信給 Windows Clippings 團隊,因緣際會取得了 Windows Clippings 原始碼,稍加研究,才會有前頭說的「鬍子K的 C++ 程式碼獨樹一格」的說法。

後來 Windows UWP 推出,鬍子K開發了一個 Modern C++ for the Windows Runtime 的專案,強調以 Modern C++ 來開發 Windows 10 UWP 更符合「人性」(這是我的解讀)。Modern C++ for Windows Runtime 把 Windows Runtime C++ Template Library (WRL) 包裝得更像人類用的函式庫。鬍子K後來被 Microsoft 吸收,並且把 Modern C++ 送進了 Windows SDK 而且保持開源。據說下一版 Windows SDK 就會正式納入 C++/WinRT。

鬍子K在 Pluralsight 上的課程相當不錯,還沒有看過的人,我建議利用免費三個月的 Pluralsight 體驗,看一看鬍子K的課程

參兩摘

Editor's Note - Outside In: How Kenny Kerr Brought C++/WinRT to Microsoft

Kenny Kerr 為 MSDN 雜誌撰寫專欄,去年有一期介紹 C++/WinRT,去年初該雜誌訪問鬍子K,說明加入微軟的過程與面臨的挑戰。

C++ - Introducing C++/WinRT

這篇文章介紹 C++/WinRT 的用法並提供範例。WinRT 與 COM 的關係密切,可以說 WinRT 是基於 COM 的架構開發而成的加強版,也是 Windows UWP 的核心組件。

C++/WinRT and the Future of C++ on Windows

這支影片說明 C++/WinRT 的架構與設計理念,看完後會更清楚 C++/WinRT 的角色與能力,以及未來的發展。

Competitive Coding - CppCast

這一集聊的是幾個線上解題網站的運作方式,有 LeetCode, HackerRank, topcoder 以及 Codeforces。C++ 在有執行時間限制的題目中,近乎作弊地狂電其他程式語言。沒辦法,有些運算咱們在編譯時期就了結了,Python 之流怎麼比得上 ✌

⚠ 絕對不要在 Header File 裡使用 using namespace!

要不要在 Source File (.cpp, .cxx, .cc) 的開頭處使用 using namespace 是一種選擇;在 Header File (.h, .hpp) 裡使用 using namespace 則是禁忌,打破禁忌者,無法成為專業的 C++ 程式設計師(我說的)。至於為什麼有人寧願不在 Source File 前頭用上 using namespace std; 來節省「字數」甚至讓程式碼更美觀?請看影片

[embed https://youtu.be/4NYC-VU-svE?t=2m14s]

A cake for your cherry: what should go in the C++ standard library?

C++ 有一個流派,提議將 2D Graphics Library 納入 C++ STL,他們認為此舉有助於推廣 C++。我認為立意雖美,卻是自討苦吃,標準委員會不應該採納此提案。前幾天看到這篇文章,寫得真好,可以說是面面俱到的反駁了將 2D Graphics Library 納入標準函式庫的提議。簡單羅列如下:

  • 現下 C++ 標準制訂時程為三年一期,委員會光是審手上的提案就累得跟狗一樣了,2D Graphics Library 的規模之大,委員會吃不下了。
  • 承上,委員會的資源有限,每一項提案皆有排他性。審 2D Graphics Library 提案的資源拿來處理更重要的提案,不是更好?
  • 市面上大咖編譯廠皆有自己的 STL 實作版,要是 2D Graphics Library 納入 STL,各家廠商有自己的實作,這不一定好事。
  • C++ 是高度跨平台的系統語言,而不同平台的繪圖架構差異甚大,是要怎麼標準化啦。

Java Magazine, Jan/Feb 2018

以 C++ 為主題的電子報談 Java 是怎麼回事情?其實重點不在 Java,而是 Static Typing vs. Dynamic Typing 語言之爭。本文觀察新十年新興的程式語言,並提出 Dynamic Typing 語言逐漸式微的結論及其原因。痛快!

Sam's YouTube Channel

我的第一部影片以 JUCE 搭配 Catch Unit Test 示範簡單的單元測試以及字串處理工作上的需求。請留意,這不是 TDD。我僅單純展示 Catch 的最簡單用法,影片要解決的問題是由 Pnputil.exe 的執行結果取得 INF 檔案名稱。

我計劃每週推出影片,初期主題圍繞軟體開發與 WorkFlowy 教學。以 TheChernoProject 風格為模仿對像,邊做邊調整,以摸索出自己的風格。歡迎讀友提供建議,謝謝!

開源專案

WorkFlowy Tips

[121] WorkFlowy+QR code=真實世界的數位入口 – WorkFlowy Tips

我在《勞基法清單》用了這個技巧。本文譯自 WorkFlowy Guru Frank 發表於官網的文章,介紹了許多有趣的生活應用,值得一讀。

The sky's the limit。發揮想像力,簡單如 WorkFlowy 這類工具結合其他應用也能玩出好把戲。

想知道更多 WorkFlowy 撇步,請快步前往 WorkFlowy Tips 。還沒有 WorkFlowy 帳號?請用此連結申請加倍免費清單上限

還有還有,我在臉書開了一個以 WorkFlowy 為主題的社團——山姆的 WorkFlowy 大小撇步現在人很少,快來助拳!

跳過也沒關係的區塊(工商服務)

The Framer book - An eBook course for learning how to build prototypes with Framer

這是一本不太便宜的電子書,要價 $99 鎂,ePub 格式,除了文字還有短片,教你一步步進階 Framer。咦?在 C++ 電子報提 Framer 是怎樣?這本書今年一月內容翻新,如果你身邊有設計師好友或同事,可以推薦給他。重點來了,做這事對你有什麼好處?

由於該書是透過 Gumroad 銷售,該通路支援 Affiliate Link,所以你可以寫信給作者,詢問是否願意提供該書的 Affiliate Link 協助推廣他的書。至於是否願意以及可獲得的回饋成數,皆由作者決定。喔,如果你剛好有興趣買這本書,底下是我的 Affiliate Link,謝謝!

💌 喜歡這一期的內容,請幫我按「👍」。不喜歡請按「👎」,並寫下你認為哪裡做得不好,你的回饋是我進步的動力。想要匿名舉報的話,我開了一個 Sarahah,歡迎使用,謝謝!

本報內含 Affiliate Link 連結若干,也就是我有機會從中獲益,賺點奶粉錢,希望有朝一日能因此日進斗金(誤)。若對這樣的作法有疑慮,請讓我知道或者直接退訂也行,我不會介意,你請別生氣。