看板 C_and_CPP 關於我們 聯絡資訊
: 我是買C語言教學手冊 第四版 和 C++教學手冊 第二版 (洪維恩) : 我是先把C看完以後再看C++ : 然後我在今天終於看完了C++ : 我在想 我該不該買 c++ primer 4/e : 我想問 我接下來該往哪個方向去走 該往哪個方向走,一路向北嗎?? XD (這也是我剛學程式的時候遇到的困惑) 靠自修學程式需要蠻大的決心與毅力,還要對抗外界酒肉朋友找出遊的誘惑~~ 最好的情況是能夠找到工作,藉由工作的壓力,可以很快的入手 (至少前輩會幫你把執行環境都架好 ~~),再來由工作的內容再去學相關的 知識相輔相成。 看完那兩本書有空虛的感覺是當然的... 至少 C++ 不是光看一本書就能夠熟練的。(我現在大概同時在看三四本書) 我這邊提供幾個方向: 1. 如果以後工作想寫 driver,可以玩玩組合語言 參考書籍: Assembly Language for Intel-Based Computers, 5th Edition http://kipirvine.com/asm/ 可以學到簡單的計算機架構、高階語言是如何用組合語言實作出來的、如何使用 中斷、如何在 C++ 中使用組合語言。 2. 想寫圖形介面軟體: C++ 的標準 I/O 只有 iostream,沒有提供圖形介面, 所以需要學習使用第三方 Library,像是 wxWidgets, MFC , QT , OPENGL .etc 當然學習 Library 也不是一蹴可幾,要看一大堆文件, 有時看了因為沒有範例碼也不知道怎麼用。 我推薦我目前在玩的 wxWidgets http://www.wxwidgets.org/ wxWidgets 下載後 samples 資料夾內有大量的程式碼範例。 絕對沒有時間讓你空虛,包含資料庫,網路,圖片,以及各種元件的使用範例 配合 CodeBlocks IDE 來玩更是如虎添翼。 不輸 MFC 他的 tutorial 還有一個俄羅斯方塊程式, 可以研究它是如何用物件導向的方式去寫 3. 想要寫網路的話: 這個我不是很熟,不過可以從寫個聊天室開始,也是開是玩 linux 的一個好契機 可以找 Cormen 的書,學習如何使用 socket API。 4. 其他... n大:我覺得語言只是實現想法的工具 重要的反而是背景知識。 這句話很正確,想要實現想法,不管用 C 、 C++ 、 Java 、 C# 都可以。但工具也是要熟練才是,畢竟工欲善其事,必先利其器。 不必說很計較所有語法的細節,要用在查就可以了,例如 C 的浮點數格式表示法... (IEEE 754?? 我考完是馬上還給老師) 但是其中的概念要有 (至少知道怎麼文件要如何看) 這也就是說,如果連基本的二補數概念都沒有,那... 有些基本功要有,推薦此書 "程式設計師的自我修養:連結、載入、程式庫 " http://etaitbook08.pixnet.net/blog/post/30108377 這本書把整個程式執行的流程講得很清楚,讀完此書,以後遇到 編譯錯誤時,大概心底就有個譜了。 如果想把 C++ 學的好,那就要把 STL 給弄很熟 (資料結構的書要先看過) 會用 STL 後,應該就會覺得寫 C++ 是件很快樂的事情XD 有一堆書要看我推薦侯捷翻譯的 "泛型程式設計(Generic Programming)與 STL" (圖書館應該有QQ) 這本把 STL 的基本觀念講得很清楚。(正在 K 中...) STL 熟了以後,就可以玩傳說中的 boost 了,用了 Regex 的類別你就不會再碰 perl 了 (科科),或是進入神奇的 Functional Language :lambda ... 另外除了 C++ 和其標準函式庫,對於開發環境的熟悉也很重要 你每次編譯都要按滑鼠嗎? 你注解一行一行的 key "//" 嗎? 每次開發新的專案都要重新設定 include path 以及 library 嗎? "快速鍵"的使用也是很重要的 (如果魔獸很強的話,應該是很容易上手) 這樣會讓你覺得寫程式有點類似鋼琴般的迷人 (debug 時不在此狀況) 這樣學習 C++ "基本"工具,我想沒有一兩年砸下去是很難的, 這也是迷人的地方吧~~ 除非像是 knuth 這類的好像天生下來就會寫所有的程式 (嘆) "The Art of Computer Programming" 這本書不知道何時才可以規畫開始看(殘念) ====================================== 程式員是條不歸路 但我依然要走下去 ====================================== -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.7.64
Arim:推 02/17 16:19
doncr:推 02/17 17:20
andyisman:寫ACM配STL真是輕鬆又愉快 ( ̄▽ ̄)/ 02/17 19:08
VictorTom:寫driver不一定要用asm, 大型的driver更是大部份的code 02/17 20:32
VictorTom:多是C/C++這種high level的code, 甚至firmware也差不多; 02/17 20:33
VictorTom:相對的, BIOS也許用到asm的機會更多一些@_@" 02/17 20:33
clanguage:現在大概只有bios跟寫DSP的人比較會用到asm了 02/17 20:41
VictorTom:CD完忘了回來補推....XD 02/17 21:10
softwind:靠自修學ASM是天方夜譚~ ASM需要的背景知識更多阿 02/17 22:10
suhorng:我就是自修ASM的啊... 02/17 22:16
suhorng:只怕有心人 02/17 22:16
snoopy0907:自己也想請問各位有沒有推薦用linux寫程式的書? 02/18 01:02
monkeyting:回樓上,Linux就直接抓code回來讀了,通常書都是工具了 02/19 00:08
monkeyting:太特別的東西也不會教到,自己多google別人的經驗... 02/19 00:09
monkeyting:嗯…寫driver已經是高手中的高手了,要會的domain 02/19 00:11
monkeyting:knowledge是如此的廣… 02/19 00:12