'零基礎如何自學編程?| 程序員有話說'

""零基礎如何自學編程?| 程序員有話說

作者 | 阿文

責編 | 伍杏玲

出品 | 程序人生(ID:coder_life)

【程序人生 編者按】很多想轉行的朋友會問:零基礎我該如何自學編程?作者作為一名文科生,零基礎轉行為網易工程師,在本文中作者分享了自己的學習方法,希望對你有所啟發。

很多工作一兩年的朋友經常會感到迷茫,尤其是一些在傳統行業一線崗位工作的年輕人,當前的工作機械重複,升職加薪沒希望,薪資待遇又不高,於是萌生出跳槽轉行的想法,看來看去,發現高薪行業無非就是金融、互聯網、房地產等行業。

於是很多人把目光投向了程序員這行當,認為有一臺電腦就可以學編程,成本很低而且薪資待遇相對來說是比較高的。目前互聯網對於軟件開發的需求極大,現在是互聯網+時代,大數據、雲計算等技術的應用,使得未來互聯網化是必不可擋的趨勢。因此,這是一個非常熱門且有前景的行業。

上面的這些問題筆者也遇到過,筆者本人也是一位文科轉行過來的,作為一名過來人,我就自己的一些經驗和大家分享下作為一名零基礎的同學應該如何學習、找工作、選方向。

"零基礎如何自學編程?| 程序員有話說

作者 | 阿文

責編 | 伍杏玲

出品 | 程序人生(ID:coder_life)

【程序人生 編者按】很多想轉行的朋友會問:零基礎我該如何自學編程?作者作為一名文科生,零基礎轉行為網易工程師,在本文中作者分享了自己的學習方法,希望對你有所啟發。

很多工作一兩年的朋友經常會感到迷茫,尤其是一些在傳統行業一線崗位工作的年輕人,當前的工作機械重複,升職加薪沒希望,薪資待遇又不高,於是萌生出跳槽轉行的想法,看來看去,發現高薪行業無非就是金融、互聯網、房地產等行業。

於是很多人把目光投向了程序員這行當,認為有一臺電腦就可以學編程,成本很低而且薪資待遇相對來說是比較高的。目前互聯網對於軟件開發的需求極大,現在是互聯網+時代,大數據、雲計算等技術的應用,使得未來互聯網化是必不可擋的趨勢。因此,這是一個非常熱門且有前景的行業。

上面的這些問題筆者也遇到過,筆者本人也是一位文科轉行過來的,作為一名過來人,我就自己的一些經驗和大家分享下作為一名零基礎的同學應該如何學習、找工作、選方向。

零基礎如何自學編程?| 程序員有話說

怎麼入行

作為作為一名零基礎的學員,在開始學習編程時會遇到各種各樣的挫折,例如:

  • 選什麼樣的語言

  • 編程環境怎麼搭建

  • 語法看不懂

  • 遇到錯誤了怎麼解決

  • 寫完了代碼調試不通過

……

我們看下怎麼選擇語言,是選擇最新潮的 Python、Go,還是選擇比較傳統的 Java 呢?其實沒有絕對的優勢,都是各有優劣。

Python、Go 雖說比較新潮,但是市面上的崗位需求還是比不了 Java 的,畢竟 Java 作為最受歡迎的編程語言之一,Java 已經走過了 20 多個年頭。從已經落寞的諾基亞到現在火熱的電商系統,我們都能看到 Java 語言的身影。在未來,Java 仍將會是最受歡迎的編程語言之一。

如果你想成為一名合格的後端工程師,並且想入職知名的互聯網公司,那我推薦你深入學習 Java。事實上,一些高薪高福利的崗位都只有大公司可以提供。

小型互聯網公司的福利都很一般,比如公積金社保按最低基數繳納。因此我建議如果是想未來從事相關工作,建議選擇應用範圍和前景比較廣闊的語言學習,有錢途。

這裡並不是說你這輩子就只會這一門語言就行了,只是說一開始為了節約時間成本,你可以先學習主流的 Java 語言。

等你未來真正工作再學習其他的語言。畢竟語言這門東西都是觸類旁通的,從編譯型語言到解釋型語言學起來不難。

事實上,真正的開發者都是同時具備很多編程語言的編碼能力的,有可能一個項目用 Java,而另外一個項目用 Python。

在剛入行的情況下,我建議先全身心的投入啃完一門語言。

選好了編程語言之後,你就該搭建環境然後開始學習了。

接下來該遇到的問題就是報班培訓好,還是自學好。

其實這個問題我覺得看個人,如果你學習起來比較困難,很多都不懂,建議先找些視頻資料學習一篇,照著敲,然後看書鞏固,培訓班看個人財力和時間是否允許吧,如果自制力差,選擇培訓班也可以。

但是我不相信一個自制力差的人靠培訓班就可以改變自制力差的本質。其實,像 Java 這類編程語言的學習資料可以說一搜一籮筐了,完全不用擔心哪裡不懂,網上資料太多了。不懂的地方百度、谷歌一點點消化了。

在學習過程中我不建議你去記筆記,建議你在看完書和視頻教程之後把所學的東西整理成博客,用自己的語言把你學的東西總結一遍。只有你自己掌握的知識才是真正屬於你的,照著視頻或書本敲的那都算。

這一階段,建議你把一些語法、API 理解透徹,能夠融匯貫通的使用,可以自己學習完後做一些小項目練練手,因為你只是會使用 API會語法,那不能叫會編程,那樣和死記硬背沒啥區別,編程是一門動手能力要求很強的活。一定要動手實踐。

