初試攻略丨“從入門到放棄?”新手如何入門編程

【聲明:本文為原創(chuàng)文章,未經(jīng)同意,嚴禁轉(zhuǎn)載和抄襲,違者將追究其法律責任】
/?寫在前面的話?/
初試攻略,考研初試方法論都在這里。
對于計算機專業(yè)的學生來說,只要代碼熟練,再學一門編程語言就是一下午看看語法、寫一遍示例代碼的事,所要做的事就是找一篇用的順手的教程學一下;對于C++學的比較好的工科生亦是如此。
有學編程需求的人有很多,但不是所有人都有這樣的編程基礎(chǔ)。有些同學是為了工作,有些同學是為了跨考計算機,而還有些同學是因為北大軟微CAT專業(yè)課換了為了應(yīng)對考研那50分的編程題。
這些同學的特點是:幾乎沒有任何編程基礎(chǔ),或者上過編程課但學的很一般。面對朋友圈里鋪天蓋地的廣告“再不學Python就晚了”一陣焦慮,面對市面上的書籍、網(wǎng)絡(luò)上的博客、B站的視頻往往就是“購買/收藏 --> 然后再也不看”,結(jié)果發(fā)現(xiàn)自己一頁書、一集視頻都沒看過、學了半天只會寫”hello world”,完美地經(jīng)歷了“從入門到放棄”,通稱“吃灰黨”。
當你面對如此多的資料、教程,陷入迷茫與不知所措時,證明你現(xiàn)在急需的不是一份完美到包治百病的教程,而事實上這樣的教程也并不存在。你急需的,其實是一份“新手村指南”或者說是“練級指南”——即使是玩游戲,游戲的官方也會提供新手練級指南,更何況編程呢?
今天給大家寫內(nèi)容就是這樣一份“練級指南”??梢院茏孕诺卣f,跟著這份練級指南,雖然不能保證你秒變“大神”,但可以保證你脫離小白,走出新手村!
考研路上遇到的問題和對考研的疑問,或者你有希望我們創(chuàng)作的文章/內(nèi)容/視頻,可以隨時聯(lián)系小蘇。

01
清理一波吃灰的收藏夾
沒錯,在正式學習前,你要清理一波收藏夾!
打開B站、知乎等網(wǎng)站,當你翻到收藏夾一欄后,看看創(chuàng)建收藏夾,里面收藏了多少“有用的知識”?是不是收藏之后就“看都不看”了?

整理收藏夾的一開始通常是痛苦的:“這個回答明明很有用、那組視頻老師講的好好耶,所以我收藏起來了”?!叭f一這個回答被答主刪了怎么辦?萬一這個視頻因版權(quán)問題我再也找不到了怎么辦?”我可以用暢銷書《斷舍離》中有這樣一句話回答你:“不管東西有多貴,有多稀有,能夠按照自己是否需要來判斷的人才夠強大。能夠放開執(zhí)念,人才能更有自信?!?/strong>那個高贊回答的確是人間珍寶、那組視頻的確有口皆碑,可你“看都不看”,它對你就是“無用”的。所以不如狠下心來把“無用”一次性刪掉。
在不確定要留下哪些東西時,或者“都不想刪”的時候,我建議你還不如一口氣清空收藏夾,并且以后收藏東西時一定要慎重。小蘇建議:看到覺得不錯的回答,記在本子上不如記在心里,用收藏夾收藏起來不如記在本子上;看到覺得不錯的教程視頻,你先規(guī)劃一下看不看、怎么看,再決定是否要收藏一下。
如果實在想保留其中一些的話,怎么辦?
以下有幾條建議:
(1)?每個收藏夾中最多留3條收藏,不要比3條多,而且一定要是你會堅持看下去的視頻、回答;
(2)?起一個立Flag的收藏夾名,每天上號的時候只從這個收藏夾中打開學習的內(nèi)容,并且真的堅持看完。就像這樣:

一句話總結(jié):對自己狠一點,把收藏夾該清空的清空,該刪除的刪除。你不是開圖書館的,戒掉那個會讓你焦慮的“收藏怪”、“吃灰黨”習慣,“看都不看”的東西不要輕易收藏!
02
沒有完美的教程,正如沒有包治百病的藥
為什么第二小節(jié)要起這么個標題?因為,即使好評如潮的各色書籍、網(wǎng)絡(luò)教程、博客,也必然會有一些批評的評論,甚至是一星差評??梢杂小皬娜腴T到精通”的教程、書籍,但絕對沒有“從入門到大神”的教程,正如秦始皇即使派出徐福和幾名童子,也找不到長生不老的仙丹一樣。所以,這里我想告訴你的是不要片面的尋找“完美”、“0差評”的教程,因為你不能尋找根本不存在的東西。
那么,如何選擇一套教程呢?以下幾個方面供參考:
首先,盡量選擇視頻而非書籍。
因為書籍動輒幾百頁甚至上千頁,而且無聲音、沒有互動,再有毅力的人也有可能“從入門到放棄”。比如經(jīng)典的Java書籍——《瘋狂Java講義》,一本書有889頁,買回來都可以臨時當枕頭一用的書,在拿到它的那一刻你便心生畏懼,心想“我怎么可以看的完呢”。于是就這樣“從入門到放棄”了。

