編程入門先學(xué)什么?相信這是很多想要自學(xué)編程的小伙伴都會有的疑惑,本文將為大家?guī)沓鯇W(xué)者編程入門指南。
明確學(xué)習(xí)編程的目的
對于一個沒有任何基礎(chǔ)的小白來說,學(xué)習(xí)編程最重要的是要保持初心。明確自己學(xué)習(xí)編程的目的,是想開發(fā)APP、網(wǎng)站,還是要求解專業(yè)方向上的問題,或者完成一個游戲、制作一個交互動畫效果,還是別的什么。在學(xué)習(xí)時,時刻記得自己是為什么來學(xué)習(xí)編程的,學(xué)一點用一點,感受到每天都在進(jìn)步,這樣就有堅持下來的動力了。
語言選擇是由學(xué)習(xí)的目的決定的,比如你想做Andriod應(yīng)用開發(fā),那么就學(xué)Java;想做iOS應(yīng)用開發(fā)則是Objective-C或者Swift,做網(wǎng)頁學(xué)JavaScript,大數(shù)據(jù)考慮Python或者R,想做游戲得花可以學(xué)C/C++。
其實對于零基礎(chǔ)的愛好者,隨大流才是明智的,哪種語言流行學(xué)哪種,至于哪種語言最流行的,可以參考TIOBE發(fā)布的編程語言排行榜。
如果只有泛泛的興趣,一律推薦學(xué)JavaScript,其實如果純考慮語言的話,Java其實更好,學(xué)習(xí)單,容易上手。不過JavaScript拿來做頁面效果,比較容易有成就感,環(huán)境依賴也比較小。
推薦閱讀:
JavaScript教程,JS輕松快速入門
JavaScript微課,邊學(xué)邊實踐
那么語言本身怎么入門呢?對初學(xué)者,我喜歡推薦W3Cschool上的教程,尤其是里面的微課教程更是強(qiáng)烈推薦。這些教程讓你在學(xué)習(xí)的同時,又可以動手進(jìn)行實例演練,同時又省去了配置環(huán)境麻煩。別小看最后一點,軟件開發(fā)的環(huán)境配置實在是一個比較煩人的事兒,非常容易掉坑里。
所以,零基礎(chǔ)的愛好者盡量選擇解釋型語言學(xué)起,用好的集成開發(fā)環(huán)境( IDE )工作,比如學(xué)習(xí)Windows應(yīng)用開發(fā)用Visual Studio,學(xué)習(xí)PHP考慮Zend Studio或者PHPStorm,學(xué)web開發(fā)的WebStorm/Sublime/Visual Studio Code等。
埋頭學(xué)理論是不可取的,編程是個手藝活,手熟是一切的基礎(chǔ)。學(xué)一點就要寫寫練手的程序,當(dāng)然一下子叫你寫復(fù)雜的大程序那是給自己找坑,從簡單的hello world開始最適合。
其實視頻教程非常具有欺騙性,看這視頻中老師行云流水地演示,然后自己抄一遍順利出了正確結(jié)果,就以為自己也學(xué)會了。但是關(guān)了視頻后,你看還記得多少?自己出個題目寫一下試試?立即就發(fā)現(xiàn)記憶里缺很多細(xì)節(jié)。
所以拿新學(xué)的語言元素寫練習(xí)程序是學(xué)會編程的非常重要的途徑,對于心急的初學(xué)者,學(xué)到能夠自己不查書寫出在字符串?dāng)?shù)組里找到輸入的字符串,基本就有足夠的表達(dá)能力去書寫所需要的邏輯了。語言入門之后,就可以試著寫點自己感興趣的東西,語言肯定還不夠熟,所以手邊準(zhǔn)備一本語言參考書隨時備查吧。要自己寫點東西,難免碰到一大堆平臺、系統(tǒng)相關(guān)的背景知識,有時間找本入門本書或者課程系統(tǒng)學(xué)一下基本概念最好。
剛開始動手寫程序時,出錯是必然的,不要怕出錯,要學(xué)會看出錯信息,有不明白的地方就拿著完整的出錯信息去網(wǎng)上查,問別人的時候盡可能提供詳細(xì)的信息,盡最大努力不要讓別人猜,這樣得到幫助的可能性會大很多。
總結(jié)一下,學(xué)編程是為了解決問題,把你的問題分解細(xì)化,讓它一步一步驅(qū)動你的學(xué)習(xí)過程,學(xué)起來就沒那么難啦。