"零基礎如何自學編程?| 程序員有話說

作者 | 阿文

責編 | 伍杏玲

出品 | 程序人生(ID:coder_life)

【程序人生 編者按】很多想轉行的朋友會問:零基礎我該如何自學編程?作者作為一名文科生,零基礎轉行為網易工程師,在本文中作者分享了自己的學習方法,希望對你有所啟發。

很多工作一兩年的朋友經常會感到迷茫,尤其是一些在傳統行業一線崗位工作的年輕人,當前的工作機械重複,升職加薪沒希望,薪資待遇又不高,於是萌生出跳槽轉行的想法,看來看去,發現高薪行業無非就是金融、互聯網、房地產等行業。

於是很多人把目光投向了程序員這行當,認為有一臺電腦就可以學編程,成本很低而且薪資待遇相對來說是比較高的。目前互聯網對於軟件開發的需求極大,現在是互聯網+時代,大數據、雲計算等技術的應用,使得未來互聯網化是必不可擋的趨勢。因此,這是一個非常熱門且有前景的行業。

上面的這些問題筆者也遇到過,筆者本人也是一位文科轉行過來的,作為一名過來人,我就自己的一些經驗和大家分享下作為一名零基礎的同學應該如何學習、找工作、選方向。

零基礎如何自學編程?| 程序員有話說

怎麼入行

作為作為一名零基礎的學員,在開始學習編程時會遇到各種各樣的挫折,例如:

  • 選什麼樣的語言

  • 編程環境怎麼搭建

  • 語法看不懂

  • 遇到錯誤了怎麼解決

  • 寫完了代碼調試不通過

……

我們看下怎麼選擇語言,是選擇最新潮的 Python、Go,還是選擇比較傳統的 Java 呢?其實沒有絕對的優勢,都是各有優劣。

Python、Go 雖說比較新潮,但是市面上的崗位需求還是比不了 Java 的,畢竟 Java 作為最受歡迎的編程語言之一,Java 已經走過了 20 多個年頭。從已經落寞的諾基亞到現在火熱的電商系統,我們都能看到 Java 語言的身影。在未來,Java 仍將會是最受歡迎的編程語言之一。

如果你想成為一名合格的後端工程師,並且想入職知名的互聯網公司,那我推薦你深入學習 Java。事實上,一些高薪高福利的崗位都只有大公司可以提供。

小型互聯網公司的福利都很一般,比如公積金社保按最低基數繳納。因此我建議如果是想未來從事相關工作,建議選擇應用範圍和前景比較廣闊的語言學習,有錢途。

這裡並不是說你這輩子就只會這一門語言就行了,只是說一開始為了節約時間成本,你可以先學習主流的 Java 語言。

等你未來真正工作再學習其他的語言。畢竟語言這門東西都是觸類旁通的,從編譯型語言到解釋型語言學起來不難。

事實上,真正的開發者都是同時具備很多編程語言的編碼能力的,有可能一個項目用 Java,而另外一個項目用 Python。

在剛入行的情況下,我建議先全身心的投入啃完一門語言。

選好了編程語言之後,你就該搭建環境然後開始學習了。

接下來該遇到的問題就是報班培訓好,還是自學好。

其實這個問題我覺得看個人,如果你學習起來比較困難,很多都不懂,建議先找些視頻資料學習一篇,照著敲,然後看書鞏固,培訓班看個人財力和時間是否允許吧,如果自制力差,選擇培訓班也可以。

但是我不相信一個自制力差的人靠培訓班就可以改變自制力差的本質。其實,像 Java 這類編程語言的學習資料可以說一搜一籮筐了,完全不用擔心哪裡不懂,網上資料太多了。不懂的地方百度、谷歌一點點消化了。

在學習過程中我不建議你去記筆記,建議你在看完書和視頻教程之後把所學的東西整理成博客,用自己的語言把你學的東西總結一遍。只有你自己掌握的知識才是真正屬於你的,照著視頻或書本敲的那都算。

這一階段,建議你把一些語法、API 理解透徹,能夠融匯貫通的使用,可以自己學習完後做一些小項目練練手,因為你只是會使用 API會語法,那不能叫會編程,那樣和死記硬背沒啥區別,編程是一門動手能力要求很強的活。一定要動手實踐。

零基礎如何自學編程?| 程序員有話說

很多新手最容易犯的毛病就是寫一個東西,比如一個計算器上來就刷刷刷寫代碼,其實這樣是不對的,任何一個項目都不是上來就動手寫代碼。

我們需要把業務的邏輯理清楚了,哪些需要注意的地方都想明白了,可以把程序的調用鏈或程序的執行流程畫成流程圖的方式。把一些該注意的點都考慮到位然後在動手寫代碼。這樣才能理解透徹。

在學習過程中不要把自己當初一名學習者,而應該把自己當成一名真正的開發者:

  • 記錄博客,對於未來的求職也是一個加分項,尤其是對於新手而言。

  • 練習的代碼放 GitHub,方便你以及同事查閱,這也是一個加分項。

  • 不要死記硬背語法和 API,這樣是沒有任何用處的,你是要用語言去實現一些功能。我見過很多新手抱著一本《Thinking in Java》在啃,其實剛入門真的沒有必要。

  • 簡歷上寫:通過 XXX 技術實現了 XXXXX項目,而不是精通 XXX 語法、XXX API。

  • 接受不確定性,因為你在實際的編碼過程中會遇到各種問題,不懂的就去查資料,然後消化和理解他。

  • 要遞歸地去學習,而不是拿著一本書從頭把語法肯到尾。什麼是遞歸學習,遞歸學習是指為了搞懂A,而去學B,為了學會B,而去學C,這叫遞歸學習,遞歸雖深,但有回溯,它最終會回溯到我們的起點。