而視頻正相反,精美的課件、課件上精煉的文字、老師的及時講解,讓本來索然無味的靜態(tài)內(nèi)容動起來,比白紙黑字更有意思。當然,美中不足的是不論是各類慕課也好,B站也罷,都是預(yù)錄制的視頻,欠缺互動,無法做到“手把手教你”。如果有一套視頻結(jié)合講義或者直播課程,能像老師傅一樣隔著網(wǎng)線“傳幫帶”,那是不是更好呢?尤其是對于今年備考北大軟微CAT的文科生們,一套好的直播課、一個“傳幫帶”的老師,能讓你在備考過程中事半功倍。小蘇的CAT語言信息綜合的編程部分課程就是這樣一門課,你,要不要考慮一下?
其次,根據(jù)需求及要求選擇語言。
如果是非科班出身,強烈建議從Python入門。如果是應(yīng)付CAT專業(yè)課的的50分編程,那更要選Python了。至于原因,倒不是營銷號每天在吹的“年薪50萬,人工智能專用語言”,而是簡單,真的簡單,而且?guī)缀跏侨f金油。相比起C、C++需要寫int main()才能輸出”hello world”,Java則必須考慮類,Python只需要簡單的一行代碼就可以實現(xiàn)。而且Python是動態(tài)語言,不需要考慮在變量前定義類型,無形中簡化了很多操作。說它是萬金油,是因為除了眾所周知的AI在用Python外,Web開發(fā)有Python開發(fā)的后端框架Django、Flask,爬蟲也幾乎都是Python,非常實用。
最后,要選擇一套新手友好的視頻或者博客教程。
怎么選呢?首先看名聲,當然,我不是要你把所有有名的Python課程全放在你的收藏夾里,而是多看幾家的評論、討論。比如廖雪峰的Python教程,雖然好評如潮,但差評中給差評的理由多為“對小白不友好”,那作為新手還是要慎重考慮一下。再比如B站上廣為流傳的嵩天老師的MOOC,雖然話有點啰嗦,但評論內(nèi)容多是“對小白友好,適合入門”,那,心動不如行動,跟定了。
還有一句話要送給你:沒有包治百病的藥,但只要選定一套視頻,注意是僅一套,堅持下去,必有收獲。
03
最重要的是,要動手寫代碼
雖然在上一部分我否定了看書學習這一方法,但在這一章節(jié)我還是想強調(diào)一下讀書的作用。
如果你選擇的視頻指定了配套教材,那么你還是毫不猶豫地買下來吧,畢竟有老師帶著你看書的效果比自己單純看視頻或者單純看書來的更好一些。對于書中的示例代碼,我的建議是自己動手實現(xiàn)一遍。
如果沒有配套教材,那你還是可以對比幾本教材,買一本好評比較高的書,當做隨用隨取的技術(shù)字典用。比如小蘇自學Java的時候就入手了一套英文版的《Java核心技術(shù)(Core Java)》作為補充,而我主要的學習來源是廖雪峰的Java教程。書中的內(nèi)容不必全看,而應(yīng)該這樣看:
如果是初學者,可以看完視頻或者博客后再翻翻書的對應(yīng)章節(jié)鞏固知識;
如果已經(jīng)脫離小白,多看幾遍書的目錄,書籍就作為字典一樣地查詢一下,哪里不會查哪里。

由于我主要介紹的是Python語言,所以我在這里推薦一下Python的“技術(shù)字典”——《Python基礎(chǔ)教程》。這本書最大的特點是Python常用的東西它都講到了,很全面,而且全書的語言也很平實,甚至可以說如果有up主愿意做的話,靠念書本的內(nèi)容都可以出一套Python教程。這本書的用法同樣是當技術(shù)字典用。

04
不懂就搜
由于自學編程不像在學校里有真正的老師指導(dǎo)你,而程序員們普遍不喜歡“能百度的事情去問別人”,所以我在這里提出“不懂就搜”,如果有什么不懂的地方,把你的搜索引擎用起來。初學階段的問題,幾乎100%都可以在網(wǎng)上搜到結(jié)果。
其實這一條最簡單:打開你的搜索引擎(非常不推薦百度,更推薦必應(yīng)或搜狗),輸入關(guān)鍵字,打開第一頁的頭五條搜索結(jié)果,必有解決方案。
例如,我想找一下print()函數(shù)如何實現(xiàn)換行輸出,我可以在搜索框輸入關(guān)鍵詞:python print 換行,顯示結(jié)果如下:

然后我們點進第一條搜索結(jié)果,如下:

完美解決問題。
在沒有老師的情況下,充分發(fā)揚“不懂就搜”的精神,也是學編程的必備技能哦~

怎么樣~上面的練級方法是不是很實用呢?再好的方法也要身體力行啊,畢竟,“實踐是檢驗真理的唯一標準”嘛。
希望各位編程萌新們早日打出新手村,脫離小白!

