Re: [問題] c程式學習步驟

看板C_and_CPP作者 (永遠睡不著 @@)時間9年前 (2015/05/15 18:56), 9年前編輯推噓9(9015)
留言24則, 6人參與, 最新討論串2/2 (看更多)
之前從事了 C/C++ 相關基礎課程的教學大概有五六年, 接觸到大部分都是有心想學但是非本科系的學生。 如果你只是想學一個程式語言,我覺得 C/C++ 不是個好選擇。 如果你不知道為什麼想徹底的學會 C/C++,建議的曲線大概是: [C 語言] * 計算機概論 - 基礎知識, 主要是對於電腦結構運作抽象化、資料數位化以及運算有基礎認識 - 通常會帶一點編譯器和作業系統的觀念 * C 語言程式基礎 - 學會自己看懂標準函式庫的文件並可自由應用為目標 * C 語言程式進階 - 這階段就是學習怎麼學會使用第三方函式庫, 例如 SDL, OpenGL, OpenCV, GTK+ 之類, 應該牽涉到比較進階的概念跟使用慣例, 例如 C 風格封裝、函式指標與位 元運算 * 演算法和資料結構以 C 語言實作 - 我覺得演算法不太應該跟資料結構分開學 - 語言方面主要是加強遞迴使用、指標和動態記憶體配置的概念 [C++ 語言] * 計算機概論 - 所需要的基礎可以比 C 語言再少一點,因為有更強大的標準庫。 * C++ 語言中與 C 較接近的部分 - 雖然我相信很多人會覺得應該直接學 C++ 風格的設計, 但是教學實務上我還是覺得有很大的困難。 同時我也信奉 C 風格設計是 C++ 使用上的一種可能, 要透徹了解 C++ 在 "目前" 我覺得了解 C 跟 C++ 的差異還是有必要。 * 基於物件的 C++ 程式設計 - 主要學 C++ 風格封裝。 * C++ 與物件導向 - 主要學物件導向的語法,建議是實作某些大型系統,例如 GUI。 * 設計模式與 C++ 程式設計 - 主要學物件導向在實務系統上的應用 * C++ 泛型程式設計 - 用 C++ 實作資料結構 (泛型容器) 跟泛型演算法 - 之前的教學經驗就是直接自己實作 STL * 其他學不完的東西 - 例如例外之類的,但是實務上重要性目前還是不夠高,這類的東西在 之後的 C++ 可能又會有些改動,因此重要性就往後一點。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.122.83.198 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1431687381.A.0E7.html ※ 編輯: Feis (140.122.83.198), 05/15/2015 19:14:32

05/15 23:31, , 1F
寫程式是需要毅力與耐心
05/15 23:31, 1F

05/16 15:26, , 2F
OpenGL 拿來練 C ... 好像有點怪吧 XD
05/16 15:26, 2F

05/16 15:40, , 3F
怎麼說? 我覺得 OpenGL 是蠻標準的 C 風格函式庫設計
05/16 15:40, 3F

05/16 15:42, , 4F
神秘的全域函數, callback, 霧一般的記憶體配置, 猜不透的
05/16 15:42, 4F

05/16 15:42, , 5F
堆疊實作. 各種 MACRO
05/16 15:42, 5F

05/16 15:42, , 6F
真的通透的話, 以後用其他函式庫應該都不會怕 xD
05/16 15:42, 6F
※ 編輯: Feis (140.122.83.198), 05/16/2015 15:56:25

05/16 22:31, , 7F
!! @Feis , 言下之意 , 您是否認為 global variable 是種
05/16 22:31, 7F

05/16 22:31, , 8F
C++ 使用 C 的風格之一?
05/16 22:31, 8F

05/16 23:44, , 9F
OpenGL 沒有 callback,glut 不能算
05/16 23:44, 9F

05/16 23:44, , 10F
EdisonX: 有點難回答. 這問題是同等於 C++ 用 global
05/16 23:44, 10F

05/16 23:44, , 11F
variable 是否萬惡嗎 ?
05/16 23:44, 11F

05/16 23:46, , 12F
Bencrie: 抱歉. 也許我該嚴格定義他
05/16 23:46, 12F

05/16 23:47, , 13F
也許我們應該先定義好甚麼是 OpenGL XD
05/16 23:47, 13F

05/16 23:53, , 14F
我發現我好像會錯意 ... 以為是要拿他當 API 設計參考
05/16 23:53, 14F

05/16 23:54, , 15F
Bencrie: 我不想再學一個像 OpenGL 家族的東西了 Orz..
05/16 23:54, 15F

05/16 23:55, , 16F
OpenAL 跟 libdevil XD
05/16 23:55, 16F

05/16 23:58, , 17F
感謝. 我會記得離他們遠點的 (握拳)
05/16 23:58, 17F

05/17 00:01, , 18F
這兩個其實沒那麼複雜,只是寫起來很像(命各種名也是
05/17 00:01, 18F

05/17 00:03, , 19F
各種命名
05/17 00:03, 19F

05/17 00:04, , 20F
樓上這是個 1A3B 阿.
05/17 00:04, 20F

05/18 14:02, , 21F
OpenGL跟DX都是同一個設計風格啦... XD
05/18 14:02, 21F

05/18 14:02, , 22F
真的要說完全C++風格的 只有在wrap一層 比方說Ogre
05/18 14:02, 22F

05/18 14:03, , 23F
但是事實是這就是紅不起來...
05/18 14:03, 23F

05/18 17:53, , 24F
推 演算法跟資料結構是一體的 不該分開學
05/18 17:53, 24F
文章代碼(AID): #1LLT3L3d (C_and_CPP)
文章代碼(AID): #1LLT3L3d (C_and_CPP)