今天女友發來一個淘寶的連接,進入之后,原來是這些年來淘寶購物的總結,從06年1月11日的第一次購物開始,幾個重要的時間勾划出來,組成了一些重要的事件,蠻有意思的。這幾天在院子里面看到.net之爭,突然想起來,自己技術生涯也是面臨很多選擇的,於是乎突然想寫一些自己這些年來技術的生涯經歷以及感悟。
10年前,由於高考發揮時常,到了一所垃圾學校,我們只是學校賺錢的工具,學校沒有任何資質和教學的實力(兩年前現在學校已經被禁止招生了)。我記得大學掛的唯一一門學科,竟然是計算機文化基礎,還是大一上學期。相當失敗啊,現在都不曉得為啥掛了,考的都開始window98,dos相關的知識。
大一下學期我們開設了C語言,經典的譚浩強寫的教程。當時不知道為什么,可能自己從小就喜歡邏輯學和數學吧,相當喜歡編程課,那個時候對編程的理解就是打印hello word,可以排序,可以做邏輯運算,記得最復雜的就是C語言里面的指針了。
這個時候寢室來了一位新同學,從上一屆留級下來的(比較衰),也是喜歡搞編程,就和他一起學習,聽他說有C++,比C語言牛逼,當時不知道什么是面向對象,就直接拿一本書來看(C++編程思想),很多看不懂,於是就死記硬背。
這段時間對編程的理解還是停留在學習語法,處理字符串,搞簡單的數據結構階段,這也是我第一次比較迷茫的時候。為什么迷茫,因為不知道學完了這一些能干什么?我想肯定有和我一樣的過來人,那個時候對編程的理解貌似就是在命令行里面輸入數據,然后經過一系列的運算,然后在命令行在顯示出來結果。
這個時候我在思考,編程到底是什么樣的工作,為啥我學習了將近一個學期的編程,只能在命令行里面運行程序。那么軟件到底是怎么做出來的,怎么才能運行的軟件,有界面的軟件。現在回想起來,我們的教材里面從來就是教我們語法以及基本的編程思想,但是從來卻沒有以一個簡單的軟件為例子,叫我們怎么去設計一個簡單的軟件。那個時候比較灰心,覺得看完了這兩本書,感覺一點收獲都沒有,想做一個簡單的圖形界面都不會,那個時候對編程產生的動搖。
其實現在才明白,為什么大學那個時候會產生迷茫。其實這也反映出來我們大學計算機教學存在的問題,大學教育更偏重理論基礎,而實踐應用基本上是沒有的,這個完全是靠自己。而個人認為,對於軟件教育行業來說,應該以實踐為主,而不是天天做一些程序考題,由哪些理論派出各種奇技淫巧的變態考題來決定你的成績。很多時候,都是基礎 –> 實踐 –>理論 –>時間,而大學的流程就是 基礎–>理論—>理論
最近 大家爭論的.net 門檻高低的問題,我覺得說真的,如果當初遇到.net這樣的語言(03年.net已經出來了,但是學校信息封閉,我們只能依靠教程獲取知識 ),能夠快速的做一個圖形化工具和頁面,我可能毫不猶豫的投入到.net ,畢竟這個馬上就能夠寫出一個簡單的圖形化界面,哪怕只是一個簡單的hello word,我也會興奮不己。門檻低說真的,對於初學者來說是一件好事情,如果初學者學完了一本書還不知道如何寫一個很簡單的圖形界面程序,他的挫敗感很強,會放棄這個行業。所以個人覺得大學應該開設VB這樣的語言,然后教大家使用IDE,這樣對於整個IT行業會有很大幫助。自身能力的高低其實完全和語言門檻的高低一點關系都沒有。
現在想想,當初不教以C語言和C++語言做圖形界面,也許是迫不得已的。C和C++做圖形界面是平台相關的,windows平台和linux平台使用的庫函數可能完全不一樣,並且開發工具也不一樣,而圖形界面需要接觸大量的平台相關的SDK,對於初學者來說,非常難以接受。我當初自己學過VC++,很多復雜的Window函數以及原理對於一個初學者來說非常難以理解,再加上MVC模式,就更加復雜了。到現在,我也很少做C/S相關的開發。
所以編程的入門 最重要的是是否快速的做一個有圖形界面的東西。很多人都被攔在這一道門檻下。這就是為什么一班的培訓機構都會以做網站開發為主,因為做web最能夠快速做出一個圖形化的交互界面。當初自己也是因為能夠使用html做出一個網站走上了程序員的世界,以后才慢慢了解程序設計的。