Re: [問題] 我自學C++ 接下來我該怎麼走

看板C_and_CPP作者 (小乖)時間16年前 (2010/02/17 15:19), 編輯推噓7(709)
留言16則, 9人參與, 最新討論串5/9 (看更多)
: 我是買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

02/17 16:19, , 1F
02/17 16:19, 1F

02/17 17:20, , 2F
02/17 17:20, 2F

02/17 19:08, , 3F
寫ACM配STL真是輕鬆又愉快 ( ̄▽ ̄)/
02/17 19:08, 3F

02/17 20:32, , 4F
寫driver不一定要用asm, 大型的driver更是大部份的code
02/17 20:32, 4F

02/17 20:33, , 5F
多是C/C++這種high level的code, 甚至firmware也差不多;
02/17 20:33, 5F

02/17 20:33, , 6F
相對的, BIOS也許用到asm的機會更多一些@_@"
02/17 20:33, 6F

02/17 20:41, , 7F
現在大概只有bios跟寫DSP的人比較會用到asm了
02/17 20:41, 7F

02/17 21:10, , 8F
CD完忘了回來補推....XD
02/17 21:10, 8F

02/17 22:10, , 9F
靠自修學ASM是天方夜譚~ ASM需要的背景知識更多阿
02/17 22:10, 9F

02/17 22:16, , 10F
我就是自修ASM的啊...
02/17 22:16, 10F

02/17 22:16, , 11F
只怕有心人
02/17 22:16, 11F

02/18 01:02, , 12F
自己也想請問各位有沒有推薦用linux寫程式的書?
02/18 01:02, 12F

02/19 00:08, , 13F
回樓上,Linux就直接抓code回來讀了,通常書都是工具了
02/19 00:08, 13F

02/19 00:09, , 14F
太特別的東西也不會教到,自己多google別人的經驗...
02/19 00:09, 14F

02/19 00:11, , 15F
嗯…寫driver已經是高手中的高手了,要會的domain
02/19 00:11, 15F

02/19 00:12, , 16F
knowledge是如此的廣…
02/19 00:12, 16F
文章代碼(AID): #1BUvY0Xx (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 5 之 9 篇):
文章代碼(AID): #1BUvY0Xx (C_and_CPP)