"零基礎如何自學編程?| 程序員有話說

作者 | 阿文

責編 | 伍杏玲

出品 | 程序人生(ID:coder_life)

【程序人生 編者按】很多想轉行的朋友會問:零基礎我該如何自學編程?作者作為一名文科生,零基礎轉行為網易工程師,在本文中作者分享了自己的學習方法,希望對你有所啟發。

很多工作一兩年的朋友經常會感到迷茫,尤其是一些在傳統行業一線崗位工作的年輕人,當前的工作機械重複,升職加薪沒希望,薪資待遇又不高,於是萌生出跳槽轉行的想法,看來看去,發現高薪行業無非就是金融、互聯網、房地產等行業。

於是很多人把目光投向了程序員這行當,認為有一臺電腦就可以學編程,成本很低而且薪資待遇相對來說是比較高的。目前互聯網對於軟件開發的需求極大,現在是互聯網+時代,大數據、雲計算等技術的應用,使得未來互聯網化是必不可擋的趨勢。因此,這是一個非常熱門且有前景的行業。

上面的這些問題筆者也遇到過,筆者本人也是一位文科轉行過來的,作為一名過來人,我就自己的一些經驗和大家分享下作為一名零基礎的同學應該如何學習、找工作、選方向。

零基礎如何自學編程?| 程序員有話說

怎麼入行

作為作為一名零基礎的學員,在開始學習編程時會遇到各種各樣的挫折,例如:

  • 選什麼樣的語言

  • 編程環境怎麼搭建

  • 語法看不懂

  • 遇到錯誤了怎麼解決

  • 寫完了代碼調試不通過

……

我們看下怎麼選擇語言,是選擇最新潮的 Python、Go,還是選擇比較傳統的 Java 呢?其實沒有絕對的優勢,都是各有優劣。

Python、Go 雖說比較新潮,但是市面上的崗位需求還是比不了 Java 的,畢竟 Java 作為最受歡迎的編程語言之一,Java 已經走過了 20 多個年頭。從已經落寞的諾基亞到現在火熱的電商系統,我們都能看到 Java 語言的身影。在未來,Java 仍將會是最受歡迎的編程語言之一。

如果你想成為一名合格的後端工程師,並且想入職知名的互聯網公司,那我推薦你深入學習 Java。事實上,一些高薪高福利的崗位都只有大公司可以提供。

小型互聯網公司的福利都很一般,比如公積金社保按最低基數繳納。因此我建議如果是想未來從事相關工作,建議選擇應用範圍和前景比較廣闊的語言學習,有錢途。

這裡並不是說你這輩子就只會這一門語言就行了,只是說一開始為了節約時間成本,你可以先學習主流的 Java 語言。

等你未來真正工作再學習其他的語言。畢竟語言這門東西都是觸類旁通的,從編譯型語言到解釋型語言學起來不難。

事實上,真正的開發者都是同時具備很多編程語言的編碼能力的,有可能一個項目用 Java,而另外一個項目用 Python。

在剛入行的情況下,我建議先全身心的投入啃完一門語言。

選好了編程語言之後,你就該搭建環境然後開始學習了。

接下來該遇到的問題就是報班培訓好,還是自學好。

其實這個問題我覺得看個人,如果你學習起來比較困難,很多都不懂,建議先找些視頻資料學習一篇,照著敲,然後看書鞏固,培訓班看個人財力和時間是否允許吧,如果自制力差,選擇培訓班也可以。

但是我不相信一個自制力差的人靠培訓班就可以改變自制力差的本質。其實,像 Java 這類編程語言的學習資料可以說一搜一籮筐了,完全不用擔心哪裡不懂,網上資料太多了。不懂的地方百度、谷歌一點點消化了。

在學習過程中我不建議你去記筆記,建議你在看完書和視頻教程之後把所學的東西整理成博客,用自己的語言把你學的東西總結一遍。只有你自己掌握的知識才是真正屬於你的,照著視頻或書本敲的那都算。

這一階段,建議你把一些語法、API 理解透徹,能夠融匯貫通的使用,可以自己學習完後做一些小項目練練手,因為你只是會使用 API會語法,那不能叫會編程,那樣和死記硬背沒啥區別,編程是一門動手能力要求很強的活。一定要動手實踐。

零基礎如何自學編程?| 程序員有話說

很多新手最容易犯的毛病就是寫一個東西,比如一個計算器上來就刷刷刷寫代碼,其實這樣是不對的,任何一個項目都不是上來就動手寫代碼。

我們需要把業務的邏輯理清楚了,哪些需要注意的地方都想明白了,可以把程序的調用鏈或程序的執行流程畫成流程圖的方式。把一些該注意的點都考慮到位然後在動手寫代碼。這樣才能理解透徹。

