7年編程的心得感悟,這麼是多麼痛的領悟

個人大學是個二本(吉首大學,你確定沒據說過),大學裏面的專業是電子信息工程,入學沒多久,我就感受我徹底報錯專業了,由於我對硬件毫無興趣,我從大學一年級開始學習編程,我記得最初的課本是譚浩強老師的《c語言程序設計》,這本書對於中國的學生來講,基本能夠說是無人不知,無人不曉了吧,沒錯,就是下面這本javascript


讓咱們來複習一下咱們學習到的第一個C語言程序,我以爲你應該已經知道了,我仍然記得第一次編譯成功的那種喜悅,這很不容易,使用的軟件好像是VC6.0吧,這都是歷史了。html

#include<stdio.h>
int main(int argc,char*argv[]){
    printf("hello world\n");
    return 0;
}

大二的時候,咱們又開設了譚浩強總是的另一門課《c++程序設計》,緊接着有開設了彙編,JAVA,淡然了,還有必不可少的課程數據結構,期間我還拜讀了難度不小的書《算法導論》,可是大學裏面的課程多而不精,結果到畢業的時候,仍是隻學習到皮毛。前端


個人第一份工做是Android開發,誤打誤撞的學習Android,是由於,我靠,我居然還有一個月就要畢業了,趕忙找個飯碗先幹着啊,就是這麼巧,身邊有人學習Android,我就搞了一套視頻,自學了2個月,畢業以後就屁顛屁顛的去找工做了,找工做的那個難度啊,想起來都以爲,我太難了。你猜怎麼着,個人第一份工做在華強北的賽格大廈,第一份工做是個外包,公司裏面也只有10多個,由於沒錢,天天上天須要坐1小時30分鐘的公交去上班,那個累啊。按理說,第一份工做,應該珍惜,可是幹着幹着,就感受沒啥意思了,三個月以後,就搞前端去了,以前利用週末和空閒時間學習了一下前端的知識(有個大學是有搞前端,諮詢了一下相關知識),包括html,javascript,Vue,React,Angularjs(版本1,我估計不少人沒見過,哈哈,說明你還年輕),期間,我看了《javascript權威指南》這本書,看完以後,以爲本身牛逼哄哄了,而後去看了JQuery的源代碼(別人都說JQuery很牛逼,誰牛逼就搞它),搞完了JQuery以後,聽別人都說,Angularjs,React很牛逼,因此又去懟它們這兩貨去了,沒多久以爲用起來很假單,就硬着頭皮,琢磨它們的源代碼去了,臥槽,那個累啊,可是不要緊,硬是啃下來了,後面想着,要不我也寫個?哈哈,說幹就幹,我就模仿者JQuqery和Angularjs本身寫了個(實現了部分功能,後面就沒幹了,累啊)。後面工做辭了,找了一份前端的工做(僞造一下簡歷仍是能夠的),一同忽悠,面試經過。

第二個公司是賣保險的,個人工做也不難,也沒啥太大的難度,公司的後臺仍是用C#開發的(我仍是喜歡讀做c井,你來打我啊java

惋惜啊,這份工做仍是沒作多久,我發現我對前段徹底沒有興趣,多是個人審美能力有問題,多是是有裏邊有學習PHP的,我又學習PHP去了,搞了2個月,學習了國內的第一框架ThinkPHP(別人都用啊,因此必須得學)。此次換工做都已經11月分了,至於工做經驗嗎,你懂的。

這份工做在深圳南山,至此,我就和PHP結緣了(不表明我沒換工做啊,不換怎麼漲工資),學習的道路永遠都是漫長的,爲了讓本身的技術更牛逼(自我感受很良好),後面學習了YII,ZendFramework(這個很複雜),Symfony,Laravel(號稱藝術家使用的框架),另外還學習了號稱很牛逼的商城系統Magento(它本身以爲很牛),基本上我都深刻的鑽研了一下他們的源代碼,後面得出一個結論,他媽的,感受都同樣,沒錯,本質都同樣。
android

學習PHP的時間,算是蠻長的了,可是時間長了,照樣感受沒意思,就那些東西,搞來搞去的,這可咋辦,理想還要有的,記得平時Linux編譯軟件時屏幕上帶感的輸出信息,好帥氣啊,我就以爲,是時候搞它了,弄死它。說幹就幹,網上看了幾篇博客,學習步驟啥的,買啥書啊,一頓操做,書單以下:c++

  • 《C專家編程》 裝逼永遠是第一位
  • 《Linux程序設計》 帶你入個門
  • 《Unix環境高級編程》 說的很高級
  • 《Unix網絡編程卷一》 適合我這樣的小學生
  • 《Unix網絡編程卷二》 這個是講進程間通訊的

通過幾個月的日夜奮戰(白天仍是要上班的,下班以後晚上看),一頁一頁的看,仔細看它的每一個例子,本身編譯一邊(不要高興太早,極可能編譯不經過,得想辦法啊),頭髮掉了很多,總算是過了一邊,感受人都快死了,不過只要你夠狠,這些都不是問題。面試

