在編程行業(yè),一直流傳著很多誤區(qū)。下面讓我們一起來糾正10個(gè)有關(guān)編程的常見誤區(qū),以幫助編程初學(xué)者或有志成為程序員的人,更理性地認(rèn)識(shí)編程。
學(xué)習(xí)編程必須得學(xué)習(xí)數(shù)學(xué)嗎?
“學(xué)習(xí)編程必須得學(xué)習(xí)數(shù)學(xué)嗎?”,對(duì)于這個(gè)問題,很多人并不清楚數(shù)學(xué)與編程之間的關(guān)系,他們往往只想得到一個(gè)統(tǒng)一的答案:“是”或者“不是”。事實(shí)上,答案不是絕對(duì)的,它要看情況,不過在絕大多數(shù)情況下,答案是“不是”。作為程序員,你會(huì)花很多時(shí)間在寫代碼上,而不是寫數(shù)學(xué)公式,而且你的數(shù)學(xué)知識(shí)不會(huì)直接構(gòu)成你的編程技術(shù)。
但這不是說你不需要學(xué)習(xí)數(shù)學(xué)了,你仍然需要懂得基本的代數(shù)學(xué),只是基本的而已。另外,現(xiàn)在還有很多庫(kù)和插件,你可以直接應(yīng)用到編程中,幫助你解決數(shù)學(xué)和算法方面的問題。不過,如果你想嘗試創(chuàng)造的東西是需要高級(jí)的數(shù)學(xué)計(jì)算或是物理或計(jì)算機(jī)圖形的話,你肯定需要掌握某些數(shù)學(xué)知識(shí)了。
學(xué)習(xí)編程的人的IQ都要很高嗎?
編程的學(xué)習(xí)是在于你的興趣,它與生物學(xué)因素沒有關(guān)系。無論你的IQ是160還是90,這和你學(xué)習(xí)編程沒有關(guān)系。如果你已經(jīng)做過了IQ測(cè)試,建議你可以一笑置之。因?yàn)閮H僅以這個(gè)測(cè)試分?jǐn)?shù)為基礎(chǔ),不可以證明你喜歡做什么事情或者你可以走得有多遠(yuǎn)。不要介意一次又一次的失敗,并從錯(cuò)誤中學(xué)習(xí),這是作為程序員要明白的基本道理。
其實(shí)學(xué)習(xí)編程的門檻并不高,任何懂得如何溝通的人都可以學(xué)習(xí)編程。因?yàn)樯钊氲骄幊毯诵牡脑挘幊叹褪且环N“語言”,它有自己的語法和詞匯,并且它的存在僅僅是幫助你與機(jī)器溝通,去完成某個(gè)目的或行為。編程就像我們?nèi)伺c人之間的行為一樣,它真的很簡(jiǎn)單。
學(xué)習(xí)編程一定得上大學(xué)嗎?
有人說如果想學(xué)到最好的編程功夫,你需要一個(gè)真正的高手來指導(dǎo)你。在編程中,代表著編程最高級(jí)別水平的是教授。但現(xiàn)在由于有了互聯(lián)網(wǎng),你可以向很多編程高手們學(xué)習(xí)了。 你可以從零基礎(chǔ)學(xué)起,一直學(xué)到大學(xué)里的課程。
你可以先選擇一些初學(xué)者的課程。例如在Codecademy上,就提供了這類課程。你也可以瀏覽一些教程類的網(wǎng)站,例如Nettuts+,它為用戶提供了文本和視頻兩種格式的課程講解。如果你有什么問題想找到直接答案,可以去 Stack Overflow和Stackexchange,還可以通過谷歌來搜索對(duì)你有幫助的資源。這并不是說大學(xué)不能教你學(xué)到這些。一個(gè)教授或講師當(dāng)然可以加快你對(duì)理論和概念的理解,例如是面向?qū)ο蟮木幊?。在大學(xué)里學(xué)習(xí)編程還有一些關(guān)鍵的因素你是需要考慮的。
但無論你選擇的是哪一個(gè)渠道,掌握好你自己的自學(xué)能力才是最重要的。因?yàn)榫幊滩煌谄渌袠I(yè),它總是在快速地進(jìn)化著。只有你自己能夠決定你是否能跟得上它的步伐。
學(xué)習(xí)編程的必須是成年人?
有這種想法的父母?jìng)?,?qǐng)不要把孩子的年齡作為理由來阻止他們學(xué)習(xí)編程了。據(jù)Code.org一篇文章顯示,現(xiàn)在已經(jīng)有請(qǐng)求說,要把編程納入到學(xué)校的必修科目中,這樣孩子們可以學(xué)會(huì)思考分析。
盡管如此,孩子與成人之間的學(xué)習(xí)模式是有區(qū)別的。最適合孩子的學(xué)習(xí)方法應(yīng)該是更直觀的學(xué)習(xí)方式,因?yàn)樗麄兊囊曈X感受更加發(fā)達(dá)。為此,Scratch 和Alice這兩個(gè)網(wǎng)站是很適合孩子們用來學(xué)習(xí)編程的,因?yàn)檫@個(gè)網(wǎng)站的內(nèi)容很形象化。
如果孩子們喜歡一個(gè)互動(dòng)的環(huán)境,可以選擇一些社區(qū)學(xué)院,例如Khan Academy就很不錯(cuò)。父母也可以參與到孩子的學(xué)習(xí)中,引導(dǎo)他們,給他們提供建議和資源,加上父母的支持,可以推動(dòng)孩子的學(xué)習(xí)積極性。
在Livecoding.tv上,一個(gè)叫Harrison(哈里森)的小男孩應(yīng)該是目前平臺(tái)上年紀(jì)最小的直播者了。小哈里森是一個(gè)從小就迷上編程的孩子。他喜歡在課間時(shí)完成作業(yè),因?yàn)檫@樣他放學(xué)回家后就可以有更多時(shí)間來學(xué)習(xí)編程了。2015年在livecoding.tv上直播他自己的第一個(gè)用Java開發(fā)的游戲Bluef時(shí),他才11歲?,F(xiàn)在,小哈里森的視頻瀏覽量已超過了12800多人。這個(gè)成績(jī)對(duì)一個(gè)只有11歲的孩子來說,已經(jīng)很了不起了。
必須學(xué)習(xí)最好的編程語言嗎?
“最好的”編程語言?這種說法其實(shí)是有點(diǎn)誤導(dǎo)性的,因?yàn)樽詈玫倪m合你學(xué)習(xí)的語言就是適合你目前的學(xué)習(xí)或工作的那一種。換句話說,并沒有最好的編程語言,它取決于你想用它來做什么。
不過對(duì)于初學(xué)者,有些語言是很適合的。Python是其中一種,它簡(jiǎn)單,易讀,靈活。Java也是容易學(xué)習(xí)的語言,而且它最大的好處是,有大量的文檔和一個(gè)穩(wěn)固的社區(qū)。你也可以學(xué)習(xí)C#。之后,根據(jù)語言的學(xué)習(xí)進(jìn)度,專有功能和它的通用性和可維護(hù)性等,你可以自己決定使用哪些工具。
掌握編程語言只需要幾周?
不要相信這個(gè)說法了。如果一個(gè)本來有抱負(fù)的年輕人在學(xué)習(xí)某種編程語言只有很短的時(shí)間后,發(fā)現(xiàn)自己無法在數(shù)周內(nèi)創(chuàng)建一個(gè)MMORPG時(shí)表現(xiàn)得心灰意冷,然后放棄成為一個(gè)游戲程序員的夢(mèng)想,這是讓人惋惜的。
事實(shí)上,你可以花幾個(gè)星期的時(shí)間來學(xué)習(xí)編程,但需要花幾年的時(shí)間來掌握它。編程就像繪畫,需要興趣和耐心,而你最初創(chuàng)建的大部分東西可能很少會(huì)被使用。然而,你只需要一步一步地繼續(xù)前進(jìn),你就可以成為一個(gè)好的程序員。你應(yīng)該感謝每一次失敗,因?yàn)檫@是你進(jìn)步的唯一方式。
我應(yīng)該記住所有語法?
從心理上來說,如果你在編程時(shí)沒有用到外人的指導(dǎo),你將記住一切,并成為一個(gè)真正的專家,因此你有能力從零開始開發(fā)任何東西。但事實(shí)是,你不必?fù)?dān)心要記住語法,因?yàn)樵谀阌心芰ΨD(zhuǎn)表格和自己創(chuàng)建框架之前,你會(huì)有好幾千次都在寫相同的代碼。
谷歌,IDE和框架不是從無聊中創(chuàng)造出來的。它們是專門為了幫助用戶更快地學(xué)會(huì)編程而設(shè)計(jì)的。最好的練習(xí)方法是使用帶有語法建議的IDE,以及當(dāng)你遇到困難的時(shí)候,隨時(shí)使用谷歌。
采用框架,有助你理解編程語言是做什么的以及它可以被推到什么樣的境界。然后當(dāng)你有了足夠的能力時(shí),你便可以體驗(yàn)具體的編程功能。探索編程世界,有時(shí)候,你會(huì)在亂七八糟的編碼中發(fā)火;有時(shí)候,你也會(huì)享受到編程帶給你的樂趣。
我真的寫不出那么多代碼
很多人都害怕要寫太多代碼。4000行的代碼是可以壓倒一切了。然而,雖然HTML不是編程語言,但一般來說它的每一個(gè)代碼文件都包含了相當(dāng)多的內(nèi)容。如果你有留意,你會(huì)發(fā)現(xiàn),這些成堆的代碼,都是由重復(fù)性的陳述,方法和循環(huán)組成的。程序員大多時(shí)候會(huì)使用在初級(jí)和中級(jí)編程課程里學(xué)到的相同的東西來解決簡(jiǎn)單的和復(fù)雜的方案。一旦你習(xí)慣了,你便會(huì)覺得10000行代碼是“小兒科”了。
女性不可以學(xué)習(xí)編程嗎?
讓我們看看下面這份名單就會(huì)知道,在世界上,女程序員一直很有影響力。
? Ada Lovelace 是世界上第一個(gè)程序員。
? Grace Murray Hopper開發(fā)了第一個(gè)編程語言的編譯器。
? Adele Goldstine 幫助創(chuàng)建了世界上第一個(gè)電子數(shù)字計(jì)算機(jī)。
? Jean E. Sammet開發(fā)了編程語言FORMAC,它是FORTRAN的變體。
? Marissa Mayer 是Google最早的程序員之一。
在livecoding.tv上,也有一個(gè)很受歡迎的女直播者。她叫Katherine,來自美國(guó),她對(duì)編程充滿熱忱,是一個(gè)自學(xué)成才的女程序員,至今已擁有了30多年的編程經(jīng)驗(yàn),精通前端設(shè)計(jì)。Katherine還是一名編程導(dǎo)師,20多年來,她一直在教年齡較大的人學(xué)習(xí)編程?,F(xiàn)在,她還教孩子和女士學(xué)習(xí)一些基本的編程技巧。Katherine在livecoding.tv上的用戶名叫awakekat。她的直播和視頻也是以編程教材為主,因此一直保持著很高的瀏覽人數(shù)。
女性在編程領(lǐng)域的影響力是顯而易見的,但就像大多數(shù)男人對(duì)香水行業(yè)不感興趣一樣,女性程序員的比例確實(shí)要低于男性程序員。這可能與社交壓力,經(jīng)濟(jì)壓力等其它因素以及兩性不同的角度和興趣有關(guān)。
只有精通編程才能開始賺錢嗎?
現(xiàn)在很多企業(yè)在招聘程序員時(shí),都要求應(yīng)聘者要有幾年的工作經(jīng)驗(yàn),而且要懂得多種編程語言。盡管如此,你仍然可以獲得一份和你的編程經(jīng)驗(yàn)相符的工作,關(guān)鍵是你得主動(dòng)去尋找機(jī)會(huì),工作是不會(huì)從天而降的。
你還可以嘗試接一些兼職的活來干。如果你是剛畢業(yè)的學(xué)生,你還可以應(yīng)聘一些實(shí)習(xí)生的職位,這是一個(gè)獲得一份全職工作的好機(jī)會(huì)。最重要的是,你要有一份能夠打動(dòng)人的工作履歷,它可以展示你的能力。良好的聲譽(yù)會(huì)對(duì)你很有幫助,所以你應(yīng)該做一些開源項(xiàng)目。
你也可以經(jīng)?;钴S在編程社區(qū)或社交網(wǎng)站,拓展你的人脈?,F(xiàn)在已經(jīng)有很多程序員愛上了直播編程,因?yàn)檫@是一種很好的編程社交方式,它不但有助提高你的編程技術(shù),還可以幫助你更好地營(yíng)銷自己。此外,當(dāng)自由職業(yè)者也是一個(gè)很好的選擇?,F(xiàn)在已經(jīng)有越來越多企業(yè)喜歡聘用自由職業(yè)者了。無論是哪一個(gè)選擇,總有一個(gè)值得討論的空間。每個(gè)人找到適合自己的方式才是最重要的,但無論如何,你必須行動(dòng)起來!
總而言之,編程與其它行業(yè)一樣,努力工作和決心才是成功的資本。所以,不要被這些誤區(qū)阻礙了你學(xué)習(xí)編程和成為程序員的決心。在Livecoding.tv上,我們可以看到不同國(guó)籍,不同年齡的直播者。他們的編程水平也各不相同,有初學(xué)者,也有大牛,但他們都熱愛著編程。從今天開始,邁出你程序人生的第一步吧——學(xué)習(xí)編程。相信自己,總有一天,你會(huì)成為出色的程序員,擁有一個(gè)燦爛的職業(yè)生涯。
-
PLC編程
+關(guān)注
關(guān)注
46文章
246瀏覽量
37453
原文標(biāo)題:澄清學(xué)習(xí)編程的10大誤區(qū)
文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論