在學習過程中不要把自己當初一名學習者,而應該把自己當成一名真正的開發者:

  • 記錄博客,對於未來的求職也是一個加分項,尤其是對於新手而言。

  • 練習的代碼放 GitHub,方便你以及同事查閱,這也是一個加分項。

  • 不要死記硬背語法和 API,這樣是沒有任何用處的,你是要用語言去實現一些功能。我見過很多新手抱著一本《Thinking in Java》在啃,其實剛入門真的沒有必要。

  • 簡歷上寫:通過 XXX 技術實現了 XXXXX項目,而不是精通 XXX 語法、XXX API。

  • 接受不確定性,因為你在實際的編碼過程中會遇到各種問題,不懂的就去查資料,然後消化和理解他。

  • 要遞歸地去學習,而不是拿著一本書從頭把語法肯到尾。什麼是遞歸學習,遞歸學習是指為了搞懂A,而去學B,為了學會B,而去學C,這叫遞歸學習,遞歸雖深,但有回溯,它最終會回溯到我們的起點。

零基礎如何自學編程?| 程序員有話說

規範編碼風格

好的代碼風格能夠降低理解難度,減少Bug,提高開發效率。我們的工作是需要和其他開發一些協作編碼的,因此好的編碼習慣一定要從一開始就養成,例如:

1.函數名、變量名採用駝峰樣式;

2.函數名變量名都有與功能相關的字面意義,代碼中不出現表意不明的變量名與函數名;

3.縮進採用4空格寬度的Tab;

4.花括號“{”和“}”單獨佔一行;

5.註釋單起一行。一般會在需要說明的代碼段上方;

6.定義變量時,每個變量單獨定義並單獨佔一行,不出現類似 int i,j;之類的代碼;

7.所有的函數只幹一件事;

8.複雜的函數一定要寫註釋;否則時間長了你自己都難以理解;

以上只是簡單列舉了一些,建議新手閱讀下阿里的《碼出高效:Java 開發手冊》瞭解下大公司的 Java 編碼規範。

"零基礎如何自學編程?| 程序員有話說

作者 | 阿文

責編 | 伍杏玲

出品 | 程序人生(ID:coder_life)

【程序人生 編者按】很多想轉行的朋友會問:零基礎我該如何自學編程?作者作為一名文科生,零基礎轉行為網易工程師,在本文中作者分享了自己的學習方法,希望對你有所啟發。

很多工作一兩年的朋友經常會感到迷茫,尤其是一些在傳統行業一線崗位工作的年輕人,當前的工作機械重複,升職加薪沒希望,薪資待遇又不高,於是萌生出跳槽轉行的想法,看來看去,發現高薪行業無非就是金融、互聯網、房地產等行業。

於是很多人把目光投向了程序員這行當,認為有一臺電腦就可以學編程,成本很低而且薪資待遇相對來說是比較高的。目前互聯網對於軟件開發的需求極大,現在是互聯網+時代,大數據、雲計算等技術的應用,使得未來互聯網化是必不可擋的趨勢。因此,這是一個非常熱門且有前景的行業。

上面的這些問題筆者也遇到過,筆者本人也是一位文科轉行過來的,作為一名過來人,我就自己的一些經驗和大家分享下作為一名零基礎的同學應該如何學習、找工作、選方向。

零基礎如何自學編程?| 程序員有話說

怎麼入行

作為作為一名零基礎的學員,在開始學習編程時會遇到各種各樣的挫折,例如:

  • 選什麼樣的語言

  • 編程環境怎麼搭建

  • 語法看不懂

  • 遇到錯誤了怎麼解決

  • 寫完了代碼調試不通過

……

我們看下怎麼選擇語言,是選擇最新潮的 Python、Go,還是選擇比較傳統的 Java 呢?其實沒有絕對的優勢,都是各有優劣。

Python、Go 雖說比較新潮,但是市面上的崗位需求還是比不了 Java 的,畢竟 Java 作為最受歡迎的編程語言之一,Java 已經走過了 20 多個年頭。從已經落寞的諾基亞到現在火熱的電商系統,我們都能看到 Java 語言的身影。在未來,Java 仍將會是最受歡迎的編程語言之一。

如果你想成為一名合格的後端工程師,並且想入職知名的互聯網公司,那我推薦你深入學習 Java。事實上,一些高薪高福利的崗位都只有大公司可以提供。

小型互聯網公司的福利都很一般,比如公積金社保按最低基數繳納。因此我建議如果是想未來從事相關工作,建議選擇應用範圍和前景比較廣闊的語言學習,有錢途。

這裡並不是說你這輩子就只會這一門語言就行了,只是說一開始為了節約時間成本,你可以先學習主流的 Java 語言。

等你未來真正工作再學習其他的語言。畢竟語言這門東西都是觸類旁通的,從編譯型語言到解釋型語言學起來不難。

事實上,真正的開發者都是同時具備很多編程語言的編碼能力的,有可能一個項目用 Java,而另外一個項目用 Python。

在剛入行的情況下,我建議先全身心的投入啃完一門語言。

選好了編程語言之後,你就該搭建環境然後開始學習了。

接下來該遇到的問題就是報班培訓好,還是自學好。

其實這個問題我覺得看個人,如果你學習起來比較困難,很多都不懂,建議先找些視頻資料學習一篇,照著敲,然後看書鞏固,培訓班看個人財力和時間是否允許吧,如果自制力差,選擇培訓班也可以。

但是我不相信一個自制力差的人靠培訓班就可以改變自制力差的本質。其實,像 Java 這類編程語言的學習資料可以說一搜一籮筐了,完全不用擔心哪裡不懂,網上資料太多了。不懂的地方百度、谷歌一點點消化了。

在學習過程中我不建議你去記筆記,建議你在看完書和視頻教程之後把所學的東西整理成博客,用自己的語言把你學的東西總結一遍。只有你自己掌握的知識才是真正屬於你的,照著視頻或書本敲的那都算。

