C/C++語言學(xué)習(xí)的策略

2021-02-10    分類: 網(wǎng)站建設(shè)

斷章取義

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

C++更過份,對程序員來說,至少有百分之七十的內(nèi)容沒有實用價值。

Linux系統(tǒng)也是,命令上千個,對程序員來說有用的不超過50個。

人的精力是有限的,沒必要去折騰那些沒有實用價值的知識點。各位當(dāng)中有些人可能已經(jīng)有基礎(chǔ),會發(fā)現(xiàn)在我的課程中會缺一些內(nèi)容,如鏈表、排序算法、二叉樹、紅黑樹、C++的輸入輸出和流、stl等,缺了是因為這些知識沒有實用價值,學(xué)了之后除了用來吹牛別無用處。

現(xiàn)有的C/C++的教材中,大部分是教授寫出來的,沒有幾本是程序員寫出來的,毫不夸張的說:沒有經(jīng)過實戰(zhàn)的教授在精英程序員面前,始終就停留在小學(xué)生水平。

我學(xué)習(xí)C語言是從譚浩強的《C程序設(shè)計》開始的,這本書過時很久了,譚浩強已經(jīng)仙逝多年,他的書也應(yīng)該隨他一起進入天堂,不應(yīng)該成為出版商賺錢的工具。

《C Primer Plus》和《C++ Primer Plus》這兩本書寫得不錯,作者功力深厚,每本書有1500多頁,拿在手上非常有份量。但是,在我看來,實在是太啰嗦,只介紹知識,沒有重點。

網(wǎng)上也有不少視頻教程,但是,大部分的教程只是把書本上的內(nèi)容搬到視頻中,沒有新意。

培養(yǎng)程序員的感覺

在自然界,每種動物都有它們交流的方式,山中的野雞、樹上的小鳥,如果懂得它們的語言就容易抓住它們,只是普通人不知道而已。

與人類的語言相比,動物的語言非常簡單。

與人類的語言相比,計算機的語言也很簡單,初學(xué)者認為難是因為不適應(yīng),不習(xí)慣。

所以,對初學(xué)者來說,培養(yǎng)寫程序的感覺是最重要的事情。

如何培養(yǎng)程序員的感覺

首先,程序員是寫出來的,不是看出來的。

去過紫禁城的人都知道,不管你有多么聰明,繞多幾個彎,迷路是大概率的事情,但是,那些在紫禁城中搞衛(wèi)生的工人一定不會迷路,是你不如搞衛(wèi)生的工人夠聰明嗎?肯定不是,是你不習(xí)慣,不熟悉。

各位在網(wǎng)上看過的美女圖片或視頻成千上萬,不管看什么樣的美女,你肯定是臉不紅心不跳,但是,如果有一個美女真的出現(xiàn)在你的面前,估計你會手足無措,言語結(jié)吧。

一個知識點,看懂的難度如果是一,自己實現(xiàn)的難度就是三,熟練使用的難度是八,融匯貫通應(yīng)用在項目中的難度是十。就像是練武學(xué)招數(shù),看別人打很容易,自己練習(xí)就難了,各種招數(shù)融會貫通和對手實戰(zhàn),需要時間的積累。那些《從入門到精通》的教材都是屁話,屁話為什么也有人信,原因很簡單,它利用了人性占便宜走捷徑的弱點。如果真的能從《入門到精通》,程序員就不值錢了。

任何事情,不管看多少遍,都不如做一遍。寫程序也是這樣的,編程語言并不難,而是你不了解,不習(xí)慣,不熟悉。有些人還可能會害怕動手。

看別人的程序,看別人寫程序,和自己動手寫程序的感覺是不一樣的,就像網(wǎng)上的美女和現(xiàn)實中的美女一樣,那感覺是完全不同的。

怎么做?行動起來,多寫程序,就習(xí)慣了,熟悉了。開始的時候,寫出的程序很垃圾也沒有關(guān)系,大家都是這么過來的,天賦異稟的人是極少的。就像畫家,我從未聽說某畫家從小就是畫家,他們小時候畫的畫和平常人畫的也沒什么區(qū)別,達芬奇不也是從畫雞蛋開始的嗎。

