我相信這是大多初學者困惑的問題,也是阻礙很多初學者學習進度的問題。你不知道從哪裡開始學習,或者不知道從何開始,接下來我以自己的學習經曆,給大家提供一些建議,希望對你有幫助。
(1)你應該具備什麼基礎:
自學你至少得有一台自己電腦,這台電腦不需要配置有多高,除非你學習的是開發大型3D遊戲。傳統的開發學習,普通筆記本、桌上型電腦都可以的,但是必須得有網絡,因為你需要從網絡上擷取這種學習資料,況且我們是在學習資訊技術,沒有網絡怎麼可能,想一想多可怕,最重要的是,你要喜歡它再去學它,如果不喜歡它,學了又有什麼意義。
(2)數學、英語不好,能學好程式設計嗎?
就這麼說吧,如果你感覺自己數學不好,但是你喜歡資訊技術方面,你就好好學吧,你是能學好程式設計的。我的數學和英語真的是超級不好,原因是我不喜歡它們。程式設計的邏輯性挺強的,但是不代表你的數學不好你的程式設計就學得差,它們本就不是一個回事,雖然程式設計很多時候用于科學計算方面,但是如果我們學習程式設計是為了開發應用軟體,為的是找工作,程式設計本就沒有那麼别人說的那麼難。
英語不好呢?那也可以學好的。計算機發展技術源自西方,西方人在這方面做得比我們多,當然這些計算機語言幾乎全是英語字母組合的。我想,如果我們能趕在西方之前發展資訊技術,現在外國人估計就使用中文來程式設計了。但是我英語不好,句子都讀不通順,怎麼辦?沒關系的,讀代碼與讀英國文章完全不一樣,雖然大多數代碼使用的是英文字母來編寫,而了解代碼更多的是了解它的邏輯。但是,如果你的英語不好,你最好提高一下的英語水準,因為很多開發文檔、教程,是使用英文來寫的。不是說你英語不好你就不能寫代碼,但是你不能連“hello”、“how are you”這些簡單的英文單詞都不認識,也就是說,你具有國中畢業生的英語水準就可以學習程式設計了。
(3)選擇自己喜歡的方面入門:
軟體開發過程中根據不同的需要,包含了多個工作任務和多種工作流程,是以也産生了不同的工作崗位,前端工程師:Android工程師、IOS工程師、Web前端工程師,後端工程師:C/C++開發工程師、Java後端工程師、Python後端工程師、PHP工程師,Linux運維工程師,現在還流行着大資料工程師、AI(人工智能)工程師,等等。當然,在人員缺少的情況下有的人卻擔任了好幾種身份,但是在大公司裡面,分工一般是明确的。
那怎麼開始入門學習呢?首先,選擇自己喜歡的語言,選擇自己方向,朝着那麼目标學習。可是我都沒了解過,我怎麼知道什麼程式設計語言适合我?這就需要你事先了解一下了,既然打算自學程式設計,那你應該查閱一些資料了解一下,什麼語言适合來做什麼,自己又應該學習什麼語言。當然,我們的長遠的目标是精通一個技術方向,但是其他方向最好是什麼都要會。
是以,我建議你選擇自己喜歡的方向,容易得入門的方向進行入門學習。可是有的人說現在很火的不是大資料、人工智能嗎?月薪兩三萬、四五萬的。但是你要知道,對于一個任何基礎都沒有的普通初學者,需要花多少功夫才能達到大資料工程師、AI工程師的水準,是以學習基礎是十分重要的,至少得保證你有一樣技能了,能保證自己能勝任某項工作之後,再朝着更高得層次努力,也許那樣會更好。
我當年選擇C++作為入門學習的方向,原因是我挺喜歡C++。我開學習C++的時候是在2015年,那時候很多人說C++市場不如Java,學習C/C++會找不到工作。但是我并沒有放棄,我想,如果有時間去擔心以後找不到工作,為什麼不靜下心來好好學,隻要學好了為什麼還要怕找不到工作,為什麼自己不可以作為那些學習C/C++中的佼佼者,你可以比别人笨,但是你也可以比别人努力,況且,又有多少人真正的承認自己比别人笨呢?現在再回想自己當年學習C++的時候,每天晚上堅持觀看視訊,記筆記,先學C語言基礎,後是C++基礎,資料結構算法,就這樣堅持好幾個月。挺辛苦,可是後來收獲的是開心的。
當然,你有很多選擇。如果你喜歡APP開發,那麼就是Android和IOS了,而Android學習成本比IOS學習成本低,原因就是如果你要做IOS開發你需要mac電腦,Android開發使用普通的Windows就可以,進一步學習的話你可以安裝一個Linux作業系統,再加上一個幾百元的Android手機就可以學習了,等你掌握Android開發後再學習IOS也不遲。
如果你喜歡後端開發,我建議你選擇C++、Java、Python這些語言。假如你之前沒有接觸過程式設計,隻要認真學,這些語言挺容易入門的,如果有一點C語言基礎那更好。
而如果你喜歡Web 前端,那你就好好學習H5+CSS3+JavaScript,一個合格web前端工程師除了能把網站做出漂亮的特效,還要懂得後端的知識,這時可以學一學Node.js。雖然開發技術分類很多,但是這些技術都是相通的,有了一門技術的基礎之後,再學習其它技術就輕而易舉了。而在初學者階段,你需要選擇一門技術進行系統的學習,同時不要忘記多了解一些其他的技術。
以下是程式設計語言在某個時間段的排行榜:
(4)怎麼擷取學習資源?
你可以買一本書。書有好有壞,有的書适合初學者,而有的書不适合初學者;有的書通俗易懂,也有一些書全是廢話,甚至錯誤一堆,這就需要你好好辨認了。有的書适合你,但是有的書雖好,卻不适合你,你應該到書店裡面,到圖書館裡面好好翻一翻,選擇合适自己的一本系統教學書籍。對于技術類型的書,盡量選擇比較新的,對于同一種技術,盡量避免好幾年的書籍,因為技術書籍不像文學書籍那樣,技術每天都在改變。
你還可以看一套系統的視訊教程。網際網路上免費的教程資源很多,如果好好利用,相信你一定能學好的。有的視訊裡老師講課方式不适合你,而有的老師講課方式很适合你,我相信後者對你的進步更有幫助。現在教學網站也很多,也提供了大量的免費資源,如極客學院、慕課網,百度傳課、騰訊課堂等等都有大量的免費資源,建議你花一些時間去嘗試聽一下多套視訊的第一節課,最後選擇最适合自己的一套。
(5)要回利用網際網路解決問題:
你在學習程式設計過程中必定遇到很多問題,甚至有時出現的bug讓自己感到崩潰、無助,這時不要慌,這是很多初學者都是必定經曆的過程,隻要一個一個問題的解決了,積累經驗,以後你才能解決實際開發中遇到的問題。在你遇到錯誤時,把你出現的錯誤百度一下,必定别人也遇到過,并有一堆的解決辦法。你還可以到各大論壇尋求幫助,如國内的CSDN論壇,如果你英語閱讀能力比較好,還可以到stackoverflow.com網站上尋求全球開發者的幫助。
(6)多讀别人的代碼,借鑒别人的長處:
閱讀别人的代碼是自己提高編碼能力的一個方法,你可以看到自己與大神的距離,然後努力朝着目标努力,一個合格的開發者,不僅能自己寫代碼,還要有閱讀别人代碼的能力。
(7)多練習,孰能生巧:
學習中程式設計的過程中,看懂和會做完全是兩回事,不要覺得自己看視訊看懂了,或者看書看懂了就從來不去編碼練習了。往往很多人看懂了,但是自己卻敲出一堆的錯誤,這階段你需要不斷地練習。網上說的“7天掌握PHP”、“5節課掌握java”,等等這些,以一個普通初學者的角度來說絕對是不可能的,作為初學者,應該腳踏實地,每天堅持,積累上幾萬行代碼,甚至幾十萬行代碼,也許那樣才是真正的入門。這世上沒有不勞而獲的,所有的收獲,必定經曆付出,知識也一樣,加油!
總結:
上一個世紀的前輩們在學習的時候,他們沒有網絡,沒有那麼多學習資料,而他們卻能給後人創造了很多有價值的東西,他們都那麼堅持,我們就沒有理由不努力了。
不管怎麼說,學習程式設計不容易,一定要真正地喜歡它再去學,腳踏實地,堅持不懈,往既定的目标努力。入門學習的付出是辛苦的,甚至是乏味的,但是拼一拼,努力奮鬥,相比最後得到的,是值得的。加油!
另外的話為了幫助大家,輕松,高效學習C語言/C++,我給大家分享我收集的資源,從最零基礎開始的教程到C語言項目案例,幫助大家在學習C語言的道路上披荊斬棘!可以來我粉絲群領取哦~
程式設計學習書籍分享:
程式設計學習視訊分享:
整理分享(多年學習的源碼、項目實戰視訊、項目筆記,基礎入門教程)最重要的是你可以在群裡面交流提問程式設計問題哦!
對于C/C++感興趣可以關注小編在背景私信我:【程式設計交流】一起來學習哦!可以領取一些C/C++的項目學習視訊資料哦!已經設定好了關鍵詞自動回複,自動領取就好了!