這一階段,建議你把一些語法、API 理解透徹,能夠融匯貫通的使用,可以自己學習完後做一些小項目練練手,因為你只是會使用 API會語法,那不能叫會編程,那樣和死記硬背沒啥區別,編程是一門動手能力要求很強的活。一定要動手實踐。

零基礎如何自學編程?| 程序員有話說

很多新手最容易犯的毛病就是寫一個東西,比如一個計算器上來就刷刷刷寫代碼,其實這樣是不對的,任何一個項目都不是上來就動手寫代碼。

我們需要把業務的邏輯理清楚了,哪些需要注意的地方都想明白了,可以把程序的調用鏈或程序的執行流程畫成流程圖的方式。把一些該注意的點都考慮到位然後在動手寫代碼。這樣才能理解透徹。

在學習過程中不要把自己當初一名學習者,而應該把自己當成一名真正的開發者:

  • 記錄博客,對於未來的求職也是一個加分項,尤其是對於新手而言。

  • 練習的代碼放 GitHub,方便你以及同事查閱,這也是一個加分項。

  • 不要死記硬背語法和 API,這樣是沒有任何用處的,你是要用語言去實現一些功能。我見過很多新手抱著一本《Thinking in Java》在啃,其實剛入門真的沒有必要。

  • 簡歷上寫:通過 XXX 技術實現了 XXXXX項目,而不是精通 XXX 語法、XXX API。

  • 接受不確定性,因為你在實際的編碼過程中會遇到各種問題,不懂的就去查資料,然後消化和理解他。

  • 要遞歸地去學習,而不是拿著一本書從頭把語法肯到尾。什麼是遞歸學習,遞歸學習是指為了搞懂A,而去學B,為了學會B,而去學C,這叫遞歸學習,遞歸雖深,但有回溯,它最終會回溯到我們的起點。

零基礎如何自學編程?| 程序員有話說

規範編碼風格

好的代碼風格能夠降低理解難度,減少Bug,提高開發效率。我們的工作是需要和其他開發一些協作編碼的,因此好的編碼習慣一定要從一開始就養成,例如:

1.函數名、變量名採用駝峰樣式;

2.函數名變量名都有與功能相關的字面意義,代碼中不出現表意不明的變量名與函數名;

3.縮進採用4空格寬度的Tab;

4.花括號“{”和“}”單獨佔一行;

5.註釋單起一行。一般會在需要說明的代碼段上方;

6.定義變量時,每個變量單獨定義並單獨佔一行,不出現類似 int i,j;之類的代碼;

7.所有的函數只幹一件事;

8.複雜的函數一定要寫註釋;否則時間長了你自己都難以理解;

以上只是簡單列舉了一些,建議新手閱讀下阿里的《碼出高效:Java 開發手冊》瞭解下大公司的 Java 編碼規範。

零基礎如何自學編程?| 程序員有話說

基本功要紮實

作為一名零基礎的學員,一定要把計算機基礎打紮實,這個過程並非一朝一夕或者參加個培訓班突擊學習三個月就可以完成的,這需要大量的理論學習+實踐。

我們只有明白了計算機基礎,後面的路才能走得穩,如果一開始上來就學習編程語言肯定是不行的,這就好比武俠小說裡面的練武之人只會花拳繡腿,內功不行,打出去的招式都是軟綿綿的。

那麼計算機基礎知識包含哪些呢?計算機原理、操作系統原理、網絡原理、數據結構和算法等。

如果這些基礎的原理掌握不牢固,你是寫不出來優秀的代碼。

舉個例子,當網絡出現異常,你能快速定位出來是哪個層面出現的問題嗎?是應用層還是網絡層或是硬件故障。

再比如一個程序到底是用單線程還是多線程,這些都是開發人員應該要考慮到的問題。

合格的程序員不是上來就刷刷地敲代碼,而是先分析一個程序的設計思路、可能會遇到的問題和瓶頸是什麼。因為程序是要和系統、網絡打交道,數據結構設計的合理不合理和算法使用的恰當不恰當直接影響到你程序的性能。

因此基本功一定要打紮實。

好了,以上是我個人的一些新手入門建議,希望能給你帶來一些有益的幫助。

作者簡介:阿文,網易雲擔任高級工程師,在邊緣計算、雲計算領域有多年的從業經歷,曾擔任過講師,主講思科路由交換技術。個人博客地址:https://awen.me

"零基礎如何自學編程?| 程序員有話說

作者 | 阿文

責編 | 伍杏玲

出品 | 程序人生(ID:coder_life)

【程序人生 編者按】很多想轉行的朋友會問:零基礎我該如何自學編程?作者作為一名文科生,零基礎轉行為網易工程師,在本文中作者分享了自己的學習方法,希望對你有所啟發。

很多工作一兩年的朋友經常會感到迷茫,尤其是一些在傳統行業一線崗位工作的年輕人,當前的工作機械重複,升職加薪沒希望,薪資待遇又不高,於是萌生出跳槽轉行的想法,看來看去,發現高薪行業無非就是金融、互聯網、房地產等行業。

於是很多人把目光投向了程序員這行當,認為有一臺電腦就可以學編程,成本很低而且薪資待遇相對來說是比較高的。目前互聯網對於軟件開發的需求極大,現在是互聯網+時代,大數據、雲計算等技術的應用,使得未來互聯網化是必不可擋的趨勢。因此,這是一個非常熱門且有前景的行業。

