程序開發--視野很重要

         古語有云,“讀萬卷書,行萬里路”,對於知識,我們不僅要通過讀書來獲取知識,更是要通過實踐來拓寬視野,驗證知識。

         作爲一枚程序員,更是深知其中的道理。程序設計本身就具有實踐性強的特點,而不是紙上談兵。真正能夠說服別人的就是運行你的代碼,Run出你的結果! 書本的厚度有限,所講解的知識也是有限的。對於現在的一些技術類的書籍,大多是告訴你做正確事情的步驟,而很少有教會你怎麼做會出錯,怎麼去解決出錯。這其中的一些坑,是需要你通過後期的實踐去經歷、去感悟,然後去超越!這就是本文所想描述的關於視野的看法。

        所謂,師傅引進門,修行在個人。記得讀書那會,第一次接觸C語言,接觸數據庫時,覺得所需要學習的知識好多,而如今,在工作多年以後,離第一次接觸程序設計過去都快十年了,再次回過頭來看當時的想法,覺得那時所謂的“好多”,其實也就是現在的一丟丟。因爲我接觸的東西多了以後,視野變得開闊,所面對的世界也越來越大了。多年以前,那個時候的我,所謂的世界,又能有多大呢!決定你進步的,就是你的視野,就是你面對的世界!最怕成爲井底之蛙,以爲“天”,就井口那麼大!

        以前,沒有在一個解決方案下放置上百的Project!

        以前,也沒實踐過數據庫裏一個表存放上億的記錄!

        以前,數據庫實驗時,沒有在一個模式下創建上萬張表!

      等等等等,畢業以後,工作多年,才逐步的實現了當初沒有經歷的事情,才知道,原來我當初的理解,是多麼的簡單。因爲視野所限,在學生時期,沒有發揮主觀能動的去接觸更大的世界! 現在互聯網高速發展,信息獲取極爲簡便。不論是CSDN、MSDN還是github,爲我們在學校時期就能夠接觸更大的世界,創造很完美的條件。希望看到這篇文章的在校大學生,能夠珍惜大學時光,多學習,多參與,在大學時期就能經歷書本上沒有的內容,多年以後,你將會感謝現在的自己!

      因爲,在學校時期,你所做的程序或軟件面臨的問題與商業軟件相比,存在天壤之別! 商業軟件有商業合同作爲鞭策,在使用過程中出現問題,要承擔商業風險和責任; 而你的軟件,或許只是爲了通過考試。就算是在校創業的軟件或產品,諸如facebook,校內網等起步階段,也是在走出校門後經過巨大的人力,財力資源投入,迭代若干版本才走向成熟!

      你的軟件很少會考慮內存泄露問題,因爲你沒有資源去充分檢測它,但是這對於商業軟件來說,就會是一個巨大的風險!

      你也很少會考慮性能或者資源消耗問題,因爲你沒有性能和資源消耗考覈的場景!

      你在分配內存時,應該不會自己去實現一個內存管理系統,因爲你可以直接利用系統調用,但是對於數據庫軟件來說,那樣太慢了!

      你也許學習過互斥量和信號量,但是你可能沒有在程序中實踐過!

      你也許寫過數據庫應用,你認爲連接數據庫很簡單,一個函數就搞定了; 但是你可能沒想過多線程高效併發連接訪問!

      對於sql語句你也不會陌生,可是你見過一個word頁面都存放不下的sql語句麼,見過光sql文本就有MB級別的語句麼?

      更重要的是,在學校時期,應該沒有機會或者資源,給你部署數十數百臺的數據庫集羣,來看看集羣運行的特點!

等等等等,所有這些,就是你的視野,需要等你通過實踐去開闊!但是,我們沒有經歷過,不代表我們應該不思考。就像愛因斯坦,當他提出相對論的時候,自己肯定沒法用實驗去驗證,但是卻可以通過“思想實驗”去驗證。“想象力比知識更重要”,這就是說我們思想能夠走多遠,同樣我們的視野也可以多開闊!

      只有在視野開闊後,我們在做程序設計時,就會考慮更多,設計實現的軟件就會越貼近現實使用的需要!你也會更多的發出“喔,還可以這樣!”的感嘆。

       

發佈了36 篇原創文章 · 獲贊 25 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章