Re: [分享] 超簡單C++基礎速成密技
討論一下,參考就好,要噓也歡迎。
個人認為書單毫無疑問,具蠻大參考價值,
重點是 damody 提供了「一個月快速學會 C++」的願景,
比網路上一本書:「21天學會 Visual C++」的願景來得實際、可靠多了,
不過不是每個人一天都可以切出12小時出來就是了。
如果切出來了,一個月又學不會的話... 嗯.. 那再學一個月吧,
這只是願景、目標而已。就像學校的課程規劃只是計劃,
實際上達成率可能是 33%~150%, 不一定,除非它不是第一次開課...
※ 引述《damody (天亮damody)》之銘言:
: 一. 把 c++ primer(盡量是最新版) 先看過一遍
: 二. 把 c++ 標準程式庫 c++ standard library 看過一遍
: 三. 把 effective c++ 看過一遍
這三本書是好書,我推,但我認為這三本書往往是給
「學過一次」、「一知半解」,或本身都在寫 C,
然後 C++ 是在論壇看別人討論,看久就會一點 的人看的。
但個人這二年接了近十位程設家教到現在 (嗯,我努力不藏私,避免誤人子弟),
有幾個是「二補數」、「命令提示字元」、「記憶體、CPU 是幹嘛的」都不懂,
就算是相關科系,有玩電腦、有學過計概、有學過數位邏輯設計,還拿超高分,
但就是沒辦法跟程式語言的運作做連結,這種情況也很常發生。
光是前三章就講了近十二個小時 (第三章是資料型態)
(講些計概、命令提示字元、程式設計師的自我修養二、三章),
但說實在話,前三章的範圍幾乎已經是學校一次期中考範圍了,
也許可能是我上得太深入了點,
但翻開 Primer,講到二補數、記憶體、depend on machines 的章節應不在少數,
這些真的不用教嗎?我是很怕到時候教起來很像荒唐鏡一樣跳來跳去,
效果很差,所以寧願講深一點 ( IEEE754 也講 ),也不要跳到最後被包龍星打。
然後別人都請家教了,
不教 IDE 怎麼用、怎麼 Debug、怎麼用 Tools,好像就是做老師不對了。
如果一天 k 12 個小時,我的課程時數也是12小時,這些真的可以在一天學完嗎?
我是不這麼認為。
C++ Primer 也是我早期向學生推的用書,但後來學生告訴我,
他們很認真看,但很沒感覺,有點像是在看英文文法,
然後沒有實際的文章做參考 (意思是嫌例題不多,或感覺不夠實際),
當然我不會吐槽他們不認真還是書念太少,畢竟每個人的
學習曲線 和 學習遞減率 本來就不一樣。
小聲說,國內有本中文 C++ 寫的真的算不錯,深度學習 C++ 2e <子由>,
這本書的學習模式是以大量的範例做為例證,由於作者為數學系教師,
所以蠻多題目和數學有關 <是好是壞就看個人了>,
和 Primer 相較之下,這本書真的是初學者比較能接受的書,
也是我覺得還 ok 的書,至少沒有翻譯問題,用詞遣字也不會造成誤解,
但後半段較 Primer 弱一點是真的。
: 先把上面三本看完的原因是,新手常常一邊看書一邊練習,
: 可是難免不會用到後面的章節才會介紹的功能,
: 然後就會有問題,不如先把遊戲規則看完,再進行遊戲,
: 既可以省時間問別人,又不會讓人一直被你煩到胃痛,真是一舉數得,
: 上面三本書都看完後,正常人大約花了兩個禮拜了吧?
: 如果很認真的看,可能一個禮拜就看完。
可能我不是個好的指導者,如果是短期需求的話我也會請他這麼做,
常常也是有案臨時要學個程式語言,結案後連環境架構怎麼做的都忘了;
但我常常是一個題目要求多做法去完成,像99乘法表3種;
質數 7種;檔案處理那些又要求更多 <字串處理本來就有很多方式>,
然後我又叫別人做 re-develope 的動作:
cstring 的東西 implement 10 個函式 (讓學生自己挑,一定會挑到不好寫的),
個人認為有些東西針對「真正的初學」,沒有反覆練習與操作,應該蠻難熟練的。
: 四. http://zerojudge.tw/ 高中生解題 基礎題庫做 50 題 競賽題庫做 20 題
: 花個一個禮拜,把 C++ 的語法熟悉一下
: 五. 軟體建構之道第二版 code complete 2 看過一遍
: 六. 大話設計模式 看過一遍
: 以上應該足以應對學校的研究(使用C++實作)。
: 七. 心情好可以把 C++大型軟體設計 看完
: 相較於其它傳產,我個人覺得C++的入門門檻真的是超低
可能每個人對於「入門門檻」的定義不一樣,
小弟對於入門門檻的定義是:有一個想法(或拿到一份演算法)後,
除了能夠 implement 出來之外,對於自己寫的程式,
在 (效能、維護、擴充) 三方面,自己能感到滿意(自己滿意不代表是最好就是了),
常見的情況是明明知道有比較好的效能、設計模式,
但自己卻做不出來或不會做,這部份我認為光看上面七本書的話..
目標似乎還是有點遙遠 (當然又回歸到了入門門檻的定義不同),
我甚至不知道一位新鮮人每天工作寫程式,他要寫多久之後才會「自認」自己會寫程式。
: 總之,像C++這種看了幾本書,再打打鍵盤就能入門的能力
: 不學一下嗎?
這裡我想補一下,重點應不是哪些書,而是看完書之後做出了什麼東西出來?
或是為了什麼目的而看哪些書 (學程式語言總是為了 implement 某些東西才存在)
沒有目的或動機 的學習往往收不到好的成效,像是加入 AGDP 也是一個不錯的目的 :)
--
「自從我學了 C# , 人都變聰明 , 考試都考一百分」
「自從我學了 VB , 皮膚都變好 , 人也變漂亮了 」
「自從我學了 Java , 明顯變壯 , 個子也變高了 」
「自從我學了 C++ , 內分泌失調 , 頭都禿了... 」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.76.161
→
09/19 21:27, , 1F
09/19 21:27, 1F
推
09/19 22:30, , 2F
09/19 22:30, 2F
→
09/19 22:35, , 3F
09/19 22:35, 3F
推
09/19 23:05, , 4F
09/19 23:05, 4F
→
09/19 23:13, , 5F
09/19 23:13, 5F
推
09/19 23:17, , 6F
09/19 23:17, 6F
→
09/19 23:35, , 7F
09/19 23:35, 7F
→
09/20 01:17, , 8F
09/20 01:17, 8F
→
09/20 01:18, , 9F
09/20 01:18, 9F
→
09/20 12:11, , 10F
09/20 12:11, 10F
推
09/20 23:08, , 11F
09/20 23:08, 11F
→
09/20 23:08, , 12F
09/20 23:08, 12F
推
09/22 01:30, , 13F
09/22 01:30, 13F
推
09/22 17:53, , 14F
09/22 17:53, 14F
討論串 (同標題文章)