上面的這些問題筆者也遇到過,筆者本人也是一位文科轉行過來的,作為一名過來人,我就自己的一些經驗和大家分享下作為一名零基礎的同學應該如何學習、找工作、選方向。

零基礎如何自學編程?| 程序員有話說

怎麼入行

作為作為一名零基礎的學員,在開始學習編程時會遇到各種各樣的挫折,例如:

  • 選什麼樣的語言

  • 編程環境怎麼搭建

  • 語法看不懂

  • 遇到錯誤了怎麼解決

  • 寫完了代碼調試不通過

……

我們看下怎麼選擇語言,是選擇最新潮的 Python、Go,還是選擇比較傳統的 Java 呢?其實沒有絕對的優勢,都是各有優劣。

Python、Go 雖說比較新潮,但是市面上的崗位需求還是比不了 Java 的,畢竟 Java 作為最受歡迎的編程語言之一,Java 已經走過了 20 多個年頭。從已經落寞的諾基亞到現在火熱的電商系統,我們都能看到 Java 語言的身影。在未來,Java 仍將會是最受歡迎的編程語言之一。

如果你想成為一名合格的後端工程師,並且想入職知名的互聯網公司,那我推薦你深入學習 Java。事實上,一些高薪高福利的崗位都只有大公司可以提供。

小型互聯網公司的福利都很一般,比如公積金社保按最低基數繳納。因此我建議如果是想未來從事相關工作,建議選擇應用範圍和前景比較廣闊的語言學習,有錢途。

這裡並不是說你這輩子就只會這一門語言就行了,只是說一開始為了節約時間成本,你可以先學習主流的 Java 語言。

等你未來真正工作再學習其他的語言。畢竟語言這門東西都是觸類旁通的,從編譯型語言到解釋型語言學起來不難。

事實上,真正的開發者都是同時具備很多編程語言的編碼能力的,有可能一個項目用 Java,而另外一個項目用 Python。

在剛入行的情況下,我建議先全身心的投入啃完一門語言。

選好了編程語言之後,你就該搭建環境然後開始學習了。

接下來該遇到的問題就是報班培訓好,還是自學好。

其實這個問題我覺得看個人,如果你學習起來比較困難,很多都不懂,建議先找些視頻資料學習一篇,照著敲,然後看書鞏固,培訓班看個人財力和時間是否允許吧,如果自制力差,選擇培訓班也可以。

但是我不相信一個自制力差的人靠培訓班就可以改變自制力差的本質。其實,像 Java 這類編程語言的學習資料可以說一搜一籮筐了,完全不用擔心哪裡不懂,網上資料太多了。不懂的地方百度、谷歌一點點消化了。

在學習過程中我不建議你去記筆記,建議你在看完書和視頻教程之後把所學的東西整理成博客,用自己的語言把你學的東西總結一遍。只有你自己掌握的知識才是真正屬於你的,照著視頻或書本敲的那都算。

這一階段,建議你把一些語法、API 理解透徹,能夠融匯貫通的使用,可以自己學習完後做一些小項目練練手,因為你只是會使用 API會語法,那不能叫會編程,那樣和死記硬背沒啥區別,編程是一門動手能力要求很強的活。一定要動手實踐。

零基礎如何自學編程?| 程序員有話說

很多新手最容易犯的毛病就是寫一個東西,比如一個計算器上來就刷刷刷寫代碼,其實這樣是不對的,任何一個項目都不是上來就動手寫代碼。

我們需要把業務的邏輯理清楚了,哪些需要注意的地方都想明白了,可以把程序的調用鏈或程序的執行流程畫成流程圖的方式。把一些該注意的點都考慮到位然後在動手寫代碼。這樣才能理解透徹。

在學習過程中不要把自己當初一名學習者,而應該把自己當成一名真正的開發者:

  • 記錄博客,對於未來的求職也是一個加分項,尤其是對於新手而言。

  • 練習的代碼放 GitHub,方便你以及同事查閱,這也是一個加分項。

  • 不要死記硬背語法和 API,這樣是沒有任何用處的,你是要用語言去實現一些功能。我見過很多新手抱著一本《Thinking in Java》在啃,其實剛入門真的沒有必要。

  • 簡歷上寫:通過 XXX 技術實現了 XXXXX項目,而不是精通 XXX 語法、XXX API。

  • 接受不確定性,因為你在實際的編碼過程中會遇到各種問題,不懂的就去查資料,然後消化和理解他。

  • 要遞歸地去學習,而不是拿著一本書從頭把語法肯到尾。什麼是遞歸學習,遞歸學習是指為了搞懂A,而去學B,為了學會B,而去學C,這叫遞歸學習,遞歸雖深,但有回溯,它最終會回溯到我們的起點。

零基礎如何自學編程?| 程序員有話說

規範編碼風格

好的代碼風格能夠降低理解難度,減少Bug,提高開發效率。我們的工作是需要和其他開發一些協作編碼的,因此好的編碼習慣一定要從一開始就養成,例如:

1.函數名、變量名採用駝峰樣式;

2.函數名變量名都有與功能相關的字面意義,代碼中不出現表意不明的變量名與函數名;

3.縮進採用4空格寬度的Tab;

4.花括號“{”和“}”單獨佔一行;

5.註釋單起一行。一般會在需要說明的代碼段上方;

6.定義變量時,每個變量單獨定義並單獨佔一行,不出現類似 int i,j;之類的代碼;

7.所有的函數只幹一件事;

