新手如何才能有效的學(xué)習(xí)編程
新手如何才能有效的學(xué)習(xí)編程
這篇文章對(duì)初次接觸編程的人來(lái)說(shuō)非常有用,和大部分教程不同的是,文中告訴你未來(lái)該怎樣做的方法,一起來(lái)看看吧。以下是學(xué)習(xí)啦小編分享給大家的新手有效學(xué)習(xí)編程的方法,希望可以幫到你!
新手有效學(xué)習(xí)編程的方法一
選擇一門(mén)語(yǔ)言
確定你感興趣的領(lǐng)域
你可以開(kāi)始學(xué)習(xí)任何編程語(yǔ)言(盡管其中一些被描述地比其他的更加“易學(xué)”),你得去問(wèn)自己自己想用通過(guò)學(xué)習(xí)這門(mén)語(yǔ)言完成什么樣的工作。這將會(huì)幫助你確定你應(yīng)該追求的編程方式并且提供一個(gè)良好的開(kāi)始。
如果你想進(jìn)入Web開(kāi)發(fā)行業(yè),那你將會(huì)有一堆語(yǔ)言需要去學(xué)習(xí),這和開(kāi)發(fā)計(jì)算機(jī)程序相反。移動(dòng)App的開(kāi)發(fā)需要比PC等的開(kāi)發(fā)更多的技巧。所有的這些決定將會(huì)影響著你的發(fā)展方向。
考慮從一個(gè)“易學(xué)”的語(yǔ)言開(kāi)始
無(wú)論你做了什么樣的決定,你可能只會(huì)希望從一門(mén)高水準(zhǔn)又易學(xué)的語(yǔ)言開(kāi)始。這些語(yǔ)言對(duì)于初學(xué)者非常有用,因?yàn)樗鼈兘淌诨镜母拍詈瓦m用于幾乎任何語(yǔ)言的思維過(guò)程。
在這種語(yǔ)言中最流行的兩種是Python和Ruby。它們都是使用著易讀的句法的面向?qū)ο蟮腤eb應(yīng)用開(kāi)發(fā)語(yǔ)言。
“面向?qū)ο?rdquo;因?yàn)橹@個(gè)語(yǔ)言是圍繞著“對(duì)象”、數(shù)據(jù)收集和操作的概念來(lái)打造的。這一概念被用在許多先進(jìn)的編程語(yǔ)言上,比如C++、Java、Objective-C和PHP。
通讀大量語(yǔ)言的基本教程
如果你還不確定你應(yīng)該開(kāi)始學(xué)習(xí)哪一門(mén)語(yǔ)言,那么就去閱讀一些不同語(yǔ)言的基本教程吧。如果一門(mén)語(yǔ)言比別的更有意思,那就多去看看是不是真的那樣。在網(wǎng)上對(duì)于所有的編程語(yǔ)言有無(wú)數(shù)個(gè)基本教程。
Python——一個(gè)非常適合初學(xué)者的語(yǔ)言 ,而且當(dāng)你掌握它的時(shí)候它會(huì)變得更加強(qiáng)大。被用來(lái)開(kāi)發(fā)了許多Web應(yīng)用、甚至一些游戲。
Java——被無(wú)數(shù)個(gè)項(xiàng)目所使用,從游戲到Web應(yīng)用再到ATM軟件。
HTML——對(duì)于任何Web開(kāi)發(fā)者必不可少的起航點(diǎn)。在從事其他一系列Web開(kāi)發(fā)之前掌握好HTML非常重要。
C——最古老的語(yǔ)言之一,它已經(jīng)是非常強(qiáng)大的工具,也是一些更現(xiàn)代的語(yǔ)言的祖先,比如C++,C#和Objective-C。
新手有效學(xué)習(xí)編程的方法二
從簡(jiǎn)單的開(kāi)始學(xué)起
學(xué)習(xí)語(yǔ)言的核心概念
雖然這一步中適合的部分將取決于你所選擇的語(yǔ)言,但所有編程語(yǔ)言都有對(duì)建立有用的程序至關(guān)重要的基本概念。盡快的學(xué)習(xí)和掌握這些概念,將會(huì)使你更容易地解決問(wèn)題和創(chuàng)建強(qiáng)大而有效的代碼。下面只是一些在不同語(yǔ)言中的核心概念:
變量——一個(gè)變量就是一個(gè)去存儲(chǔ)和應(yīng)用以改變代碼片的方式。變量可以被操作,并且經(jīng)常被定義成“整數(shù)”、“字符”,還有其他的確定可以存儲(chǔ)的數(shù)據(jù)類(lèi)型。進(jìn)行編碼時(shí),變量通常具有讓它們對(duì)于我們有種某種含義的名稱(chēng)。這樣一來(lái)我們就容易理解該變量如何與其余的代碼進(jìn)行交互了。
條件語(yǔ)句——條件語(yǔ)句是基于條件是否為真的一種行為。對(duì)于一個(gè)條件語(yǔ)句最常見(jiàn)的形式是“如果-那么”。如果這個(gè)條件為真,那么就有一件事發(fā)生,如果條件為假,那么就會(huì)發(fā)生另一件事情。
函數(shù)或子例程——這個(gè)概念的實(shí)際名稱(chēng)可能取決于不同的語(yǔ)言。它也可能被叫做“過(guò)程”、“方法”或是“可返回單元”。它本質(zhì)上是一個(gè)大程序中的一個(gè)小程序。一個(gè)函數(shù)可以被別的程序“調(diào)用”多次,運(yùn)行程序員去有效的創(chuàng)建復(fù)雜的程序。
數(shù)據(jù)輸入——這是在幾乎所有語(yǔ)言中都使用的一個(gè)寬泛的概念。它涉及到處理用戶(hù)的輸入以及存儲(chǔ)這些數(shù)據(jù)。這些數(shù)據(jù)怎樣收集則取決于程序的類(lèi)型以及對(duì)于用戶(hù)的可用的輸入方式。它和關(guān)于顯示在屏幕上還是打印在文件上的輸出有著精密聯(lián)系。
安裝一些有必要的軟件
許多的編程語(yǔ)言都要求有被程序員設(shè)計(jì)來(lái)講代碼轉(zhuǎn)換成機(jī)器能理解的語(yǔ)言的編譯器。其他一些語(yǔ)言,比如Python,使用可以立即轉(zhuǎn)換成程序而不需要編譯。
一些語(yǔ)言有自己的往往包含著代碼編輯器、調(diào)試器和/或者翻譯以及調(diào)試的IDEs(集成開(kāi)發(fā)環(huán)境)。這些程序員在同一個(gè)地方去執(zhí)行任何必要的功能。IDEs可能還包含著包含對(duì)象層次結(jié)構(gòu)和目錄的可視化界面。
在網(wǎng)上有許多的代碼編輯器可以用。這些程序都提供不同方式的語(yǔ)法高亮和提供其他開(kāi)發(fā)人員友好的工具。(譯者推薦用Emacs)
新手有效學(xué)習(xí)編程的方法三
創(chuàng)建你的第一個(gè)程序
每次只專(zhuān)注于一個(gè)概念
幾乎學(xué)習(xí)任何語(yǔ)言時(shí)被教的第一個(gè)程序就是“Hello World”。這是一個(gè)僅僅在屏幕上顯示“Hello,World”的簡(jiǎn)單程序。這個(gè)程序教會(huì)初學(xué)者一些簡(jiǎn)單的語(yǔ)法來(lái)創(chuàng)建一個(gè)可以運(yùn)作的基本程序,以及如何處理顯示輸出。通過(guò)改變文本,你還可以學(xué)習(xí)到這些基本數(shù)據(jù)是怎樣被程序處理的。
通過(guò)在線示例的片段來(lái)學(xué)習(xí)
在網(wǎng)上幾乎每個(gè)編程語(yǔ)言都有數(shù)以千記得在線代碼示例。用這些例子來(lái)學(xué)習(xí)不同部分如何與語(yǔ)言協(xié)同工作,以及各個(gè)部分之前的差別。用這些在不斷示例中取得的碎片來(lái)創(chuàng)建你自己的程序。
檢查語(yǔ)法
語(yǔ)法就是一門(mén)語(yǔ)言被寫(xiě)得讓編譯器或解釋權(quán)能夠理解的方法。每種語(yǔ)言都有自己獨(dú)特的語(yǔ)法,雖然有些元素可能在不同的語(yǔ)言中共享。學(xué)習(xí)語(yǔ)法對(duì)于學(xué)習(xí)怎樣編程是非常重要的。在現(xiàn)實(shí)中,它只是更高級(jí)的概念賴(lài)以建立的基礎(chǔ)。
試驗(yàn)性的更改
對(duì)你的示例程序做些修改,然后測(cè)試結(jié)果。通過(guò)試驗(yàn)?zāi)憧梢詫W(xué)到什么有用、什么沒(méi)用,這比多閱讀一本書(shū)或指南在任何時(shí)候都要快得多。不要害怕破壞了你的程序,學(xué)習(xí)去修復(fù)錯(cuò)誤是任何開(kāi)發(fā)過(guò)程中最重要的一步,并且新的事物永遠(yuǎn)不可能在第一次就正確運(yùn)行。
開(kāi)始練習(xí)調(diào)試
當(dāng)你在編程時(shí),你總會(huì)碰到bug。它們存在程序中,并且可能隨時(shí)隨地的出現(xiàn)在程序中的任何一個(gè)地方。漏洞可能會(huì)破壞程序,或者只是讓程序不能編譯/運(yùn)行。捕捉和修復(fù)這些錯(cuò)誤在軟件開(kāi)發(fā)周期中這是一個(gè)主要的過(guò)程,所以要早早地習(xí)慣于這么做。
當(dāng)你快要修改程序時(shí),你可能會(huì)碰到它們不能運(yùn)作的情況。想辦法弄清楚,并且采取不同的方式來(lái)解決,這將會(huì)成為你作為一個(gè)程序員最寶貴的技能之一。
給所有代碼添加注釋
幾乎所有編程語(yǔ)言都有一個(gè)允許你包含未被解釋器或編譯器處理的文本的“注釋”功能。也就允許了你可以留下短小但清晰的關(guān)于這段代碼是用來(lái)做什么的人類(lèi)語(yǔ)言的解釋。這將不僅僅幫助你記住你的代碼在這個(gè)大型程序是做什么的,在協(xié)作環(huán)境中因?yàn)樗试S其他人也能夠明白你的代碼是做什么的,所以也是非常重要的做法。
新手有效學(xué)習(xí)編程的方法四
不斷練習(xí)
每天都要敲代碼
花大量的時(shí)間對(duì)于掌握一門(mén)語(yǔ)言是最重要的。即便是像Python這樣的簡(jiǎn)單語(yǔ)言,它可能也要畫(huà)上一兩天去了解它的基本語(yǔ)法,花大量的時(shí)間才能真正精通。想任何其他的技巧一樣,練習(xí)是變得更加?jì)故斓年P(guān)鍵。盡量每天都要花一些時(shí)間去敲代碼,即便是在工作之后和晚餐之前的一小時(shí)。
給你的程序設(shè)定目標(biāo)
通過(guò)設(shè)定能夠?qū)崿F(xiàn)但又有挑戰(zhàn)性的目標(biāo),你將能夠開(kāi)始解決問(wèn)題并拿解決方案。嘗試著去設(shè)想去一個(gè)基本的應(yīng)用程序,比如一個(gè)計(jì)算器,然后想辦法去做出來(lái)。使用你一直學(xué)習(xí)的語(yǔ)法和概念,然后將它們應(yīng)用到實(shí)際中。
和別人交流并且閱讀他人的程序
有很多編程社區(qū)致力于特定的語(yǔ)言或?qū)W科。找到并參與到這些社區(qū)會(huì)為你的學(xué)習(xí)創(chuàng)造奇跡。你將會(huì)獲得能夠幫助你的學(xué)習(xí)過(guò)程的各式各樣的示例代碼和工具。通過(guò)閱讀他人的程序代碼不僅可以激勵(lì)你,還可以幫助你回憶那些還沒(méi)有掌握的概念。
為你所選擇的編程語(yǔ)言找到論壇或在線社區(qū)。確保自己是真正參與進(jìn)去而不是不斷地問(wèn)問(wèn)題。這些社區(qū)往往看著做協(xié)作和討論的地方,而不僅僅是簡(jiǎn)單的提問(wèn)-回答問(wèn)題。請(qǐng)隨時(shí)尋求幫助,但要準(zhǔn)備好你的程序以及嘗試用不同的途徑。
一旦你已經(jīng)有了一些經(jīng)驗(yàn),可以參加一些編程的活動(dòng)。這些活動(dòng)是個(gè)人或團(tuán)隊(duì)爭(zhēng)分奪秒的開(kāi)發(fā)功能的程序,通常會(huì)圍繞一個(gè)特定的主題。這些事情都很好玩并且是一個(gè)認(rèn)識(shí)其他程序員的很好的方式。
挑戰(zhàn)自己并保持樂(lè)趣
去嘗試著做一些你現(xiàn)在還不知道怎么做的事情。研究該怎樣完成這個(gè)任務(wù)的方式,并且不斷的將它們添加到你的程序中。一定要盡量避免勉強(qiáng)能運(yùn)行的程序,你應(yīng)該讓各個(gè)方面都很完美。
新手有效學(xué)習(xí)編程的方法五
分享你的知識(shí)
參加一些培訓(xùn)課程
許多的大學(xué)、社區(qū)學(xué)院、社區(qū)中心都提供了你可以參加的編程課程和工作室,而無(wú)需在學(xué)校注冊(cè)。這里對(duì)于新手程序員是很有裨益的,因?yàn)槟憧梢詮钠渌薪?jīng)驗(yàn)的程序員那里得到幫助,或者你也可以通過(guò)網(wǎng)絡(luò)和其他地方的程序員一起交流。
買(mǎi)或者借一本書(shū)
有成千上萬(wàn)種你所能想象出的所有語(yǔ)言的教學(xué)書(shū)籍。雖然你的知識(shí)不應(yīng)該全然來(lái)自一本書(shū),但它們會(huì)給你提供許多的參考,而且往往內(nèi)含了大量友好的示例。
學(xué)習(xí)數(shù)學(xué)和邏輯
大多編程都涉及了基本的算術(shù)運(yùn)算,但可能你想要學(xué)習(xí)更先進(jìn)的概念。如果你想寫(xiě)出復(fù)雜的模擬或者算法級(jí)別程序,這將是非常重要的。對(duì)于大多數(shù)日常編程而言,你并不需要太多先進(jìn)的數(shù)學(xué)知識(shí)。但學(xué)習(xí)邏輯,尤其是計(jì)算機(jī)邏輯,將能幫助你理解處理更先進(jìn)程序的復(fù)雜問(wèn)題的最好方式。
永遠(yuǎn)不要停止編程
有一個(gè)流行的理論,成為一名專(zhuān)家至少需要10000小時(shí)的練習(xí)。雖然這個(gè)理論還處于辯論中,但它內(nèi)含的原則永遠(yuǎn)是正確的:精通需要時(shí)間和奉獻(xiàn)精神。不要指望一夜之間你就能學(xué)會(huì)一切,但如果你保持專(zhuān)注,并且不斷的學(xué)習(xí),很快你就會(huì)成為你的領(lǐng)域里的專(zhuān)家。
學(xué)習(xí)另一種編程語(yǔ)言
雖然你可以?xún)H僅精通一門(mén)語(yǔ)言,但許多的程序員通過(guò)學(xué)習(xí)多種語(yǔ)言來(lái)提高在其領(lǐng)域內(nèi)成功的機(jī)會(huì)。它們的第二或者第三個(gè)語(yǔ)言往往和第一個(gè)語(yǔ)言相輔相成,這就能幫助他們?nèi)?xiě)出更加復(fù)雜和有趣的程序。一旦你掌握了你的第一個(gè)語(yǔ)言,你就有時(shí)間來(lái)學(xué)習(xí)第二個(gè)語(yǔ)言。
你可能會(huì)發(fā)現(xiàn)第二個(gè)語(yǔ)言會(huì)學(xué)的比第一個(gè)更快。那是因?yàn)樵S多的核心概念對(duì)于多種語(yǔ)言都是相通的,尤其是如果這兩個(gè)語(yǔ)言本身就是密切相關(guān)的。
猜你喜歡:
2.計(jì)算機(jī)等級(jí)考試初學(xué)者的10個(gè)編程小技巧
3.數(shù)控編程應(yīng)該如何學(xué)習(xí)才有效