零基礎、非科班,對於自學編程的一點想法!(轉載)

最近看牛客網上面,有好多非科班,學校通常的,想學習編程的學生,我先介紹一下本身的背景,雙非本科、非科班學生,去年剛剛畢業,如今在國內某大廠,作算法工程師,本身也不是啥大神,一步一步走過來的,分享一點本身當初學習編程的經歷給初學者,但願能幫助到一些人。java

 

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

 

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

 

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

 

一、
信心 決心sql

 

我接觸的第一門編程語言是 C 語言,C 語言是一門古老的語言,是一門跟底層打交道的語言,也是大學不少科班出身必學的一門課程,應該不少人都會 C,以後我用 C java go python js 都寫過代碼,可是至今我最喜歡的仍是 C,不由於別的,就由於它是我學習的第一門編程語言,先入爲主,對個人影響很大,開啓了個人編程先河。編程

 

如今國內的程序員,會使用 C/C 的人到是很多,可是真正掌握的 C/C 的高手就太少了,有時間有興趣的話,Linux C/C 我仍是很推薦去學學,對於系統底層,邏輯思惟的提高都頗有幫助。網絡

 

有興趣的能夠看看:數據結構

我爲何建議你們必定的會 C 語言編程語言

 

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

 

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

 

二、
興趣 堅持

 

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

 

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

 

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

 

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

 

三、
方法 習慣

 

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

 

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

 

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

 

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

 

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

 

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

 

新手學習編程,有人報班,有人自學,我在這說一下,若是你有大量時間,自學徹底沒問題,若是時間很緊迫,報個培訓機構,快速的提高與學習也沒有問題,學習最終仍是要靠本身,報不報培訓班取決於你有沒有足夠的時間本身去摸索。

 

四、
能力  潛力

 

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

從根本上給你們革命

 

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

 

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

 

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

 

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

 

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

 

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

 

量變引發質變,須要咱們付出更多的時間,加倍的努力,才能拿到最終本身滿意的效果!

 

零基礎、非科班,照樣能夠學好編程!!!

相關文章
相關標籤/搜索