有了這些基礎知識以後,總得練習練習啊,哈哈,仍是那句老話,誰牛逼就搞誰,因而就找到了服務器的霸主Nginx,Github上克隆了一分代碼,代碼是有了,工具不能少啊,SourceInsight 就粉墨登場了(這是個神器,誰用誰知道,我知道了),至於學習的難度,你看個人頭髮就知道了,月亮表明個人心,原本入傑森斯坦森般帥氣,就變成這樣了,值得一提的是這期間我讀了一本大神寫的書籍《深刻理解Nginx》,這本書寫的至關好,可是要注意了,它也僅僅是講了大概的流程,也就是俗話中說的師傅領進門,修行在我的,Nginx難度很大,相關的博客比較少,並且難懂,年輕人必定要忍耐。算法

在搞完Nginx以後,由於我是搞後臺的嘛,因此常常和Redis打交道,天然而然的,Redis就成了個人下一個目標,這裏也有一本書,叫作《Redis設計與實現》,讓人欣喜的是,Redis的代碼註釋至關之完備,到這裏我就要吐槽上面的Nginx了,你寫一段註釋會死仍是咋的,你過來啊,看我不打死你。
編程

覺得這就是終點嘛,還真不是,後面繼續學習了C++,我以爲C++除了類的概念和經常使用的算法,其它都是累贅,增長了學習的難度不說,並且讓你懷疑人生,你說很簡單的東西你非得搞得這麼花裏胡哨,想幹什麼,記住這個哥,C++的創始人。
服務器

在學習了C和C++的知識後,本身還折騰了一下,很簡單,模仿,本身寫個HTTP服務器總能夠吧(功能完備的HTTP服務器沒你想象的那麼容易),後面還擼出了其它的一些軟件,不得不說,C和C++真的很棒。

學習的態度仍是要有的,聽別人說,GO和Python很火,而後又去學了一下,此次學了一個星期,就沒進行下去了。由於有了以前的學習經歷,這些東西很是類似,沒有動力學下去了。

固然了,中間還學習了一下PHP的so擴展(很負責任的告訴你,擴展真的很簡單),Android的NDK(android裏面算是高級一點兒的技術,蠻有意思,也不難),也算是興趣使然吧。

上面說了一些個人我的經歷,如今回想起來,真的感慨萬分,都是淚啊,如何學習一個新的語言,技術,我以爲我仍是能夠給喜歡學習或者是即將要學習的人一點建議。

若是你要學習一門新的語言,請不要一開始就購買書籍,最典型的,這裏以JAVA爲例,若是你要學習JAVA,別人確定給你推薦《JAVA編程思想》,我之前也對此深信不疑,可是做爲過來人,你徹底不須要,也不該該,你應該等到你有必定的JAVA編程經驗再去看,這樣纔有意義,有針對性,哪裏不懂看哪裏。你能夠去菜鳥教程裏先學習一下。還有你確定聽到別人大談特談JAVA的反射,負責的說,通常人用不到。這樣的例子舉不勝舉,學習C++也是同樣,我記得我以前買了一本C++的編程書籍《c++ primer plus》,當初我看到這本書的厚度以後,驚呆了,若是你讓一個新手去看完這本書,它還有學習下去的動力麼?這些書裏面的不少東西都是別人的經驗總結,你說你啥經驗沒有,再說意義,就更沒有意義了,這些書徹底是給有經驗的人準備的。

培養本身閱讀源代碼的習慣,若是你看過那些流行技術的源代碼,你會感慨,本身的代碼像一坨屎,代碼不必定寫的要多麼的華麗,可是必定要簡潔,通俗易懂,有些人寫代碼,非要搞得花裏胡哨,顯得本身很牛,你說你寫的代碼,別人都讀不懂了,那麼它的意義又在哪裏。代碼界有句很經典的話 Fuck the source code,這很真實,沒有人天生看得懂別人的代碼,你須要認真看,仔細看,說看不懂的,那說明你修行還不夠(提高本身能力的時候到了),或者是耐力不夠,這都不要緊,寫代碼跟作人是同樣的,等你看懂別人寫的,你終將會守得雲開見月明,心中豁然開朗,這會陪伴你一輩子。

多學習一下其餘領域的知識,你也沒必要拘謹於一門編程語言,終身學習也是一種人生態度,多掌握一門技能,也能讓你的將來充滿更多可能性,可是切記隨波逐流,別人說好,並不必定好,必定要有本身的主見,我就是要說它很差,很差,怎麼了?哈哈。

多實踐,那句話咋說來着,實踐是檢驗真理的惟一標準,計算機編程更是如此,想要學好編程,勤加練習是必不可少的,除非你是個天才。

若是你真的想要在代碼上面有所領悟,你必定得學習一下代碼界的大師級人物Dennis Ritche創立的C語言,也是我最佩服的人,C語言就至關於金庸老先生武俠世界的《九陰真經》,下面讓咱們瀏覽下這位大師的風采。

Dennis Ritche 和喬幫主同一年離開人世,使人痛心不已,終身未娶,獻給了它最愛的軟件事業。至於爲啥須要學習C語言,我以爲等你領悟到了C語言的精髓以後,天然明白,你確定會感慨,世間咋會有這麼簡潔的東西,C語言在手,天下無敵,不行的話,你來打我。

最後也是最重要的一點,耐得住寂寞,不管是武俠小說,仍是真實世界,想要有所建樹,這點是必須的,這是你晉級高手的必要條件,由於你有本身的路要走。

Dennis Ritche大師走好,塵歸塵,土歸土,但願大師下輩子,能有個陪伴一輩子的伴侶嗎。

本文章全部圖片來自百度圖片google圖片

相關文章
相關標籤/搜索