8.複雜的函數一定要寫註釋;否則時間長了你自己都難以理解;

以上只是簡單列舉了一些,建議新手閱讀下阿里的《碼出高效:Java 開發手冊》瞭解下大公司的 Java 編碼規範。

零基礎如何自學編程?| 程序員有話說

基本功要紮實

作為一名零基礎的學員,一定要把計算機基礎打紮實,這個過程並非一朝一夕或者參加個培訓班突擊學習三個月就可以完成的,這需要大量的理論學習+實踐。

我們只有明白了計算機基礎,後面的路才能走得穩,如果一開始上來就學習編程語言肯定是不行的,這就好比武俠小說裡面的練武之人只會花拳繡腿,內功不行,打出去的招式都是軟綿綿的。

那麼計算機基礎知識包含哪些呢?計算機原理、操作系統原理、網絡原理、數據結構和算法等。

如果這些基礎的原理掌握不牢固,你是寫不出來優秀的代碼。

舉個例子,當網絡出現異常,你能快速定位出來是哪個層面出現的問題嗎?是應用層還是網絡層或是硬件故障。

再比如一個程序到底是用單線程還是多線程,這些都是開發人員應該要考慮到的問題。

合格的程序員不是上來就刷刷地敲代碼,而是先分析一個程序的設計思路、可能會遇到的問題和瓶頸是什麼。因為程序是要和系統、網絡打交道,數據結構設計的合理不合理和算法使用的恰當不恰當直接影響到你程序的性能。

因此基本功一定要打紮實。

好了,以上是我個人的一些新手入門建議,希望能給你帶來一些有益的幫助。

作者簡介:阿文,網易雲擔任高級工程師,在邊緣計算、雲計算領域有多年的從業經歷,曾擔任過講師,主講思科路由交換技術。個人博客地址:https://awen.me

零基礎如何自學編程?| 程序員有話說

5G進入元年,物聯網發展愈加火爆!

你是否身懷絕技、卻無人知曉;別讓你的IoT項目再默默無聞了!

繼第一屆AI優秀案例評選活動之後,2019年案例評選活動再度升級,CSDN將評選出TOP 30優秀IoT案例,趕快掃碼參與評選吧!重磅福利,等你來領!

"零基礎如何自學編程?| 程序員有話說

作者 | 阿文

責編 | 伍杏玲

出品 | 程序人生(ID:coder_life)

【程序人生 編者按】很多想轉行的朋友會問:零基礎我該如何自學編程?作者作為一名文科生,零基礎轉行為網易工程師,在本文中作者分享了自己的學習方法,希望對你有所啟發。

很多工作一兩年的朋友經常會感到迷茫,尤其是一些在傳統行業一線崗位工作的年輕人,當前的工作機械重複,升職加薪沒希望,薪資待遇又不高,於是萌生出跳槽轉行的想法,看來看去,發現高薪行業無非就是金融、互聯網、房地產等行業。

於是很多人把目光投向了程序員這行當,認為有一臺電腦就可以學編程,成本很低而且薪資待遇相對來說是比較高的。目前互聯網對於軟件開發的需求極大,現在是互聯網+時代,大數據、雲計算等技術的應用,使得未來互聯網化是必不可擋的趨勢。因此,這是一個非常熱門且有前景的行業。

上面的這些問題筆者也遇到過,筆者本人也是一位文科轉行過來的,作為一名過來人,我就自己的一些經驗和大家分享下作為一名零基礎的同學應該如何學習、找工作、選方向。

零基礎如何自學編程?| 程序員有話說

怎麼入行

作為作為一名零基礎的學員,在開始學習編程時會遇到各種各樣的挫折,例如:

  • 選什麼樣的語言

  • 編程環境怎麼搭建

  • 語法看不懂

  • 遇到錯誤了怎麼解決

  • 寫完了代碼調試不通過

……

我們看下怎麼選擇語言,是選擇最新潮的 Python、Go,還是選擇比較傳統的 Java 呢?其實沒有絕對的優勢,都是各有優劣。

Python、Go 雖說比較新潮,但是市面上的崗位需求還是比不了 Java 的,畢竟 Java 作為最受歡迎的編程語言之一,Java 已經走過了 20 多個年頭。從已經落寞的諾基亞到現在火熱的電商系統,我們都能看到 Java 語言的身影。在未來,Java 仍將會是最受歡迎的編程語言之一。

如果你想成為一名合格的後端工程師,並且想入職知名的互聯網公司,那我推薦你深入學習 Java。事實上,一些高薪高福利的崗位都只有大公司可以提供。

小型互聯網公司的福利都很一般,比如公積金社保按最低基數繳納。因此我建議如果是想未來從事相關工作,建議選擇應用範圍和前景比較廣闊的語言學習,有錢途。

這裡並不是說你這輩子就只會這一門語言就行了,只是說一開始為了節約時間成本,你可以先學習主流的 Java 語言。

等你未來真正工作再學習其他的語言。畢竟語言這門東西都是觸類旁通的,從編譯型語言到解釋型語言學起來不難。

事實上,真正的開發者都是同時具備很多編程語言的編碼能力的,有可能一個項目用 Java,而另外一個項目用 Python。

在剛入行的情況下,我建議先全身心的投入啃完一門語言。

選好了編程語言之後,你就該搭建環境然後開始學習了。

接下來該遇到的問題就是報班培訓好,還是自學好。

其實這個問題我覺得看個人,如果你學習起來比較困難,很多都不懂,建議先找些視頻資料學習一篇,照著敲,然後看書鞏固,培訓班看個人財力和時間是否允許吧,如果自制力差,選擇培訓班也可以。

