我的程式設計之路 一
阿新 • • 發佈:2018-12-19
時間過得還真快,投身軟體行業已經有8年了,從接觸計算機算起,已經超過13年。那年還是1993年,剛上高中一年級,就在第一個學期裡,學校就開始教育計算機課了,使用的計算機是中華學習機、蘋果機和IBM PC機。那時候開機特別麻煩,一定先開顯示器,才能再開主機,否則會損壞機器,老師叮囑了N遍,關機剛好要倒過來。在那年的課程裡學會了BASIC語言,對著書裡提到的數學問題一個一個地編寫程式解決,記得最清楚的一道題就是百雞問題,如下:張丘建《算經》中提出“百雞問題”:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、母、雛各幾何?這是一個不定方程組,如果人工計算,需要不斷地嘗試,需要花費不少時間。如果使用計算機來解決,計算的速度是非常快的,一執行就立即出來了,從那時起,我就覺得計算機是一個神奇的東西,心裡就喜歡上計算機了。1996年考到大學,接觸計算機也比較高階了一點,當時還是286的機器,但開始學習操作DOS作業系統了,還知道計算機不但可以計算數學問題,還可以玩很多遊戲,可以做很多管理的工作,比如幫老師列印試卷。在這學期裡,也有過一次最深刻計算機教育,那就是全班去上一次化學實驗課。那次化學實驗課,老師也是別開生面的,不是真正地去實驗室做實驗,而是帶我們去他的工作室裡,開啟一臺當時是比較高階的計算機—486吧?一到那裡就開啟計算機,並且啟動那個化學計算軟體,然後輸入一些引數就開始運行了,老師就開始給我們介紹怎麼樣計算,而那臺計算機就足足計算了兩個小時,才把一個簡單的分子式計算完成。這時才知道什麼是計算機效能,為什麼需要大型機器。同年,也開始學習計算機文化基礎,主要練習快速的鍵盤打字。常常跟同學比賽打字,看誰打得快,還蠻有趣的。同時更加系統地學習了計算機的歷史,瞭解到計算機更加廣泛的應用。1997年開始學習C語言程式設計了。在這之前的大學課程都是教育FORTRAN或PASCAL的,畢竟那年開始,C開始越來越流行,不管是系統開發,還是應用軟體開發都是C的天下。因為UNIX是使用C編寫的,那麼UNIX下的軟體,大多數都是C寫的。當然DOS下的應用軟體也越來越多是C寫的了。記得使用最有使名的C編譯器是TC2.0,哈哈……。TC2.0是整合開發環境,也就是說把編寫程式碼和除錯程式碼放在一起,這樣大大地提高了軟體開發速度,算是一次軟體開發的歷史突破。1998年開始接觸網路了,網路才剛剛興起。那時候上網,也不知道能做什麼,只是知道可以收發EMAIL,立即發出去別人就能收到,這是一種速度效率。這一次上網的機會也是來之不易,是同學天天打電話去電臺裡答問題,答到的機會。當然,在這一年裡就開始學習微機原理,瞭解計算機是具體有什麼組成,怎麼樣執行的。開始學習使用匯編語言控制8255A程式設計了,瞭解CPU的基本指令。也慢慢開始學習C++程式設計,使用VC 5.0開始編寫程式,剛開始發覺VC5.0編寫Windows的程式非常因難,基本搞不懂從那裡開始。1999年開始多種程式語言的學習。這一年裡,自己購買了一臺K6-2的電腦,這樣學習程式設計,就更加方便和容易了。當時開發Windows程式,還是VB比較容易一點,因此轉向學習VB程式設計,搞了幾個月,也能使用它程式設計了,後來發現使用VB編寫一個撲克牌遊戲,速度非常慢,就這樣放棄了VB的學習了,那時應是自己的基本功不過關,而不是VB不好。接著又學習了Delphi,也玩了幾個月,使用它來開發撲克遊戲還比較快,但當我去圖書飯館看到LINUX時,發現全是C編寫的,又重新回到C和C++的平臺,接著為了看懂LINUX的源程式,還列印了一本LINUX的原始碼,一行一行地看。在這一年裡,也是C和C++突飛猛進的一年。當時還為編譯LINUX核心並安裝,把朋友的硬碟資料全部搞壞了,朋友傷心了好久。2000年畢業後,就直接進入了嵌入式軟體開發。這一年裡,學習makefile檔案的編寫,並開始看一萬行以上的工程程式碼。畢竟以前看過LINUX程式碼,所以看那個嵌入式系統程式碼,就顯得比較小了,接受的速度非常快,兩個星期就完全搞懂,可以進入功能階段開發。開發這個嵌入式軟體,不是從頭做起的,而是從原來別人的基礎上進行修改開發,那麼看懂別人沒有註釋的程式碼,就變成一種比較高的要求了。不過,這個系統是印度人開發的,畢竟文件寫得比較全,大體的程式架構是寫得非常清晰的。從這個專案裡,學習到文件的重要性。