C/C++語言的學習策略

一、斷章取義

C語言出現50年了,有很多內容已過時,至少有百分之二十的內容沒有實用價值。

C++更過份,至少有百分之七十的內容沒有實用價值。

Linux也是,命令上千個,對程序員來說常用的不超過50個。

人的精力是有限的,對於不常用的知識,瞭解概念即可,不要去折騰。在我的教程中缺了鏈表、位操作、排序算法、二叉樹、紅黑樹、C++的輸入輸出流、C++模板、C++異常等,這些知識沒有實用價值,除了用來吹牛別無用處。

現有C/C++語言的教材,大部分是教授和講師寫出來的,在身經百戰的程序員面前,沒有經過實戰的教授和講師始終停留在小學生水平。

網上也有不少視頻教程,大部分的教程只是把書本上的內容搬到視頻中,沒有新意。

二、培養程序員的感覺

我喜歡看動物世界,高級的哺乳動如獅子,低等的昆蟲如密蜂,它們都有自己的語言。與人類的語言相比,動物的語言非常簡單。但是如果您對動物的語言沒有研究,完全看不懂。

與人類的語言相比,計算機的語言其實也很簡單,初學者認爲難是因爲不適應,不習慣。

所以,對初學者來說,培養程序員的感覺是最重要的事情。

程序員是寫出來的。

去過紫禁城的人都知道,不管您有多麼聰明,繞多幾個彎後,迷路是大概率的事情,但是,紫禁城清潔工人一定不會迷路,是您不如清結工人夠聰明嗎?肯定不是,是您不習慣,不熟悉。

各位在網上看過的美女圖片和視頻無數,任何網上的美女不太可能讓您臉紅心跳。但是,在現實生活中,如果有一個美女真的出現在您的面前,估計您會手足無措,言語結吧。

任何事情,不管看多少遍,都不如做一遍。寫程序也是這樣的,編程語言並不難,只是您不瞭解,不習慣,不熟悉。

看別人的程序,看別人寫程序,和自己動手寫程序的感覺是不一樣的。

怎麼做?行動起來,多寫程序,就習慣了,熟悉了。開始的時候,寫出的程序很垃圾也沒有關係,沒有天生的大佬,大佬剛開始的時候都是菜鳥。

三、學習策略

1、計算機基礎知識的學習

如果您不是計算機相關專業或零基礎,建議先學習計算機基礎和計算機網絡基礎兩方面的知識,這些基礎知識包括了很多常識性的內容。

學習這兩方面的知識的時候,不要深入理論,不要學習算法,看不懂就算了,不要糾纏。

計算機基礎知識主要包括以下內容:

1)計算機歷史。

2)計算機的應用領域。

3)二進制、十進制、十六進制的基本概念。

4)計算機總線、外部設備。

5)計算機軟件、操作系統基本概念。

6)學習時間不超過20小時。

7)推薦視頻 https://www.bilibili.com/video/av80537766

計算機網絡基礎知識主要包括以下內容:

1)計算機網絡的基本概念。

2)局域網、廣域網和互聯網。

3)ISO參考模型。

4)TCP協議(粗略的瞭解一下UDP)。

5)IP地址、網關、子網掩碼、DHCP協議。

6)萬維網和HTTP和HTTPS協議。

7)電子郵件和SMTP 協議。

8)文件傳輸協議FTP。

9)遠程登錄協議(以ssh爲主,瞭解telnet)。

10)學習的時間不必超過30小時。

11)推薦視頻 https://www.bilibili.com/video/av70228743https://www.bilibili.com/video/av9876107

2、Linux操作系統的學習

企業對C/C++程序員的需求中,70%以上是Linux系統中開發,Linux的開發環境可能會讓初學者不適應,不習慣,但這是正確的方向。我們學習的目標是成爲C/C++程序員,不是Linux系統管理員。作爲一個程序員,只需要熟悉Linux操作系統環境,掌握常用命令就可以了,主要包括以下內容。

1)Linux系統簡介。

2)Linux系統的安裝。

3)遠程登錄命令(以ssh爲主,瞭解telnet)。

4)Linux常用命令,注意,Linux的命令上千個,常用的約50個,能看懂多少就多少,看不懂的就算了,與程序員相關的Linux命令我會在教程中提到。

5)Linux用戶和組的管理。

6)Linux文件系統。

7)Shell基礎,注意,Shell可以很複雜,Shell腳本也是一種編程語言,但是,我們是C/C++程序員,一般不會採用Shell編寫腳本程序,運維人員使用Shell腳本比較多。

8)Linux進程方面的基礎知識。

9)Linux防火牆配置。

10)學習的時間不必超過50小時。

11)推薦視頻 https://www.bilibili.com/video/av18156598

3、C/C++基礎知識的學習

本階段的重點是培養寫程序的感覺和掌握C/C++語言的基礎知識,**寫程序感覺比C/C++語言的知識點更重要。**非計算機專業的大概需要兩到三個月(全日制),計算機相關專業的需要一個月。

學習完基礎知識之後,如果年齡在23歲以下,建議您先去找工作,工資低一些沒關係,只要能養活自己就行了。先進入這個行業,有實戰的環境,邊工作邊學習是最好的方案,生活沒有壓力,學習更有動力。(23歲以下的年齡,是大學生畢業的年齡,在這個年齡段,不管是哪個學校畢業的,大家都是菜鳥,不懂是正常的,如果面試的時候表現出積極上進態度,找個實習的崗位不會太難。)

如果您的年齡到了25歲,學習完基礎知識之後就去找工作可能不好辦,因爲年齡與能力不符,公司未必會錄用(年輕人技術不好很正常,年紀大了還只是掌握基礎知識就不應該)。

4、職業技能的訓練

在很多C/C++語言教程中,把貪吃蛇、俄羅斯方塊、打地鼠、球球大作戰等程序當成項目實戰,太過兒戲;或者用黑客入侵、網絡攻防、遊戲外掛等內容來吸人眼球,這些程序的源代碼網上到處都是,程序員玩這個不多,程序員是普通人,掌握的是謀生的技能,特工是電影題材,不是真實的生活。

本階段的目標是通過項目實戰,把學生訓練成滿足企業需求的職業程序員,時間大概需要四到六個月,因人而異。

本階段的學習內容主要包括freecplus框架、Oracle數據庫和網絡通信,完成數據中心和手機APP服務端兩個項目的開發,約兩萬行的代碼量。

通過本階段的學習,您將成爲合格的程序員。

5、學習要買什麼書

這是一個互聯網的時代,書本上有的內容網上都有,如果有疑問,百度一下,比翻書更快,內容也更豐富。有些人可能會說書本的知識更全面,更系統化,這完全是胡扯,因爲如果某書真的那麼好,把書本上的內容搬到互聯網上來實在太容易,掃描、拍照、打字都行。

這世界上沒工葵花寶典,沒有易筋經,更沒有從入門到精通的捷徑,您需要的是學習的決心和意志。

九、版權聲明

C語言技術網原創文章,轉載請說明文章的來源、作者和原文的鏈接。
來源:C語言技術網(www.freecplus.net)
作者:碼農有道

如果文章有錯別字,或者內容有錯誤,或其他的建議和意見,請您留言指正,非常感謝!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章