真正的零基礎,非科班如何自學編程!

真正的零基礎,非科班如何自學編程!

先回顧一下自己大學的編程經歷:

熟悉我的都知道我是非科班,一路自學編程的,我在大一的時候編程一點點都不會,在大二的國慶假期,才會用 C 語言寫 hello world,大二上學期結束之時,也僅僅只會 C 語言,編程真正的好好用心學,是從大二下學期的三月份開始,大二下學期進入實驗室,是自己編程能力真正提升的開始,大三一年基本都待在實驗室,是我編程能力的提升,歷經大三暑期騰訊實習,大四在百度實習期間,成功轉型算法工程師,拿到了 2 家大廠算法 offer。

從我開始學習編程,中間歷經新手、入門、進階、實習、後臺轉算法等經歷,一路打怪升級,走到了今天,現在靜下心來想想,都不知道當初的自己是怎麼堅持過來的。

我個人是真正的零基礎,非科班,一路自學編程,走過來的,踩過很多坑,感悟比較多,今天,就想把我當初如何入門的一些心得體會分享給大家。

1、

信心 + 決心

我接觸的第一門編程語言是 C 語言,C 語言是一門古老的語言,是一門跟底層打交道的語言,也是大學很多科班出身必學的一門課程,應該很多人都會 C,之後我用 C++ java go python js 都寫過代碼,但是至今我最喜歡的還是 C,不因為別的,就因為它是我學習的第一門編程語言,先入為主,對我的影響很大,開啟了我的編程先河。

現在國內的程序員,會使用 C/C++ 的人到是不少,但是真正掌握的 C/C++ 的高手就太少了,有時間有興趣的話,Linux C/C++ 我還是很推薦去學學,對於系統底層,邏輯思維的提升都很有幫助。

有興趣的可以看看:

《我為什麼建議大家一定的會 C 語言》

學習編程,需要的基礎就是:數學 + 英語 + 簡單的邏輯思維,數學的話,只要你達到初中的數學水平,常見的數學公式是很好理解的,英語的話,常見的單詞會寫 + 實在不會也可以百度啊,邏輯思維,也沒有特別繞的,在你打算學習編程之前。你必須清楚的知道:它沒那麼難,要相信自己一定能學的會,學的好!

對於編程,不論科班、非科班,不論男生、女生,只要你想學,就一定能學的好,要有這個信心和決心。一旦下定了決心要走編程這條路,便風雨兼程,義無反顧,要有不撞南牆不回頭的魄力!

2、

興趣 + 堅持

學習任何一件事情,如果沒有興趣,強迫自己去學,學起來會極其的痛苦,也不會學的太好,也很難堅持長遠的走下去,如果遇到困難,沒有解決,會極其的有挫敗感,很容易讓你產生放棄的感覺,所以新入門學習編程的,先學語法,在實踐,慢慢的要找到學習編程的興趣。

學習編程,一開始接觸,可能很難有感覺與興趣,我當初開始學習 C 語言的時候,純是硬著頭皮上的,當自己學久了,才慢慢的喜歡上編程的,用 C 寫坦克大戰、貪吃蛇、五子棋這些遊戲、引發了自己對技術的探索和強烈的慾望,慢慢的就深陷其中了。所以學習編程,不是因為你有多喜歡編程,有興趣才去學的,而是因為當你學過一段時間,用技術解決問題,做出了一些東西,而引發你極大的興趣,從而更深入的去學習,去研究,這種興奮,這種興趣,經歷過的人都懂!

學習編程,還需要堅持,在編程的路上,遇到的各種環境安裝問題,代碼編譯問題等等,遇到的困難比你想象的大,有些問題會折磨我1 2天甚至一週,才能解決,解決問題的方法總比困難多,你要相信,花時間總能解決,在這還必須堅持下去(這些都是以前走過的路,踩過的坑)。

python 現在比較火,也簡單易學,未來在人工智能領域會起到重要的作用,其發展的趨勢也很不錯,能做出很多有意義的東西(爬蟲、數據分析都能用於實踐),C 語言剛開始學起來是有點吃力,但是一旦當你把 C 學好了,在編程的路上會越走越快,用 C 做一些智能系統,做一些簡單遊戲,也是很有意思的,對底層(主要是操作系統)的理解會更加深刻,綜合當下的趨勢來說,我建議新手入門首選編程語言:C 或者 python 都挺不錯的。

3、

方法 + 習慣