但是我不相信一個自制力差的人靠培訓班就可以改變自制力差的本質。其實,像 Java 這類編程語言的學習資料可以說一搜一籮筐了,完全不用擔心哪裡不懂,網上資料太多了。不懂的地方百度、谷歌一點點消化了。

在學習過程中我不建議你去記筆記,建議你在看完書和視頻教程之後把所學的東西整理成博客,用自己的語言把你學的東西總結一遍。只有你自己掌握的知識才是真正屬於你的,照著視頻或書本敲的那都算。

這一階段,建議你把一些語法、API 理解透徹,能夠融匯貫通的使用,可以自己學習完後做一些小項目練練手,因為你只是會使用 API會語法,那不能叫會編程,那樣和死記硬背沒啥區別,編程是一門動手能力要求很強的活。一定要動手實踐。

零基礎如何自學編程?| 程序員有話說

很多新手最容易犯的毛病就是寫一個東西,比如一個計算器上來就刷刷刷寫代碼,其實這樣是不對的,任何一個項目都不是上來就動手寫代碼。

我們需要把業務的邏輯理清楚了,哪些需要注意的地方都想明白了,可以把程序的調用鏈或程序的執行流程畫成流程圖的方式。把一些該注意的點都考慮到位然後在動手寫代碼。這樣才能理解透徹。

在學習過程中不要把自己當初一名學習者,而應該把自己當成一名真正的開發者:

  • 記錄博客,對於未來的求職也是一個加分項,尤其是對於新手而言。

  • 練習的代碼放 GitHub,方便你以及同事查閱,這也是一個加分項。

  • 不要死記硬背語法和 API,這樣是沒有任何用處的,你是要用語言去實現一些功能。我見過很多新手抱著一本《Thinking in Java》在啃,其實剛入門真的沒有必要。

  • 簡歷上寫:通過 XXX 技術實現了 XXXXX項目,而不是精通 XXX 語法、XXX API。

  • 接受不確定性,因為你在實際的編碼過程中會遇到各種問題,不懂的就去查資料,然後消化和理解他。

  • 要遞歸地去學習,而不是拿著一本書從頭把語法肯到尾。什麼是遞歸學習,遞歸學習是指為了搞懂A,而去學B,為了學會B,而去學C,這叫遞歸學習,遞歸雖深,但有回溯,它最終會回溯到我們的起點。

零基礎如何自學編程?| 程序員有話說

規範編碼風格

好的代碼風格能夠降低理解難度,減少Bug,提高開發效率。我們的工作是需要和其他開發一些協作編碼的,因此好的編碼習慣一定要從一開始就養成,例如:

1.函數名、變量名採用駝峰樣式;

2.函數名變量名都有與功能相關的字面意義,代碼中不出現表意不明的變量名與函數名;

3.縮進採用4空格寬度的Tab;

4.花括號“{”和“}”單獨佔一行;

5.註釋單起一行。一般會在需要說明的代碼段上方;

6.定義變量時,每個變量單獨定義並單獨佔一行,不出現類似 int i,j;之類的代碼;

7.所有的函數只幹一件事;

8.複雜的函數一定要寫註釋;否則時間長了你自己都難以理解;

以上只是簡單列舉了一些,建議新手閱讀下阿里的《碼出高效:Java 開發手冊》瞭解下大公司的 Java 編碼規範。

零基礎如何自學編程?| 程序員有話說

基本功要紮實

作為一名零基礎的學員,一定要把計算機基礎打紮實,這個過程並非一朝一夕或者參加個培訓班突擊學習三個月就可以完成的,這需要大量的理論學習+實踐。

我們只有明白了計算機基礎,後面的路才能走得穩,如果一開始上來就學習編程語言肯定是不行的,這就好比武俠小說裡面的練武之人只會花拳繡腿,內功不行,打出去的招式都是軟綿綿的。

那麼計算機基礎知識包含哪些呢?計算機原理、操作系統原理、網絡原理、數據結構和算法等。

如果這些基礎的原理掌握不牢固,你是寫不出來優秀的代碼。

舉個例子,當網絡出現異常,你能快速定位出來是哪個層面出現的問題嗎?是應用層還是網絡層或是硬件故障。

再比如一個程序到底是用單線程還是多線程,這些都是開發人員應該要考慮到的問題。

合格的程序員不是上來就刷刷地敲代碼,而是先分析一個程序的設計思路、可能會遇到的問題和瓶頸是什麼。因為程序是要和系統、網絡打交道,數據結構設計的合理不合理和算法使用的恰當不恰當直接影響到你程序的性能。

因此基本功一定要打紮實。

好了,以上是我個人的一些新手入門建議,希望能給你帶來一些有益的幫助。

作者簡介:阿文,網易雲擔任高級工程師,在邊緣計算、雲計算領域有多年的從業經歷,曾擔任過講師,主講思科路由交換技術。個人博客地址:https://awen.me

零基礎如何自學編程?| 程序員有話說

5G進入元年,物聯網發展愈加火爆!

你是否身懷絕技、卻無人知曉;別讓你的IoT項目再默默無聞了!

繼第一屆AI優秀案例評選活動之後,2019年案例評選活動再度升級,CSDN將評選出TOP 30優秀IoT案例,趕快掃碼參與評選吧!重磅福利,等你來領!

零基礎如何自學編程?| 程序員有話說"

相關推薦

推薦中...