View profile

大山姆的機機車車™ #1

Revue
 
我是山姆,《大山姆的機機車車™》是我的第一份電子報,希望透過這份小報,把我感興趣的資訊分享給同樣求知若渴的您。 近年來,各家編譯器廠商積極支援最新的 C++ 標準規格,開發進度有時跑得比規格書還要快,許
 
January 15 · Issue #1 · View online
《大山姆的機機車車™》電子報
我是山姆,《大山姆的機機車車™》是我的第一份電子報,希望透過這份小報,把我感興趣的資訊分享給同樣求知若渴的您。
近年來,各家編譯器廠商積極支援最新的 C++ 標準規格,開發進度有時跑得比規格書還要快,許多功能在規格書處於草案階段就已經實現,使得年逾三十的程式語言,老而彌堅,活力再現。
除了 C++ 與科技新聞,我還會推薦好用的工具、書籍,以及線上學習課程。偶爾發發牢騷,寫一寫生活感想。宅男如我,個性內向,以往較少主動與人互動。新的一年,我決定做一些改變。電子報是第一步,另外 PODCAST(播客)也在測試中。
由於受眾未明,創刊號我花了不少篇幅說明 C++ 現況,有了基本的了解後,未來試著解答幾個問題:
  • C++ 能做什麼?
  • 為什麼要用(學) C++?
  • 如何入門以及精進 C++ 技能?
《大山姆的機機車車™》二零一八壹月創刊,HAPPY NEW YEAR!

C++ 現況
C++ 語言規格
C++17 去年正式成為 ISO 標準規格,主流編譯器已經部分支援新的功能,不過,實務上還是以 C++14 規格為主。若不幸使用較舊的編譯器,那麼至少找支援 C++11 的版本,日子會好過一點。
C++11 是新舊時代的分水嶺,人們常以 Modern C++ 統稱 C++11 以及之後的版本。我認為一定要知道而且學會的 C++11 功能有:
  • Lambda
  • Smart Pointer (std::shared_ptr, std::unique_ptr)
  • Rvalue References
  • Delegating Constructors
  • auto
  • nullptr
下一版標準規格暫定 C++20,可能加入的功能有:
  • Concepts
  • Transactional Memory
  • Ranges
  • Modules
  • Coroutine
上述幾項功能會對未來的 C++ 語言帶來不小的改變,保持關注。
編譯器(Compiler)
市面上主流編譯器(主流指的是較常使用與討論,並不全然表示較優秀)以及最新版本:
  • Visual C++ / Visual Studio 2017
  • LLVM 5.0.1
  • GCC 7.2
Visual C++
Microsoft 近年來積極推廣 C++,先前一度因為微軟力拱 C# 而被「冰」起來,但鴨子划水,C++ 這幾年可以說一吐怨氣。C++ 的關鍵人物 Herb Sutter 也任職於微軟,多少可看出微軟對於 C++ 的態度。
由於 Visual Studio 2017 幾乎無痛相容於前版(一直到 2013),我建議新專案一律使用 VS 2017。Visual Studio Community 2017 可免費下載使用最新最強的 C++ 編譯器,不用怎麼對得起自己。
Windows + Visual Studio 是我最常使用的開發工具與平台。
LLVM/Clang
這個開源專案為 Xcode 的預設編譯器,這幾年快速發展,可以說是 macOS 以及 Linux 平台的最佳編譯器。這一年來在 Windows 上取得不錯的進展,微軟在這方面提供不少助力,Visual Studio 2017 也可以設定使用 LLVM 做為其編譯器。微軟近年對於 Windows 以外的平台保持開放態度,現在在 Windows 上也能開發 Android/iOS,以及 Linux 程式。
GCC
我跟他不熟,就,也不錯用的感覺。
參兩摘
Kate Gregory - It's Complicated - Meeting C++ 2017 Keynote
[180] Google's Abseil Project, Part 1
C++ Video - TheChernoProject
選書
Game Programming Patterns
人物誌
Casey Muratori and 《Handmade Hero》
Bartek's coding blog
PODCAST(播客)
CppCast
WorkFlowy Tips
[116] WorkFlowy 也可以是高效的閱讀工具
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