剛開始學習編程的時候,選定一門語言,先學習這門語言的基礎語法,找找編程的感覺與手感還是比較重要的,培養自己的學習方法 + 合理的規劃時間很重要,新手建議,多看視頻 + 多動手敲,一定要有自己學習編程的三步走戰略,我的戰略就是:視頻 + 書 + 項目。

對於一門語言,最初的入門階段,是從陌生到熟悉,從 0 到 1 的階段,是最難的時期,也是花費時間比較久的階段,我剛開始學習 C 大概花了一個學期的時間,對於一門語言,你入門用了 3 個月左右的時間,我覺得是正常的,是合理的。

我學習 C 的時候,用的編譯器是 VC++ 6.0,是一款很老的編譯器,對於一門語言的學習,首選一門適合自己的系統與工具,才能很舒心的進行編程,我現在工作基本上用的是 python、C/C++,用的都是 Vim 進行編寫程序以及編譯運行,用 Vim 是真的很爽,我是特別的喜歡 Linux 下面的 Vim,建議大家不管是 C 還是 python 入門,都可以考慮 Vim(前提你首先的熟悉 Linux 系統,熟悉 Vim)。

我當初學習編程,沒有用過任何的自動補全編譯器以及設置,在學習的階段,一定要照著敲,一個字母一個字母的敲,這樣才能讓你更加的熟悉這門語言以及培養自己編程的手感,我是建議:新手一定要一個字母一個字母的敲,不要偷懶,不要嫌浪費時間,這個階段一定不要省;等你到了一定階段,編程能力大幅提升之際,在使用自動補全,那會可真的就是行雲流水,肆意為之!

在你學了一門編程語言的基礎之後,對於數據結構 + 算法,操作系統 + 計算機網絡,Linux + sql,這些計算機的基礎知識也得多花時間去學習,多看書,系統的學習;學習階段,講究的是技術的紮實與全面,需要不求甚解的精神,多去刨根問底,追宗溯源,找工作階段,需要的是多看面經以及多刷題,一定要清楚的認識到自己目前所處的階段,一定要在正確的時間幹正確的事情(學習階段切勿看面經學習,學習階段切勿刷題,以免對自己束手束腳,思維侷限,在學習的階段,是自己折騰技術最佳的時候,一定要多瀏覽各大技術網站、多嘗試,打開思維,活學活用)。

編程習慣的培養也是至關重要的,尤其是新手,對於變量的命名,要有人文化的思想,以及換行、一些中間加空格的寫法必須的規範,從最開始就要嚴格的要求自己,一定要注重細節;編程規範,一旦養成習慣,後面再改可就難了,最好多看看官方文檔以及代碼示例,模仿著寫。

新手學習編程,有人報班,有人自學,我在這說一下,如果你有大量時間,自學完全沒問題,如果時間很緊迫,報個培訓機構,快速的提升與學習也沒有問題,學習最終還是要靠自己,報不報培訓班取決於你有沒有足夠的時間自己去摸索。

4、

能力 + 潛力

三步走戰略 + 五大能力提升,這塊我之前寫過一篇文章:

《從根本上給大家革命》

三步走戰略:視頻 + 書 + 項目 / 春招 + 實習 + 秋招 等,不同階段走不同的三步走戰略。

快速學習能力、信息檢索能力、技術選型判斷力、應用業務能力,解決問題能力 ---> 五大能力。

學習階段,一定要注重自己能力的培養,多折騰,多踩坑,多積累經驗,只有日積月累的學習,長時間在技術領域的不斷深耕,才會對你潛移默化,讓你的能力越來越強。

每個人的潛力都是無窮的,都是巨大的,潛力需要被挖掘,需要有人逼自己一把,才能最大程度的被激發出來,這塊需要自己挖掘和外界因素,公司招聘也是特別的看重個人潛力。

工程設計,編程習慣、編程素養,這些都是我們要注意的地方,從細節做起,從初學編程做起,養成這些好習慣,一定會讓自己受益終生的;以後在工作中會感謝初學編程的自己,這樣做也能讓我們少踩很多的坑,能最大程度的避免不必要出錯的地方,是值得從現在做起,從現在改變。

學好編程,沒有捷徑,就是不斷的敲,不斷的 debug,不斷的做項目實踐,就是這麼簡單純粹!

量變引起質變,需要我們付出更多的時間,加倍的努力,才能拿到最終自己滿意的效果!

零基礎、非科班,照樣可以學好編程!!!

相關推薦

推薦中...