編程語言學(xué)習(xí)方法
如果你有興趣編寫計(jì)算機(jī)程序,移動(dòng)APP,網(wǎng)站,游戲或者任何軟件,你應(yīng)該學(xué)習(xí)編程,那么想要學(xué)好編程,應(yīng)該掌握哪些方法呢?下面是學(xué)習(xí)啦小編整理的編程語言學(xué)習(xí)方法,希望對(duì)您有幫助。
如何有效學(xué)習(xí)編程語言
1、確定目標(biāo)
學(xué)習(xí)編程語言既充滿樂趣,又充滿挑戰(zhàn)。有些花費(fèi)多年時(shí)間學(xué)習(xí)一門編程語言的大學(xué)生到最后也無法確定自己的方向到底是什么,所以,在你開始前,最好先想清楚,你是想成為一名程序員,還是游戲開發(fā)者,還是機(jī)器人專家?
2、選擇一種編程語言
初學(xué)者一定要從主流語言開始學(xué)習(xí),比如中級(jí)語言C和C++。這兩種語言是任何一名合格、專業(yè)的程序員都必須掌握的,因?yàn)樗鼈兎Q得上是軟件開發(fā)界的主流。但是最好不要從高級(jí)語言開始學(xué),如Java,因?yàn)檫@些語言對(duì)于初學(xué)者來說難度未免太高(高級(jí)語言可以以后再學(xué),但是C語言和C++應(yīng)該作為你的基礎(chǔ))。然而對(duì)于完完全全的門外漢的來說,可能C和C++都有點(diǎn)困難,那么你也可以從Python開始學(xué),這種語言被大家廣泛認(rèn)為是適合初學(xué)者的。
此外,每一種語言都要學(xué)習(xí)至少一年。要熟悉編程范式,尤其是面向過程及面向?qū)ο筮@兩種;要廣泛閱讀,多用編譯器及IDE(網(wǎng)上有許多免費(fèi)的)練習(xí)編程。
掌握一種語言后,先不要急著運(yùn)用,而要去多買些數(shù)據(jù)結(jié)構(gòu)方面的書來看,學(xué)習(xí)搜索、分類、二叉樹及鏈表創(chuàng)建等概念。因?yàn)闊o論你是要制作游戲還是開發(fā)軟件,數(shù)據(jù)結(jié)構(gòu)都是必須要考慮的。
隨后,你就可以開始學(xué)習(xí)更加高難度的語言,如Java。對(duì)于進(jìn)階學(xué)習(xí)者來說,可能還需要學(xué)習(xí)分而治之(Devide-and-conquer)、貪婪算法(Greedy Method)及回溯(Backtracking)等計(jì)算機(jī)算法,這又要花上至少一年的時(shí)間。
3、熱愛數(shù)學(xué)
許多人都由于這樣那樣的原因而對(duì)數(shù)學(xué)頗不感冒,而作為一名優(yōu)秀的程序員,卻要整天與一籮筐的數(shù)學(xué)問題打交道。正如你所見,學(xué)編程真的是說起來容易做起來難,而它的難并不在于你對(duì)一種語言的了解程度,而在于這種語言牽扯到的數(shù)學(xué)問題。編程中的大多數(shù)問題都能在數(shù)學(xué)模型(如斐波那契數(shù)列、弗洛伊德算法、傅立葉級(jí)數(shù)等等)中找到端倪,更不用說數(shù)學(xué)公式在解決編程問題中的廣泛應(yīng)用了。所以,現(xiàn)在開始,去學(xué)習(xí)各種公式及其特性吧,還要仔細(xì)鉆研算術(shù)及微積分,因?yàn)椴欢當(dāng)?shù)學(xué),就好比巧婦難為無米之炊。
4、要保持內(nèi)在的動(dòng)力
記住,羅馬建成非一日之功,所以不要在短時(shí)間里給自己填壓太多知識(shí)。學(xué)習(xí)編程語言并不容易,因?yàn)檫@是一門需要時(shí)常調(diào)用邏輯思維的知識(shí)。你要做的,就是理解程序背后的邏輯,然后不斷練習(xí),直到熟能生巧為止。如果你只是死記硬背一些程序,那么你就錯(cuò)過了學(xué)習(xí)過程中的樂趣,而且一些概念你也未必真的理解。所以,學(xué)習(xí)編程需要不斷地挑戰(zhàn)自己,但也不要操之過急。
5、要有耐心
有時(shí),即使是卓有成就的程序員也會(huì)被簡單的小問題難住,所以,遇到問題時(shí),一定要讓自己放松下來。找張草稿紙,想想有什么現(xiàn)成的公式可用,或者自己想一個(gè)公式出來。你看,這就是你為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和數(shù)學(xué)。在成為熟練的程序員以前,一個(gè)人往往需要花費(fèi)大把的時(shí)間來構(gòu)思用于解決特定問題的程序。這一過程中,你可以去Project Euler或者Codecademy這樣的網(wǎng)站上看看,上面有簡單的編程作業(yè)及教程,可以用以練習(xí)并提高技能。
6、絕不輕言放棄
如果你在編程過程中經(jīng)常粗心犯錯(cuò),那么整個(gè)過程就會(huì)變成一場(chǎng)曠日持久的折磨,然而一旦問題解決,所有的沮喪都會(huì)煙消云散。在學(xué)習(xí)各種算法(傅立葉級(jí)數(shù)、向量、邊界問題、線性代數(shù)、矩陣)的同時(shí),也要注意休息。在解決特別復(fù)雜的問題時(shí),要按時(shí)放松大腦,讓困擾在心頭的難題暫時(shí)轉(zhuǎn)移到潛意識(shí)中。另外要有合理的工作計(jì)劃,當(dāng)你編程編到倦怠的時(shí)候,就可以小憩一會(huì)兒,或者出去散一會(huì)兒步,但是永遠(yuǎn)不要說放棄。
7、成為高手
學(xué)到這個(gè)階段,你就可以試著去教教別人,并且向別人展示你制作的應(yīng)用。如果你認(rèn)識(shí)比你更厲害的人,就要與他分享你的想法和問題,這樣會(huì)使你積累更多的經(jīng)驗(yàn);你也可以模仿諸如文本編輯器、windows軟件等專業(yè)軟件來進(jìn)行自主開發(fā);積極參加相關(guān)競(jìng)賽來挑戰(zhàn)自我。
懂得一種編程語言是很贊的,但更贊的就是懂得多門語言,這不僅僅意味著你的“工具箱”里有了更多的“工具”,更是意味著你掌握了更多解決問題的方法。因?yàn)椴徽撃銘T用哪種語言,懂得其他語言總是能使你更好地了解常見的抽象概念及問題。所以,有條件的情況下,盡量多學(xué)幾種語言,最好是學(xué)習(xí)兩三種具有不同設(shè)計(jì)原理的語言,如Lisp、Java及Perl。但是每一種都要用心學(xué)。
8、廣泛閱讀
許多高水平的程序員閱讀量也十分驚人,他們也往往會(huì)在輸入第一行代碼前深思熟慮一番。所以,你一定要多閱讀、多思考。每周都要檢查一次自己的作品(平時(shí)要養(yǎng)成保存代碼的習(xí)慣,這樣日后才能復(fù)查、反思);還要多買編程方面的好書。購買的書必須是最值得一看的,而并非是最暢銷的。永遠(yuǎn)不要盲目地追隨某一種資源,因?yàn)槟菢又粫?huì)讓你的眼界變得狹隘。一旦你掌握一種知識(shí),就要仔細(xì)鉆研其用途及改進(jìn)的可能。
9、去培訓(xùn)中心參加培訓(xùn)
如果你覺得自學(xué)效果不理想,就去報(bào)名參加一些初級(jí)的編程班吧。但是報(bào)名前,一定要先向之前在里面學(xué)習(xí)過的人了解一番。
10、勤加練習(xí)
編程語言學(xué)習(xí)方法
1 Determine your area of interest明確你的興趣點(diǎn).
你可以選擇任意一門計(jì)算機(jī)語言起步,首先你要明確學(xué)習(xí)編程目的。這個(gè)可以幫助你確定編程語言的類型,是一個(gè)學(xué)習(xí)的好起點(diǎn)。
如果你的目標(biāo)是網(wǎng)頁開發(fā),也有一大堆不同的語言(有別與計(jì)算機(jī)應(yīng)用程序)。移動(dòng)應(yīng)用開發(fā)也需要一組技能,有別于機(jī)器編程。這些決定都將影響你的學(xué)習(xí)方向。
2 Consider starting with a "simpler" language考慮從簡單的語言入門.
學(xué)管你們的初衷是什么,編程入門應(yīng)該選擇一個(gè)簡單的高級(jí)語言。這些簡單高級(jí)語言對(duì)初學(xué)者很重要,它們會(huì)讓你明白基礎(chǔ)的概念和流程。
最流行的是Python和Ruby。它們是面向?qū)ο蟮?支持Web應(yīng)用程序 , 而且語法可讀性好。
面向?qū)ο笫侵?,這個(gè)語言是基于對(duì)象、數(shù)據(jù)的集合及數(shù)據(jù)的操縱來構(gòu)建的程序的。面向?qū)ο蟮母拍钤谥T如C++,Java, Objective-C, 和PHP廣泛應(yīng)用。
3 Read through some basic tutorials for a variety of languages.
閱讀一些基礎(chǔ)的教程
如果你還不能確認(rèn)學(xué)習(xí)什么編程語言,首先閱讀一些基礎(chǔ)教程。如果感覺一門語言比另外的語言更有意思,可以嘗試一下。網(wǎng)上這類教程很多。
Python - 這門語言是比較好的起步語言,功能非常強(qiáng)大。在編寫Web應(yīng)用程序,游戲應(yīng)用廣泛。
Java -適用于很多的程序,從游戲到Web應(yīng)用,到ATM機(jī)等,都有它的身影。
HTML - 對(duì)Web開發(fā)者來說,這是必學(xué)的一門基礎(chǔ)語言。對(duì)于開發(fā)各類Web應(yīng)用程序,掌握它是非常必要的。
C - 歷史悠久的一門計(jì)算機(jī)語言,也是一個(gè)功能強(qiáng)大的工具,對(duì)于學(xué)習(xí)C++,C#,Object-C來說,它是它們的基礎(chǔ)。
編程語言學(xué)習(xí)方法相關(guān)文章: