這篇文章我將以我自學編程的經歷、自己遇到的坑、如何解決問題等方面,給初學者朋友們分享自己的經驗,希望對正在自學編程的你有幫助,如果哪里說的不對,也望得到您的批評指正!
1.為什么要學習編程?
(1)因為愛好:
如果你對資訊技術充滿激情與愛好,日常喜歡研究電腦、智能手機等,想要掌握計算機更多的知識,想讓自己學會開發出自己的桌面軟體、網站、APP,
(2)想要獲得高薪資的作業:
IT行業的工資相對于傳統行業來說工資是比較高的,IT行業適用領域很廣闊,餐飲、交通、物流、醫療、金融、教育等各大行業都離不開IT行業的支持,如果掌握這個行業的一門技術,那吃飯是不成問題的,能不能吃好飯就看自己了,
當然,你最好自己喜歡這個行業,喜歡資訊技術,然后堅持往這個方向發展,如果僅僅是想要賺錢,也許編程不適合你,如果能把自己的對資訊技術的熱愛投身到自己的作業職業中,這是最好的,接下來的文章中,我假設以求職為目標,來給大家分享自學編程的經驗,
2.怎么通俗易懂地理解軟體開發
簡單的理解就是通過某種編程語言,撰寫特定代碼指令、執行代碼,讓計算機幫助我們做一些計算、執行一些任務,等等,
(2)編程的最終目的是什么?
更通俗的說撰寫代碼的大多數終目的是開發一套完整的軟體系統,我們知道軟體可以幫我們做很多事,比如說我們使用QQ軟體和朋友聊天、使用百度網站搜索資料、在論壇網站上問問題、使用WPS軟體撰寫檔案、使用PS軟體處理圖片,等等,這些都是軟體,通過開發者撰寫代碼、打包、上線等多個步驟,最后形成一套完整的程式,供用戶使用,
(3)B/S架構和C/S架構
現在市面上的軟體如果按照某種特定分類方法可分為兩種: B(Browser)/S(Server)架構(瀏覽器/服務器)和C(Client)/S(Server)架構(客戶端/服務器),當然,還有單機軟體,現在還有部分軟體是不需要聯網就可以為人們提供服務的,比如說很多人手機上計算器APP,簡單的說,使用瀏覽器打開的網站是B/S架構的軟體,而直接打開客戶端使用的是C/S架構的軟體,
(4)那什么編程語言?
編程語言是用來定義計算機程式的形式語言,人與人交流使用的是漢語、英語、阿拉伯語等等,而人與計算機交流使用的就是計算機編程語言,通過撰寫特定的代碼片段讓計算機理解我們的意圖,于是后來有了很多種計算機編程語言,如C++、C#、Java、JavaScript、PHP、Kotlin,匯編語言等等,
3.認識程式員(軟體開發者)這個作業職務
就現在的社會需求來說,作為軟體開發者,我們應該至少懂得一門編程語言,并且能利用軟體開發使用這種編程語言在實際作業中完成相應的作業,至少這樣才是一個合格軟體開發者, 現在很多軟體開發專案中都是由多個人來完成的,那么必定由一個開發者負責開發環節中特定的任務,如java后端工程師撰寫與資料互動的代碼邏輯,Android工程師負責撰寫Android APP,IOS工程師負責撰寫iPhone APP,等等,
(2)軟體開發者應該長期具備什么能力?
首先:不斷學習,在軟體開發這個領域中,開發技術不斷的更新與變化,如果想要具備競爭能力,那就必須不斷的學習,而不是長期以原有的技識訓飯吃,如果真是這樣,最終是要被淘汰的,這個行業不適合想要一勞永逸的人,在這個行業必須不斷學習、創新,你必須具備不怕苦不怕累的創業精神, 其次:做一個有計劃的人:你應該時時有危機感,那么就給自己制定計劃,不管是短期計劃還是長期計劃,朝著那個目標努力,你會越來越優秀,你是一個初級程式員,你應該朝著高級程式員的目標努力;你一個高級程式員,你應該朝著架構師的目標努力;而當你成為了架構師,你應該朝著管理者的目標努力,只有做好計劃,并隨著時間的改變而改變,朝著目標努力,你才能不斷實作自己的價值,
4.沒有編程基礎,我該怎么入門?
我相信這是大多初學者困惑的問題,也是阻礙很多初學者學習進度的問題,你不知道從哪里開始學習,或者不知道從何開始,接下來我以自己的學習經歷,給大家提供一些建議,希望對你有幫助,
(1)你應該具備什么基礎:
自學你至少得有一臺自己電腦,這臺電腦不需要配置有多高,除非你學習的是開發大型3D游戲,傳統的開發學習,普通筆記本、臺式機都可以的,但是必須得有網路,因為你需要從網路上獲取這種學習資料,況且我們是在學習資訊技術,沒有網路怎么可能,想一想多可怕,最重要的是,你要喜歡它再去學它,如果不喜歡它,學了又有什么意義,
(2)數學、英語不好,能學好編程嗎?
就這么說吧,如果你感覺自己數學不好,但是你喜歡資訊技術方面,你就好好學吧,你是能學好編程的,我的數學和英語真的是超級不好,原因是我不喜歡它們,編程的邏輯性挺強的,但是不代表你的數學不好你的編程就學的差,它們本就不是一個回事,雖然編程很多時候用于科學計算方面,但是如果我們學習編程是為了開發應用軟體,為的是找作業,編程本就沒有那么別人說的那么難,
英語不好呢?那也可以學好的,計算機發展技術源自西方,西方人在這方面做的比我們多,當然這些計算機語言幾乎全是英語字母組合的,我想,如果我們能趕在西方之前發展資訊技術,現在外國人估計就使用中文來編程了,但是我英語不好,句子都讀不通順,怎么辦?沒關系的,讀代碼與讀英語文章完全不一樣,雖然大多數代碼使用的是英文字母來撰寫,而理解代碼更多的是理解它的邏輯,但是,如果你的英語不好,你最好提高一下的英語水平,因為很多開發檔案、教程,是使用英文來寫的,不是說你英語不好你就不能寫代碼,但是你不能連“hello”、“how are you”這些簡單的英文單詞都不認識,也就是說,你具有初中畢業生的英語水平就可以學習編程了,
(3)選擇自己喜歡的方面入門:
軟體開發程序中根據不同的需要,包含了多個作業任務和多種作業流程,因此也產生了不同的作業崗位,前端工程師:Android工程師、IOS工程師、Web前端工程師,后端工程師:Java后端工程師、Python后端工程師、PHP工程師,Linux運維工程師,現在還流行著大資料工程師、AI(人工智能)工程師,等等,當然,在人員缺少的情況下有的人卻擔任了好幾種身份,但是在大公司里面,分工一般是明確的,
那怎么開始入門學習呢?首先,選擇自己喜歡的語言,選擇自己方向,朝著那么目標學習,可是我都沒了解過,我怎么知道什么編程語言適合我?這就需要你事先了解一下了,既然打算自學編程,那你應該查閱一些資料了解一下,什么語言適合來做什么,自己又應該學習什么語言,當然,我們的長遠的目標是精通一個技術方向,但是其他方向最好是什么都要會,
所以,我建議你選擇自己喜歡的方向,容易的入門的方向進行入門學習,可是有的人說現在很火的不是大資料、人工智能嗎?月薪兩三萬、四五萬的,但是你要知道,對于一個任何基礎都沒有的普通初學者,需要花多少功夫才能達到大資料工程師、AI工程師的水平,所以學習基礎是十分重要的,至少得保證你有一樣技能了,能保證自己能勝任某項作業之后,再朝著更高得層次努力,也許那樣會更好,
我當年選擇Android作為入門學習的方向,原因是我挺喜歡Android,我開學習Android的時候是在2015年,那時候很多人說Android現在飽和了,學習Android會找不到作業,但是我并沒有放棄學習Android,我想,如果有時間去擔心以后找不到作業,為什么不靜下心來好好學,只要學好了為什么還要怕找不到作業,為什么自己不可以作為那些學習Android中的佼佼者,你可以比別人笨,但是你也可以比別人努力,況且,又有多少人真正的承認自己比別人笨呢?現在再回想自己當年學習Android的時候,每天晚上堅持觀看視頻,記筆記,先學Java基礎,后是Android基礎,就這樣堅持好幾個月,挺辛苦,可是后來識訓的是開心的,
當然,你有很多選擇,如果你喜歡APP開發,那么就是Android和IOS了,而Android學習成本比IOS學習成本低,原因就是如果你要做IOS開發你需要mac電腦,Android開發使用普通的Windows就可以,進一步學習的話你可以安裝一個Linux作業系統,再加上一個幾百元的Android手機就可以學習了,等你掌握Android開發后再學習IOS也不遲,如果你喜歡后端開發,我建議你選擇Java、Python、PHP這些語言,假如你之前沒有接觸過編程,只要認真學,這些語言挺容易入門的,如果有一點C語言基礎那更好,而如果你喜歡Web 前端,那你就好好學習H5+CSS3+JavaScript,一個合格web前端工程師除了能把網站做出漂亮的特效,還要懂得后端的知識,這時可以學一學Node.js,雖然開發技術分類很多,但是這些技術都是相通的,有了一門技術的基礎之后,再學習其它技術就輕而易舉了,而在初學者階段,你需要選擇一門技術進行系統的學習,同時不要忘記多了解一些其他的技術,如果你有關于編程的相關問題可以加博主的扣扣群:879151479來交流一下
以下是編程語言在某個時間段的排行榜:
(4)怎么獲取學習資源?
你可以買一本書,書有好有壞,有的書適合初學者,而有的書不適合初學者;有的書通俗易懂,也有一些書全是廢話,甚至錯誤一堆,這就需要你好好辨認了,有的書適合你,但是有的書雖好,卻不適合你,你應該到書店里面,到圖書館里面好好翻一翻,選擇合適自己的一本系統教學書籍,對于技術型別的書,盡量選擇比較新的,對于同一種技術,盡量避免好幾年的書籍,因為技術書籍不像文學書籍那樣,技術每天都在改變,
你還可以看一套系統的視頻教程,互聯網上免費的教程資源很多,如果好好利用,相信你一定能學好的,有的視頻里老師講課方式不適合你,而有的老師講課方式很適合你,我相信后者對你的進步更有幫助,現在教學網站也很多,也提供了大量的免費資源,如極客學院、慕課網,百度傳課、騰訊課堂等等都有大量的免費資源,建議你花一些時間去嘗試聽一下多套視頻的第一節課,最后選擇最適合自己的一套,
(5)要回利用互聯網解決問題:
你在學習編程程序中必定遇到很多問題,甚至有時出現的bug讓自己感到崩潰、無助,這時不要慌,這是很多初學者都是必定經歷的程序,只要一個一個問題的解決了,積累經驗,以后你才能解決實際開發中遇到的問題,在你遇到錯誤時,把你出現的錯誤百度一下,必定別人也遇到過,并有一堆的解決辦法,你還可以到各大論壇尋求幫助,如國內的CSDN論壇,如果你英語閱讀能力比較好,還可以到網站上尋求全球開發者的幫助,
(6)多讀別人的代碼,借鑒別人的長處:
閱讀別人的代碼是自己提高編碼能力的一個方法,你可以看到自己與大神的距離,然后努力朝著目標努力,一個合格的開發者,不僅能自己寫代碼,還要有閱讀別人代碼的能力,
(7)多練習,孰能生巧: 學習中編程的程序中,看懂和會做完全是兩回事,不要覺得自己看視頻看懂了,或者看書看懂了就從來不去編碼練習了,往往很多人看懂了,但是自己卻敲出一堆的錯誤,這階段你需要不斷的練習,網上說的“7天掌握PHP”、“5節課掌握java”,等等這些,以一個普通初學者的角度來說絕對是不可能的,作為初學者,應該腳踏實地,每天堅持,積累上幾萬行代碼,甚至幾十萬行代碼,也許那樣才是真正的入門,這世上沒有不勞而獲的,所有的識訓,必定經歷付出,知識也一樣,加油!
5.總結:
上一個世紀的前輩們在學習的時候,他們沒有網路,沒有那么多學習資料,而他們卻能給后人創造了很多有價值的東西,他們都那么堅持,我們就沒有理由不努力了, 不管怎么說,學習編程不容易,一定要真正的喜歡它再去學,腳踏實地,堅持不懈,往既定的目標努力,入門學習的付出是辛苦的,甚至是乏味的,但是拼一拼,努力奮斗,相比最后得到的,是值得的,加油!如果你有關于編程的相關問題可以加博主的扣扣群:879151479來交流一下,
本文的文字及圖片來源于網路加上自己的想法,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/121080.html
標籤:其他
下一篇:基于無線通信的多車控制系統
