有些朋友給我留言說,興緻滿滿的開始自學編程,但是拿到一堆書,卻不知道從哪開始,最後的結果就像下面這個圖:
下面結合我之前的學習經曆,如何從零基礎慢慢提高。
1.首先,給你的學習編程一個重要的意義
做任何事情前,你都要首先明白為什麼要做?這個理由不是學校開了某個編程課,你為了應付考試。或者看到其他人都在學,你沒事幹,也學下吧。這都是盲目的表現,就好比你追一個女孩,不是因為她家有錢,最重要你追她的原因是:你真的喜歡上了她。
所以從一開始,就給自己的學習定一個大的意義,這會讓你不會中途放棄。而且能帶給你前行的動力。
我當年學習編程,是因為覺得未來很多互聯網的行業都于編程有關,意識到這是個基本技能,而且技能在手,不會哪天餓死街頭。同時,編程的世界很純粹,不像其他行業需要很多關系去維護,要想往上爬,的整日琢磨如何混好。但是,在編程的世界裡,全靠技術說話:你行就行,不行就不行。
而且現在是人工智能時代,編程已經變成了像excel那樣每個人都需要掌握的技能,你覺得學校編程意義大不大?更重要的是,學會編程你的收入概率會比其他人高。
2.如何選擇你人生的第一個編程語言
很多人一開始是對編程有興趣的,但是之前很多大學一上來就教C,C 。裡面複雜的内容,也讓很多人從入門到放棄。到最後連興趣都沒有了。沒有興趣是最可怕的敵人。
如果你是剛開始學編程,選一個比較人性化的編程語言,我建議從Python開始。它足夠簡單,而且容易上手。而且現在連小學生都開始學python了。
我們再看看各大兵器排行榜上的python排名,它已經是人工智能的第一編程語言。相信它的火熱程度還會持續升溫。
3.選擇一本經典的書進行系統學習
很多人一開始為了追求快速,會選擇一些比如xx天學會Python,xx天學會機器學習的書。這些書看上去高大上,其實是在誤導你。世界上哪有xx天就能學會的,記住一條原則:越是有價值的知識,越難學,不然很多人都能學會了。
一般來說,一本書要比公衆号的文章系統性強,一本某個領域的經典教材要比很多快銷書系統性強。一個系列課程要比一次1小時的分享系統性強。所以從一開始就擺正心态,不要急于速成,有時候慢就是快。有了這個心态,就老老實實選一本這個行業經典的書,最好是國外的書。
既然在這個領域你是新手,就不要指望自己能把散落的信息整合成系統了,那是高手要做的事情。要想系統地學習,那就踏踏實實地拿出幾個月的時間來,看幾本這個領域的經典書,選一門系統課,或者跟着一個系統學習過的老師把這個領域的骨架摸清楚。
你又不比别人聰明幾倍,卻想用幾分之一的時間,就掌握人家花了好長時間下了硬功夫,系統掌握的知識,怎麼可能呢?先接受一個已經存在的系統,再在上面修修改改,對于新手是最适合的方案。
3.選擇一個有界面的編程環境
很多編程的書,一開始安裝後,都是教你在命令台下寫代碼。面對這麼一個黑洞洞的東西,你的興趣又降下來了。
一開始編程不要在這個不友好的命令行下做。而是找一個集成開發環境(IDE),在裡面敲代碼。人對有界面的東東天然有好感和興趣。比如學習Python,一開始用notebook就很容易敲出代碼,而且運行結果也能實時的反饋給你。
當然最開始要做的事情就是先把環境搭起來,開始輸出你人生的第一行代碼:“Hello World”。這是簡單的第一步,但是對于很多完全自學的同學都非常難了。好事情是,現在網上很多教程可以幫助到你。
4.重要的事情說三遍:多敲代碼
編程是門手藝活,什麼意思?就是你的多練習。這就好比,一個懂得再多泡妞理論的單身狗,都沒有一個談過戀愛的人,更懂得如何追女孩。
不要光看書,或者光聽課。要多撸代碼,在實踐中成長。遇到不明白的地方,就多聯系生活中的事情就類比想明白了。比如我在學習數據結構:隊列,不明白的時候,就聯想到了餐廳外婆家的排隊叫号系統,就立馬明白了。
其實編程中很多東東,都是為了解決現實生活中的問題,所以很多知識都能與現實生活中的實際事情對應起來。
5.學會記筆記
很多人剛開始學編程以往裡面的很多東西都要記住,其實這是錯誤的做法。
不用去記住這些代碼,理解代碼比記住代碼更重要。這裡我們能理解代碼是幹什麼用的就可以了。如果後面用的時候忘記了,反過頭來知道在哪查找答案就可以了。這是學習的重要思想之一:知道在哪查找答案比記住更重要。
很多時候你感覺自己學會了,但是其實并沒有掌握。我個人解決這個問題的辦法就是記筆記。記筆記不是簡單的羅列知識,而是将學到的知識,用自己的語言整理出來。同時,記筆記還能通過輸出倒逼你的輸入。下面是幾個寫實踐筆記的讨論,對你應該會有幫助:
6.學會使用搜索引擎
剛開始學習編程,看到代碼報錯,就會茫然失措,腦子中立馬閃出一個'funck'。
其實解決編程代碼問題也是有套路的,這個套路就是:
能不用百度就别用百度,你要學會在宇宙第一大搜索引擎,和全球最大的技術問答平方:stackoverflow上搜索問題的答案。
一切的學習都是學習能力的提高。對于編程,真正的高手,就是遇到問題能從搜索引擎中找到答案。
7.多看大牛的技術專欄
平日多關注這個領域頂尖高手的技術專欄(博客),選擇你認可的人成為你心目中的榜樣和導師。因為導師可以降低你加入一個新行業的成本,幫助你熟悉環境和行業規則,也會鼓勵你完成心理方面的轉變。
同時你也要 建立新的學習社交網絡。如果你周圍沒有和你同樣喜歡學習編程的人,會阻礙你的進步,更糟的是,有的人自己學不會,還會嘲笑你。過去的人脈關系會阻礙你的前進,因為他們是以過去對你的認知來評價你。感謝這個互聯網時代吧,你可以在網上找到志同道合的朋友和你一起前進,新領域的人脈,會給你提供各種各樣新的機會和情感支持,幫助你融入。
人都是都是“快感型”物種。再加上學編程是一個長期的過程。所有需要你自己列個長期計劃,并把長期計劃分成段目标,每個目标完成後給自己進行激勵。
8. 比知識更重要的是什麼?
如果你有機會去互聯網工作,就會發現你不會一直用一種編程語言工作的。很多時候,新項目來了,需要用新的技術,這時候老大會讓你快速學會這個知識,然後在項目中應用。我之前做過的不同項目用到的編程語言來就有5種,而且是邊學邊用的。
回過頭來看,比知識本身更重要的是你的學習能力。那什麼是學習能力呢?
學習能力其實就是你能夠做到“學什麼會什麼”。
有學習能力和沒有學習能力的人差别是很大的。這就好比,你玩《王者榮耀》花錢找人替你通關,和你自己拼個人能力通關,所習得的技能和體驗是完全不一樣的。
提高學習能力的至少關鍵知識是什麼呢?
其實就是兩點:
1)習慣使用搜索引擎的能力
2)不做伸手黨的能力
這兩個能力看起來簡單,但是長期養成卻很難。
投機與投資的差别就是投機看重的是短期的股票漲跌,而投資看重的是一家公司長期的發展,希望你在學習編程的路上采用的是“投資”戰略,并且培養了自己的學習能力。加油,你并孤獨。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!