半瓶醋的 C++ 教學(第零章):前言
緣起:
在下絕對稱不上一個強者。但強者通常都忙於開創偉大的事業,小弟剛好有這個機會能夠把所學整理一下,雖然不強,卻有很多想法,正好印證了「半瓶醋響叮噹」這句俗話,這也就是這 title 的由來。
Do’s and Don’ts:
我們不企圖成為《C++ Primer》或是《The C++ Programming Language》的網路版本,一來是坊間已經有許多書籍在做類似的事情,二來即便是網路上其實也已經有許多很不錯的 tutorial 了,我會將我覺得不錯的整理起來,但不會做那種重造輪子的事情…
我們打算講解的是一個巨觀的認識,尤其對初學者來說應該如何起步會有 step by step 的詳細介紹,尤其是一般單純講語言的書籍不會提到的與外部環境與工具的統合性介紹,以及對初學者很重要的觀念的導正。比方說用什麼工具來開發程式比較方便,用什麼東西來 debug 等等,也會提供 programming style 的一些 resource,一些 design 的直觀認識。進階的議題,比方說 boost 或是 functional programming, metaprogramming 也會帶到。
所以與其說是教學,不如說是圍繞著 C++ 編程方面的網路資源的匯整,再加上不算太強的小弟我的一些意見與想法。當然許多想法難免有太過武斷或是有所疏漏的地方,歡迎您在文章底下留言,或是寄個信跟我討論都行。
目標族群:
主要是針對完全沒有編程經驗的初學者入門之用,或是單純想要了解編程這個領域的朋友,本文主要針對 C++,但許多觀念是共通的。對於中級或上級程度的朋友在進階議題應該也有幫助,再者,觀念或喜好沒有絕對,小弟也很希望能夠跟網路上的強者互相討論。
行文風格:
本身忘性比較好一點,所以很多想法想到了就會先記下來以免忘掉。有時行文會稍嫌 casual 以及散漫一些請多包涵,小弟會不時加以 review 並 refine。也請您不時回過頭來看看已經看過的文章喲,除了 refine 之外也常常會加點新東西進去。
預計會寫到的東西:
- 入門書、入門網路資源
- 什麼是編程?為什麼要編程?
- Programmer 的氣宗與劍宗之辨
- 編程語言的概觀與選擇。編程語言的軍團論,C++ 就像重裝甲兵團。何謂魔幻語言
- 開發環境的準備。Linux: Cygwin or Ubuntu
- Step by Step:我的第一支 C++ Program 萬世一系不敗經典 Hello World
- 有了基本功之後再來如何學習。書籍與線上資源的再串連
- STL、boost
- 其他常見 Library 整理。GUI 方面、數值運算方面等等。
- Progarmming Practice: Code Complete
- OO 的再思考:Design Patterns & Refactoring
- Functaional Programming & Metaprogramming
- 與其他語言的整合。Python + SWIG
- 手癢?ACM、SourceForge.net、Google Summer of Code
Tags: C++, ProgrammingArt



[...] Hello World 本質上是一支連玩具都稱不上的程式,但透過寫作,她可以讓我們了解編程的最基本流程,並確認環境設定無誤。我記得自己剛開始編程的時候對環境的設定反而比較苦手,不知道什麼部分該用什麼,不然就是知道該用什麼卻必需一直辜狗;相較之下,語法的部分一開始超簡單,看看書沒兩下就懂了,所以在這邊,如同第零章所述,我想補的是一邊書籍的不足,語法部分就請大家在第一章的推薦書籍之中自修一下。 [...]