以下描述我學(xué)習(xí)一門編程語言的基本流程。
維基百科
首先通過wikipedia了解這門編程語言的前世今生邢享,重點(diǎn)包括:
- 為什么需要發(fā)明這門語言侨赡?(判斷價(jià)值)
- 它和其他語言的與眾不同之處摇庙?(判斷特性)
- 有哪些大公司和知名的項(xiàng)目用了這門語言胆剧?(判斷生命力絮姆,是否值得學(xué))
- 它做那些領(lǐng)域特別合適?(判斷優(yōu)勢(shì)領(lǐng)域)
- 在他最適合的領(lǐng)域秩霍,分別有哪些著名的第三方庫篙悯?(判斷自己的學(xué)習(xí)路徑)
- 有哪些重要的版本?(確認(rèn)自己開始的版本選擇)
選擇操作系統(tǒng)
基于語言特性铃绒,選擇合適的操作系統(tǒng)鸽照。如果是學(xué)習(xí)swift,要用mac颠悬。學(xué)習(xí)Java就無所謂移宅。新購電腦或者用虛擬機(jī)就可以。
選擇開發(fā)工具
常見的開發(fā)工具基本上都支持各種語言椿疗。只需要選擇自己喜歡的即可。如果完全是小白糠悼,Visual Studio Code是很好的選擇届榄。如果是老鳥,當(dāng)然用你最順手的(我是Sublime的忠實(shí)粉絲)倔喂。
官網(wǎng) & Hello World
去這門編程語言的官網(wǎng)铝条。先去download搞定語言環(huán)境的安裝。
然后去看看Doc下面的Beginner Guide席噩,可否讓自己至少吧hello world寫出來班缰。
同時(shí)看看官網(wǎng)的官方教程是否是自己喜歡的風(fēng)格,如果不喜歡悼枢,或者英文不太好埠忘,可以往下找更好的教程。
制定一個(gè)目標(biāo)
一個(gè)編程語言可以完成很多工作。開始學(xué)習(xí)切忌貪多莹妒,找一個(gè)明確的方向去做名船,帶著問題學(xué)習(xí),事半功倍旨怠。目標(biāo)一定是一個(gè)對(duì)自己或他人有價(jià)值的渠驼、可實(shí)用的程序。例如:
- 一個(gè)手機(jī)上使用的記事本鉴腻;
- 一個(gè)照片庫迷扇;
- 一個(gè)可以關(guān)注指定股票變化的網(wǎng)頁;
- 一個(gè)可以自動(dòng)記錄自己運(yùn)動(dòng)時(shí)間和距離的App爽哎;
- ……
“可以投入實(shí)用”蜓席,是個(gè)很重要的標(biāo)準(zhǔn),反復(fù)在hello world的層次重復(fù)倦青,是無法真正學(xué)到東西的瓮床。基于這個(gè)任務(wù)目標(biāo)产镐,確定你要未來一段時(shí)間的學(xué)習(xí)范疇隘庄。
搜索學(xué)習(xí)路徑
將這個(gè)語言的名稱和學(xué)習(xí)范疇一起輸入google,看看有沒有結(jié)果能提供你學(xué)習(xí)路徑的信息癣亚。關(guān)鍵字例如: “Python 數(shù)據(jù)分析”丑掺, “Java 分布式”。很可能你能從知乎述雾、簡(jiǎn)書街州、gitbook等等看到一些關(guān)于編程語言在這個(gè)領(lǐng)域的學(xué)習(xí)路徑。本人就是用這樣的方式找到了很多前輩畫的思維導(dǎo)圖玻孟,幫助我迅速理解如何在這個(gè)領(lǐng)域快速學(xué)習(xí)唆缴,達(dá)成目標(biāo)。
搜索一個(gè)教程
如果在上一步能找到一個(gè)靠譜的學(xué)習(xí)路徑黍翎,那么一定會(huì)有一些教程的推薦面徽,可以考慮。
或者:輸入這個(gè)語言的名稱匣掸,看看google結(jié)果中有沒有比較靠前的教程趟紊。如果有,去瀏覽一下碰酝,很可能不錯(cuò)霎匈。培訓(xùn)機(jī)構(gòu)的廣告就算了(萬一是新生大學(xué)的,一定要進(jìn)來看看)送爸。
或者:去w3cschool.cn這個(gè)網(wǎng)站看看對(duì)應(yīng)的教程是否合你的胃口铛嘱。
最后暖释,還有在前面看到的語言的官網(wǎng)上提供的官方教程。
四個(gè)方式找到的教程弄痹,挑一個(gè)最喜歡的饭入,開始干吧。
快速寫代碼肛真,學(xué)起來
個(gè)人的習(xí)慣谐丢,屏幕分成兩半,教程放在左邊蚓让,編輯器放在右邊(如果用sublime乾忱,則在右下方放置終端窗口)。泡一杯茶或咖啡历极,舒舒服服的對(duì)著教程快速練習(xí)吧窄瘟。特別需要注意的,雖然教程里面會(huì)有很多代碼趟卸,但是哪怕一模一樣的代碼蹄葱,你也要在自己的編輯器里面敲一邊,不要簡(jiǎn)單的拷貝粘貼锄列,因?yàn)槟呐率菍?duì)著敲一遍代碼图云,你也可能遇到錯(cuò)誤并促使你找到解決方案。
按照學(xué)習(xí)路徑邻邮,逐步深入
只要你夠堅(jiān)持竣况,一般20個(gè)學(xué)習(xí)小時(shí)之內(nèi),你應(yīng)該能掌握這門編程語言的基本語法筒严。一些深入的東西不必在意丹泉,以后遇到了在學(xué)。夠用就行鸭蛙,而夠用的標(biāo)準(zhǔn)摹恨,就是你可以看懂下一個(gè)階段需要接觸的代碼。
例如你在學(xué)習(xí)Python后娶视,接著學(xué)習(xí)Web開發(fā)晒哄,如果Django教程中的實(shí)例代碼你能看懂(看懂即可,不需要了解運(yùn)行結(jié)果)歇万。說明第一階段的學(xué)習(xí)已經(jīng)基本夠用了。繼續(xù)下一階段的學(xué)習(xí)就行了勋陪,如果在學(xué)的過程中贪磺,發(fā)現(xiàn)有不明白的,再回過頭去補(bǔ)課即可诅愚。
同理遞推寒锚,每個(gè)階段的學(xué)習(xí)目標(biāo)都是為了能學(xué)會(huì)下一個(gè)階段劫映。而整個(gè)的目標(biāo),當(dāng)然是做出你之前設(shè)定的學(xué)習(xí)目標(biāo)刹前。
一些工具
在手機(jī)上安裝Dash泳赋,可以方便的當(dāng)成這門編程語言的詞典;
遇到問題不要著急喇喉,也不要 不動(dòng)腦子的去問人祖今。相信我,作為一個(gè)新手拣技,你碰到的所有問題千诬,都已經(jīng)被前人碰到過而且解決了。所以膏斤,遇到問題就去找答案徐绑。在搜索過程中,如果遇到來自stackoverflow.com的答案莫辨,一定去看看傲茄,很可能你要的結(jié)果就在這里。
以上沮榜,就是自己的學(xué)習(xí)方法和路徑盘榨。