其次就是應(yīng)用的經(jīng)驗了,應(yīng)用的經(jīng)驗要通過做項目積累。

在有些的C語言教程中,經(jīng)常讓學(xué)生用C語言去做一些與實際開發(fā)無關(guān)的題目,最討厭的是數(shù)學(xué)題,這是大的敗筆,因為要完成這些題,考的是數(shù)學(xué)方面的知識而不是程序員的知識。

我回憶起當(dāng)年我是菜鳥的學(xué)習(xí)過程,詳細了解初學(xué)者的困惑,把C/C++語言的基礎(chǔ)知識做了總結(jié),每個知識點寫一篇文章,約50篇。

在我的教程里,安排了很多課后作業(yè),課后作業(yè)有兩個目標(biāo):一是培訓(xùn)學(xué)生寫程序的感覺,熟悉寫程序的方法;二是鞏固所學(xué)的知識點。還有,我的課后作業(yè)是實際開發(fā)的需求為導(dǎo)向,作業(yè)內(nèi)容是程序員常用知識和編程技巧。

學(xué)習(xí)步驟

企業(yè)對C/C++程序員的需求中,至少70%以上是Linux系統(tǒng)平臺下的C/C++程序員,所以本教程的開發(fā)環(huán)境為Linux,Linux的開發(fā)環(huán)境會讓初學(xué)者不適應(yīng),不習(xí)慣,但這是正確的方向,我不可能為了迎合學(xué)生的喜好選擇windows平臺。

1、基礎(chǔ)知識的學(xué)習(xí)

基礎(chǔ)知識包括C語言基礎(chǔ)、C++語言基礎(chǔ)和Linux編程基礎(chǔ)。

本階段重點在培養(yǎng)寫程序的感覺和介紹C/C++程序員在日常工作中經(jīng)常用到的知識。注意,培養(yǎng)寫程序感覺比C/C++的知識點更重要。

我個人認為學(xué)習(xí)C/C++語言,如果是零基礎(chǔ),最艱難是基礎(chǔ)階段,這時期學(xué)生還不具備程序員的思維,也沒有寫程序的感覺,溝通比較費勁,用廣東話說就是雞同鴨講。

學(xué)生有了寫程序的感覺,上了道,就會慢慢順起來。

基礎(chǔ)知識的學(xué)習(xí)大概需要兩到三個月(全日制)。

學(xué)習(xí)完基礎(chǔ)知識之后,如果你的年齡在23歲以下,我建議你先去找工作,工資低一些沒關(guān)系,只要能養(yǎng)活自己就行了。在我看來,先進入這個行業(yè),有公司給你發(fā)工資,有實戰(zhàn)的環(huán)境,邊工作邊學(xué)習(xí)是最好的方案,生活沒有壓力,學(xué)習(xí)更有動力。(23歲以下的年齡,是大學(xué)生畢業(yè)的年齡,在這個年齡段,不管是哪個學(xué)個畢業(yè)的,大家都是菜鳥,不懂是正常的,如果你在面試的時候表現(xiàn)出積極上進態(tài)度,找個實習(xí)的崗位不是太難的事情。)

如果你的年齡到了25歲,學(xué)習(xí)完基礎(chǔ)知識之后就去找工作可能不好辦,因為你的年齡與能力不符,公司未必會要你。(年輕人不懂很正常,年紀這么大了還不懂就不應(yīng)該)

2、職業(yè)技能的訓(xùn)練

第二階段的學(xué)習(xí)內(nèi)容以實際項目的需求為導(dǎo)向,把學(xué)生培養(yǎng)成職業(yè)的程序員,以能找到工作為目標(biāo),時間大概需要兩到三個月。

在我的課程中,不玩俄羅斯方塊,也不玩打地鼠、貪吃蛇、球球大作戰(zhàn)等無聊的東西。

企業(yè)對C/C++程序員的需求中,數(shù)據(jù)通信、數(shù)據(jù)處理和數(shù)據(jù)倉庫的職位占了至少50%以上。

所以,我們要玩數(shù)據(jù)。

在我的基礎(chǔ)課程中,有socket通信、多進程、多線程的課程,但這些都是基礎(chǔ)中的基礎(chǔ),離實際開發(fā)還差得太遠。

本階段的學(xué)習(xí)以掌握工具的使用為主,包括我的開發(fā)框架和工具,提升socket通信、多進程、多線程和數(shù)據(jù)庫的實戰(zhàn)技術(shù),數(shù)據(jù)庫以O(shè)racle為主(My SQL太業(yè)余),完成一個實戰(zhàn)項目的開發(fā)(數(shù)據(jù)中心項目),還可以擴展到手機APP項目,豐富自己的項目經(jīng)驗。

通過本階段的學(xué)習(xí),大概可以達到我20-30%的功力,技術(shù)水平可以超過三年工作經(jīng)驗的程序員,項目經(jīng)驗約一至兩年。

學(xué)習(xí)完成后,不管你是什么年齡,都去找工作,問題不大。

3、精英程序員

各位在工作之后再來進入第三階段的學(xué)習(xí),在本階段,我將重點介紹我二十年來的實戰(zhàn)技術(shù)和項目經(jīng)驗。主要包括以下方面:

1)提升程序員的工作效率;

2)提升服務(wù)程序的效率;

3)提升服務(wù)程序的穩(wěn)定性;

4)豐富項目經(jīng)驗和實戰(zhàn)技能;

5)突破程序員的瓶勁。

本階段的目標(biāo)是提升程序員的能力,培養(yǎng)以一當(dāng)十的精英程序員。

有沒有萬人敵的技術(shù)? 有,還真有。有這么一句話:流氓不可怕,就怕流氓有文化。如果能理解這句話的含義努力的學(xué)習(xí)文化,你必定成為精英,否則就是程序猿,一世為奴。

初級階段的學(xué)習(xí)方法

1、先把第一章到第十七章的視頻全部看一遍,大概了解一下,因為有很多知識是交叉的,但是不要看課后作業(yè)。

2、再把第一章到第十七章的視頻內(nèi)容學(xué)習(xí)一遍,爭取完成簡單的課后作業(yè)。

3、再再學(xué)習(xí)《gdb調(diào)試》章節(jié),在寫程序的時候會用到它。

4、再再再把第一章到第十七章的視頻內(nèi)容詳細的學(xué)習(xí)一遍,爭取完成全部的課后作業(yè)。

5、之后的內(nèi)容,最好是一步一個腳印走下去,如果有什么不懂的地方,或以向別人請教或在QQ群中提出問題。

6、我的課程內(nèi)容是精心整理的,某些知識點可能沒有提到應(yīng)用場景,但絕對不會是沒用的知識。課程中沒有提到的知識可以了解一下,但不必深入學(xué)習(xí),意義不大。

7、學(xué)習(xí)不要貪快,欲速則不達的道理大家應(yīng)該明白,學(xué)習(xí)的重點是培養(yǎng)寫程序的感覺。

8、不要記筆記,不要記關(guān)鍵字,不要記函數(shù)的參數(shù),忘了就忘了,忘了是因為沒有實戰(zhàn),所以,到了項目實戰(zhàn)課程的時候,忘了內(nèi)容很自然的會全部想起來。

9、不要用手機看視頻,看著看著就想睡覺,學(xué)習(xí)的過程是邊看邊寫,沒有看出來的程序員。趙括,知道不?就是那個空讀兵書的那個不成器的家伙,只看書看視頻不寫程序,和趙括沒什么不同。

10、翹著二郎腿,嘴里叨著煙,揮舞二指禪,一副吊兒郎當(dāng)?shù)臉幼?,是成不了程序員的。

11、可憐之人,必有可恨之處,已經(jīng)過去的就算了,不要埋怨,也不用后悔。端正態(tài)度,現(xiàn)在開始學(xué)習(xí)還來得及。將比別付出更多,這很公平。

網(wǎng)站名稱:C/C++語言學(xué)習(xí)的策略
分享網(wǎng)址:http://www.muchs.cn/news/100224.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)頁設(shè)計公司、域名注冊、自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計公司小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司