View profile

大山姆的機機車車™ #1

Revue
 
 
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?
In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue