自學(xué)編程,為何你始終不能學(xué)出效果?切記一定要避免這 8 大誤區(qū)!
我知道很多小伙伴都是想通過自己的努力來學(xué)習(xí)好編程!但是呢,又因為種種原因,自學(xué)始終不見成果,那到底是怎么一回事呢?近來有小伙伴就和我討論這個問題。曾經(jīng)我也是自學(xué)過編程一段時間的,所以還是用文字總結(jié)一下這幾點想法,和大家共勉。

誤區(qū)1:必須學(xué)習(xí)最好的語言
或者說,擔(dān)心學(xué)習(xí)到的不是最好的語言。
這也是一年多來和小伙伴們交流的過程中,幾乎提及最多的一個問題。語言其實不分好壞,而只有適合的應(yīng)用場景。想學(xué)什么也結(jié)合自己的興趣領(lǐng)域和目標崗位來定。我覺得后者才是應(yīng)該首先花時間探尋和澄清的東西。
誤區(qū)2:忽略基礎(chǔ),盲目莽進
基礎(chǔ)知識和基礎(chǔ)路線真的非常重要,就以Java領(lǐng)域舉例,現(xiàn)在的應(yīng)用框架實在是太多了,五花八門,層出不窮,迭代的速度太快了。但是假如Java SE的基礎(chǔ)不牢、網(wǎng)絡(luò)協(xié)議和操作系統(tǒng)不熟,基本的設(shè)計模式不了解,那一味地追求學(xué)習(xí)新框架反而會讓自己陷入迷茫與困頓。
基礎(chǔ)牢固,應(yīng)用框架的學(xué)習(xí)自然就不用懼怕了,很快就能切入核心,掌握原理。而且越時髦的東西淘汰也越快,畢竟迭代太快了。
對于編程開發(fā)來說,這里一直在強調(diào)的基礎(chǔ)主要就包括:編程語言本身、數(shù)據(jù)結(jié)構(gòu)和算法、計算機網(wǎng)絡(luò)協(xié)議、操作系統(tǒng)知識、數(shù)據(jù)庫、常見的設(shè)計模式等等,無非也就這些了!

誤區(qū)3:孤軍奮戰(zhàn),封閉學(xué)習(xí)
脫離交流,往往會讓學(xué)習(xí)問題越積越多,最終導(dǎo)致失去興趣,從而被勸退,所以我覺得還是應(yīng)該“走出去”學(xué)習(xí)。
關(guān)于這件事,我覺得我們能做的其實有很多,最最簡單的方式那就是敢于總結(jié)、敢于分享,敢于把所學(xué)所做的東西亮出去和大家一起交流,即使收到的是批評,換一個角度來想,反映的就是自己的缺陷與不足,改進后就是成長。
誤區(qū)4:學(xué)到懷疑自己能力,編程真得靠天分?
有時候?qū)W習(xí)受挫,難免會懷疑自己的能力、懷疑自己的人生與理想,偶爾的心情低落屬實太常見了。
在我個人看來,這東西主要跟你的經(jīng)歷、眼界,以及知識的豐富度有關(guān)。因為初學(xué)者很難看到問題背后的一些東西,眼界也沒有那么開闊。從我個人感受來說,我以前練書時所心心念念的一些困擾和迷茫,隨著知識學(xué)習(xí)的增加,所見所聞的豐富,也自然解惑了。
所以某個程度上來說,這東西也急不得,我們只能靠努力、積累、時間去完成,學(xué)到一定時候你就會不自覺地發(fā)現(xiàn),原來之前的一些疑惑與困頓都豁然開朗了。
我還是堅信一句話:編程開發(fā)目前絕對還沒有到拼天分的地步,不要日常懷疑自己,不要妄自菲薄。

誤區(qū)5:到處搜集資料卻從來不看
好像大家都有一個毛病,那就是到處搜集資源,網(wǎng)盤里很多東西,但是基本從來不看,也不好檢索。
我覺得收集資料沒有問題,但是墻裂建議在入庫的那一刻做好歸類與標記,方便后續(xù)檢索與學(xué)習(xí)。另外也建議盡快規(guī)劃好學(xué)習(xí)路線和時間節(jié)點,把所獲資料和學(xué)習(xí)路線關(guān)聯(lián)起來,扎實執(zhí)行,把資料利用起來才是關(guān)鍵!【要資料?找UP他不香嘛!主頁群熱乎的資料】
誤區(qū)6:代碼總記不住咋整?
代碼真的不是靠記憶的,而是不停的寫、不停的思考,在反復(fù)的練習(xí)中熟練掌握的。即使要記,最終熟記的也應(yīng)該是設(shè)計和編碼上的一些模式和套路,而不是具體的代碼。
千萬不要嘗試用記憶力去替代自己的理解力!
誤區(qū)7:學(xué)了就忘,是不是不適合學(xué)編程?
學(xué)了就忘,是絕大多數(shù)人都有的通病。忘得快主要的原因還是因為沒有用上,缺少實踐和練習(xí)。
所以為了克服這個問題,我們能做的最起碼有:一是多記錄、多總結(jié)、多回顧。對于一個知識或者技能,可以畫成腦圖、或?qū)懗杉夹g(shù)博客,這些都是不錯的形式,后續(xù)復(fù)習(xí)也方便了;另外一點則是需求驅(qū)動,嘗試尋思用所學(xué)的技能去做點小東西,練手非常重要,即使目前沒有好的創(chuàng)意,那也可以多學(xué)習(xí)研究一些優(yōu)秀的開源項目,從中找尋想法和靈感。

誤區(qū)8:非科班以后工作可以做編程嗎?
一年多來,遇到的另外一個很常見的問題就是:我讀XXX專業(yè),有意愿以后從事編程開發(fā),請問可以轉(zhuǎn)過去,或者找相關(guān)的工作嗎?
從個人的經(jīng)歷和所見來看,不管是自己同學(xué),校招認識的小伙伴,還是工作后遇到的同事,專業(yè)背景真的是五花八門,暫且不說像通信、電子、自動化這些專業(yè)背景出身的人來搞編程,甚至連學(xué)地理科學(xué)、機密器械專業(yè)的我也見過,所以從某一程度上來說,這也不算什么。
讀大學(xué)的一個重要作用還是培養(yǎng)獨立學(xué)習(xí)、獨立解決問題的能力,所以編程開發(fā)這一塊,自學(xué)出來的有很多。
PS:好啦,聊了這么多,希望和小伙伴們一起共勉吧,加油就完事兒了!

學(xué)習(xí)C/C++編程知識,提升C/C++編程能力,歡迎關(guān)注UP一起來成長!
另外,UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會對你有幫助的~
歡迎評論、點贊、收藏、投幣、轉(zhuǎn)發(fā)