作者spider391 (小乖)
看板C_and_CPP
標題Re: [問題] 爬過文...買書問題
時間Sun Feb 7 12:35:59 2010
: 小弟原本是想直接訂購
: 大家所推薦的 primer
: 但是有的說很難 有的說 不適合沒碰過語言的
: 小弟的狀況是
: 會fortran 想學C++
: 在圖書館借過一本C語言入門 大概懂一些不同之處的語法
: 想在這請各位推薦我一本書
<不小心打了很多(滿紙荒唐言,一把辛酸淚...)
,可以直接看最後的部分>
基本上一般 C 語言的書,重點是強調陣列和指標的部分,
再來是字串的使用。 函式指標(function pointer)很少中文書有提及。
K&R 的 "The C Programming Language" (蔡神有翻中譯本)
有了函式指標的概念後,遇到 C++ 的函式物件(function object)才不會
一片茫然。(小弟當初看到此物花了很久的時間在思考此物是物件還是函式...)
C++ 的書基本上就那兩本聖經本
"The C++ Programming Language" by Bjarne Stroustrup (葉秉哲有翻譯)
"C++ Primer" by Stanly B. Lippman (侯捷有翻譯)
一個是C++語言的發明者寫的,一個是第一個實作出 C++ Compiler 寫的。
這樣大師級的人物寫的書當然要看了。
不過跟板上的大大討論的一樣,這兩本書都不太適合初學者
(抱著死命狂 K 的強者不在此限)。我覺得這兩本有點像是工具書,
畢竟 C++ 語言本身就很複雜(這也是有趣的地方)。
例如我程式部分需要做例外處理 (exception handling),
基本的使用方式我大概不需要書就可以自己打出來,但是如果我要自己寫
自己的 "error class" ,或是在建構式初值列中想要捕捉例外的話要怎麼做,
我就會沐浴更衣,請出 primer,翻到相關章節請求支援 XD
所以剛學 C++ 的其實可以去市面上找些較有親和力的書翻一翻,
比較有 sense 後,在去找上述兩本書來看。
我自己學語言的過程中算是蠻不順的
(也許因為是太晚才當此板的鄉民吧 ╮(﹀_﹀")╭ ),
那時候看的是市面上隨便一本中文的 C++ 教科書,
講來講去都在講 console 程式。於是我對於 GUI (圖形化介面) 程式,
有著莫名的無力感。(也就是完全沒 sense),再來是神祕的 printf or cout,
它到底是怎麼執行的,再來就是我們像我們逛網站的時候常常要下載甚麼 ActiveX,
又或是網路程式,資料庫程式... 甚麼是 makefile fork thread 同步問題是甚麼問題..
那時候覺得整個世界混沌狀態的...
不知道是否有初學者會遇到我這樣的問題。
當初我把上述的功能都推給 C++,那當然會整個搞混。
我沒有把語言和OS切開...
C++ 本身不支援 GUI, thread。不過有個很重要的內建 library 叫做 STL...
至於 GUI,就要用 OS 支援的 API 了 (linux 的情況是用 XWindow,沒玩過 ><")
可以先看此書
"Programming Windows", 5th Edition, by Charles Petzold
玩玩看,這是用 C 語言的方式呼叫 winapi,寫了幾個 win32 程式後,
可以開始玩玩用 C++ 包裝win32api 的 MFC library,推薦的書是
"深入淺出 MFC" by 侯捷
至於應用程式跟 OS 的運作關系
我這裡推薦一本暢銷書,
"程式設計師的自我修養:連結、載入、程式庫" by 俞甲子、石凡、潘愛民
可以告訴你 printf 的來龍去脈,甚麼是 runtime library。
so... 要寫個 real world program 真的是很不容易,
對於初學者來說更是不知道要走向何方...
最近不小心發現一本書,看了之後不禁愴然涕下...
(如果老子剛開始學程式時看了這本書多好...)
"Programming -- Principles and Practice Using C++" by Bjarne Stroustrup
這本書是寫給初學者的,不是工具書,適合重頭讀到尾 (小弟正在品味中)
大師的文筆,嚴謹中又帶些幽默,最重要的是整個書的布局,
慢慢的引導你如何 think as a programmer ...
可惜目前不知有沒有中譯本 (若是翻不好不如看原文)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.19.175
推 softwind:對齁 還有最後一本新出的書 可能可以考慮 至少它是全彩的 02/07 13:00
推 snoopy0907:學C++是一條漫長的路..因為有很多東西值得鑽研 02/07 13:55
→ snoopy0907:小弟也是前陣子才K完PRIMER..目前都在找題目練習 02/07 13:57
→ snoopy0907:建議還是從簡單的書看起~primer適合有基礎的人再看 02/07 13:58
→ snoopy0907:對你難度適中的書..小弟推深度學習C++ 子由老師出的 02/07 14:02
→ snoopy0907:雖然裡面有些部分寫的有點囉唆..但觀念大致還蠻清楚的 02/07 14:03
→ snoopy0907:以前讀過這本..所以接觸PRIMER時還算可以馬上上手~ 02/07 14:05
→ operationcow:Linux用gtk寫GUI application應該比較合適 02/07 14:13
→ dos792:轉qt吧,最近對岸強推。使用者倍數成長 02/07 16:38
推 horngsh:我建議用GTK, QT寫成商業化是要$$的... 02/08 13:27
→ spider391:我最近在用 wxWidgets 可以 source code 跨平台 02/08 16:23
→ remmurds:無論GTK或QT都比MFC好上數百倍 別再陷害新手去學MFC了 02/09 12:52
→ clubboxvista:Qt 已經 LGPL 囉 要好上手建議 PyQt 02/12 23:29