我相信這是大多初學(xué)者困惑的問(wèn)題,也是阻礙很多初學(xué)者學(xué)習(xí)進(jìn)度的問(wèn)題。你不知道從哪里開(kāi)始學(xué)習(xí),或者不知道從何開(kāi)始,接下來(lái)我以自己的學(xué)習(xí)經(jīng)歷,給大家提供一些建議,希望對(duì)你有幫助。
(1)你應(yīng)該具備什么基礎(chǔ):
自學(xué)你至少得有一臺(tái)自己電腦,這臺(tái)電腦不需要配置有多高,除非你學(xué)習(xí)的是開(kāi)發(fā)大型3D游戲。傳統(tǒng)的開(kāi)發(fā)學(xué)習(xí),普通筆記本、臺(tái)式機(jī)都可以的,但是必須得有網(wǎng)絡(luò),因?yàn)槟阈枰獜木W(wǎng)絡(luò)上獲取這種學(xué)習(xí)資料,況且我們是在學(xué)習(xí)信息技術(shù),沒(méi)有網(wǎng)絡(luò)怎么可能,想一想多可怕,最重要的是,你要喜歡它再去學(xué)它,如果不喜歡它,學(xué)了又有什么意義。
(2)數(shù)學(xué)、英語(yǔ)不好,能學(xué)好編程嗎?
就這么說(shuō)吧,如果你感覺(jué)自己數(shù)學(xué)不好,但是你喜歡信息技術(shù)方面,你就好好學(xué)吧,你是能學(xué)好編程的。我的數(shù)學(xué)和英語(yǔ)真的是超級(jí)不好,原因是我不喜歡它們。編程的邏輯性挺強(qiáng)的,但是不代表你的數(shù)學(xué)不好你的編程就學(xué)的差,它們本就不是一個(gè)回事,雖然編程很多時(shí)候用于科學(xué)計(jì)算方面,但是如果我們學(xué)習(xí)編程是為了開(kāi)發(fā)應(yīng)用軟件,為的是找工作,編程本就沒(méi)有那么別人說(shuō)的那么難。
英語(yǔ)不好呢?那也可以學(xué)好的。計(jì)算機(jī)發(fā)展技術(shù)源自西方,西方人在這方面做的比我們多,當(dāng)然這些計(jì)算機(jī)語(yǔ)言幾乎全是英語(yǔ)字母組合的。我想,如果我們能趕在西方之前發(fā)展信息技術(shù),現(xiàn)在外國(guó)人估計(jì)就使用中文來(lái)編程了。但是我英語(yǔ)不好,句子都讀不通順,怎么辦?沒(méi)關(guān)系的,讀代碼與讀英語(yǔ)文章完全不一樣,雖然大多數(shù)代碼使用的是英文字母來(lái)編寫(xiě),而理解代碼更多的是理解它的邏輯。但是,如果你的英語(yǔ)不好,你最好提高一下的英語(yǔ)水平,因?yàn)楹芏嚅_(kāi)發(fā)文檔、教程,是使用英文來(lái)寫(xiě)的。不是說(shuō)你英語(yǔ)不好你就不能寫(xiě)代碼,但是你不能連“hello”、“how are you”這些簡(jiǎn)單的英文單詞都不認(rèn)識(shí),也就是說(shuō),你具有初中畢業(yè)生的英語(yǔ)水平就可以學(xué)習(xí)編程了。
(3)選擇自己喜歡的方面入門(mén):
軟件開(kāi)發(fā)過(guò)程中根據(jù)不同的需要,包含了多個(gè)工作任務(wù)和多種工作流程,因此也產(chǎn)生了不同的工作崗位,前端工程師:Android工程師、IOS工程師、Web前端工程師,后端工程師:C/C++開(kāi)發(fā)工程師、Java后端工程師、Python后端工程師、PHP工程師,Linux運(yùn)維工程師,現(xiàn)在還流行著大數(shù)據(jù)工程師、AI(人工智能)工程師,等等。當(dāng)然,在人員缺少的情況下有的人卻擔(dān)任了好幾種身份,但是在大公司里面,分工一般是明確的。
那怎么開(kāi)始入門(mén)學(xué)習(xí)呢?首先,選擇自己喜歡的語(yǔ)言,選擇自己方向,朝著那么目標(biāo)學(xué)習(xí)。可是我都沒(méi)了解過(guò),我怎么知道什么編程語(yǔ)言適合我?這就需要你事先了解一下了,既然打算自學(xué)編程,那你應(yīng)該查閱一些資料了解一下,什么語(yǔ)言適合來(lái)做什么,自己又應(yīng)該學(xué)習(xí)什么語(yǔ)言。當(dāng)然,我們的長(zhǎng)遠(yuǎn)的目標(biāo)是精通一個(gè)技術(shù)方向,但是其他方向最好是什么都要會(huì)。
所以,我建議你選擇自己喜歡的方向,容易的入門(mén)的方向進(jìn)行入門(mén)學(xué)習(xí)??墒怯械娜苏f(shuō)現(xiàn)在很火的不是大數(shù)據(jù)、人工智能嗎?月薪兩三萬(wàn)、四五萬(wàn)的。但是你要知道,對(duì)于一個(gè)任何基礎(chǔ)都沒(méi)有的普通初學(xué)者,需要花多少功夫才能達(dá)到大數(shù)據(jù)工程師、AI工程師的水平,所以學(xué)習(xí)基礎(chǔ)是十分重要的,至少得保證你有一樣技能了,能保證自己能勝任某項(xiàng)工作之后,再朝著更高得層次努力,也許那樣會(huì)更好。
我當(dāng)年選擇C++作為入門(mén)學(xué)習(xí)的方向,原因是我挺喜歡C++。我開(kāi)學(xué)習(xí)C++的時(shí)候是在2015年,那時(shí)候很多人說(shuō)C++市場(chǎng)不如Java,學(xué)習(xí)C/C++會(huì)找不到工作。但是我并沒(méi)有放棄,我想,如果有時(shí)間去擔(dān)心以后找不到工作,為什么不靜下心來(lái)好好學(xué),只要學(xué)好了為什么還要怕找不到工作,為什么自己不可以作為那些學(xué)習(xí)C/C++中的佼佼者,你可以比別人笨,但是你也可以比別人努力,況且,又有多少人真正的承認(rèn)自己比別人笨呢?現(xiàn)在再回想自己當(dāng)年學(xué)習(xí)C++的時(shí)候,每天晚上堅(jiān)持觀看視頻,記筆記,先學(xué)C語(yǔ)言基礎(chǔ),后是C++基礎(chǔ),數(shù)據(jù)結(jié)構(gòu)算法,就這樣堅(jiān)持好幾個(gè)月。挺辛苦,可是后來(lái)收獲的是開(kāi)心的。
當(dāng)然,你有很多選擇。如果你喜歡APP開(kāi)發(fā),那么就是Android和IOS了,而Android學(xué)習(xí)成本比IOS學(xué)習(xí)成本低,原因就是如果你要做IOS開(kāi)發(fā)你需要mac電腦,Android開(kāi)發(fā)使用普通的Windows就可以,進(jìn)一步學(xué)習(xí)的話(huà)你可以安裝一個(gè)Linux操作系統(tǒng),再加上一個(gè)幾百元的Android手機(jī)就可以學(xué)習(xí)了,等你掌握Android開(kāi)發(fā)后再學(xué)習(xí)IOS也不遲。
如果你喜歡后端開(kāi)發(fā),我建議你選擇C++、Java、Python這些語(yǔ)言。假如你之前沒(méi)有接觸過(guò)編程,只要認(rèn)真學(xué),這些語(yǔ)言挺容易入門(mén)的,如果有一點(diǎn)C語(yǔ)言基礎(chǔ)那更好。
而如果你喜歡Web 前端,那你就好好學(xué)習(xí)H5+CSS3+JavaScript,一個(gè)合格web前端工程師除了能把網(wǎng)站做出漂亮的特效,還要懂得后端的知識(shí),這時(shí)可以學(xué)一學(xué)Node.js。雖然開(kāi)發(fā)技術(shù)分類(lèi)很多,但是這些技術(shù)都是相通的,有了一門(mén)技術(shù)的基礎(chǔ)之后,再學(xué)習(xí)其它技術(shù)就輕而易舉了。而在初學(xué)者階段,你需要選擇一門(mén)技術(shù)進(jìn)行系統(tǒng)的學(xué)習(xí),同時(shí)不要忘記多了解一些其他的技術(shù)。
以下是編程語(yǔ)言在某個(gè)時(shí)間段的排行榜:
(4)怎么獲取學(xué)習(xí)資源?
你可以買(mǎi)一本書(shū)。書(shū)有好有壞,有的書(shū)適合初學(xué)者,而有的書(shū)不適合初學(xué)者;有的書(shū)通俗易懂,也有一些書(shū)全是廢話(huà),甚至錯(cuò)誤一堆,這就需要你好好辨認(rèn)了。有的書(shū)適合你,但是有的書(shū)雖好,卻不適合你,你應(yīng)該到書(shū)店里面,到圖書(shū)館里面好好翻一翻,選擇合適自己的一本系統(tǒng)教學(xué)書(shū)籍。對(duì)于技術(shù)類(lèi)型的書(shū),盡量選擇比較新的,對(duì)于同一種技術(shù),盡量避免好幾年的書(shū)籍,因?yàn)榧夹g(shù)書(shū)籍不像文學(xué)書(shū)籍那樣,技術(shù)每天都在改變。
你還可以看一套系統(tǒng)的視頻教程。互聯(lián)網(wǎng)上免費(fèi)的教程資源很多,如果好好利用,相信你一定能學(xué)好的。有的視頻里老師講課方式不適合你,而有的老師講課方式很適合你,我相信后者對(duì)你的進(jìn)步更有幫助?,F(xiàn)在教學(xué)網(wǎng)站也很多,也提供了大量的免費(fèi)資源,如極客學(xué)院、慕課網(wǎng),百度傳課、騰訊課堂等等都有大量的免費(fèi)資源,建議你花一些時(shí)間去嘗試聽(tīng)一下多套視頻的第一節(jié)課,最后選擇最適合自己的一套。
(5)要回利用互聯(lián)網(wǎng)解決問(wèn)題:
你在學(xué)習(xí)編程過(guò)程中必定遇到很多問(wèn)題,甚至有時(shí)出現(xiàn)的bug讓自己感到崩潰、無(wú)助,這時(shí)不要慌,這是很多初學(xué)者都是必定經(jīng)歷的過(guò)程,只要一個(gè)一個(gè)問(wèn)題的解決了,積累經(jīng)驗(yàn),以后你才能解決實(shí)際開(kāi)發(fā)中遇到的問(wèn)題。在你遇到錯(cuò)誤時(shí),把你出現(xiàn)的錯(cuò)誤百度一下,必定別人也遇到過(guò),并有一堆的解決辦法。你還可以到各大論壇尋求幫助,如國(guó)內(nèi)的CSDN論壇,如果你英語(yǔ)閱讀能力比較好,還可以到stackoverflow.com網(wǎng)站上尋求全球開(kāi)發(fā)者的幫助。
(6)多讀別人的代碼,借鑒別人的長(zhǎng)處:
閱讀別人的代碼是自己提高編碼能力的一個(gè)方法,你可以看到自己與大神的距離,然后努力朝著目標(biāo)努力,一個(gè)合格的開(kāi)發(fā)者,不僅能自己寫(xiě)代碼,還要有閱讀別人代碼的能力。
(7)多練習(xí),孰能生巧:
學(xué)習(xí)中編程的過(guò)程中,看懂和會(huì)做完全是兩回事,不要覺(jué)得自己看視頻看懂了,或者看書(shū)看懂了就從來(lái)不去編碼練習(xí)了。往往很多人看懂了,但是自己卻敲出一堆的錯(cuò)誤,這階段你需要不斷的練習(xí)。網(wǎng)上說(shuō)的“7天掌握PHP”、“5節(jié)課掌握java”,等等這些,以一個(gè)普通初學(xué)者的角度來(lái)說(shuō)絕對(duì)是不可能的,作為初學(xué)者,應(yīng)該腳踏實(shí)地,每天堅(jiān)持,積累上幾萬(wàn)行代碼,甚至幾十萬(wàn)行代碼,也許那樣才是真正的入門(mén)。這世上沒(méi)有不勞而獲的,所有的收獲,必定經(jīng)歷付出,知識(shí)也一樣,加油!
總結(jié):
上一個(gè)世紀(jì)的前輩們?cè)趯W(xué)習(xí)的時(shí)候,他們沒(méi)有網(wǎng)絡(luò),沒(méi)有那么多學(xué)習(xí)資料,而他們卻能給后人創(chuàng)造了很多有價(jià)值的東西,他們都那么堅(jiān)持,我們就沒(méi)有理由不努力了。
不管怎么說(shuō),學(xué)習(xí)編程不容易,一定要真正的喜歡它再去學(xué),腳踏實(shí)地,堅(jiān)持不懈,往既定的目標(biāo)努力。入門(mén)學(xué)習(xí)的付出是辛苦的,甚至是乏味的,但是拼一拼,努力奮斗,相比最后得到的,是值得的。加油!
審核編輯 :李倩
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7525瀏覽量
88328 -
編程
+關(guān)注
關(guān)注
88文章
3634瀏覽量
93860 -
人工智能
+關(guān)注
關(guān)注
1792文章
47514瀏覽量
239247
原文標(biāo)題:經(jīng)驗(yàn)分享:計(jì)算機(jī)初學(xué)者沒(méi)有編程基礎(chǔ),該怎么入門(mén)呢?
文章出處:【微信號(hào):cyuyanxuexi,微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論