因為欠費原因,廣州電信把我從Internet上斷開了,而我只得到一個帳號密碼失效的提示。不能上網的時光,倍感無聊,凌晨4點了,還是睡不著,突然想寫點我與計算機之間的事情。
相識
最早看到計算機是96年上高一的時候,老師教我們學DOS和UCDOS,還發了一本教材(上面有鍵盤布局圖),那個時候電腦386,而且每次去機房都要脫鞋,那個味道真是別提了,當看到老師用鍵盤飛快的敲擊命令,就佩服的不得了。不過使用電腦的第一次是尷尬的經歷,我連字母在那里都找不到,被迫晚上關燈了,還在被窩里在手電筒的幫助下默記鍵盤布局圖。當時的感覺就是在懂與不懂之間,但是很好奇,也有點淡淡的喜歡,也算是相識了吧。不過到高二的時候,學校就不開計算機課了,叫我們努力準備高考。
心動
99年,我也上大學了,北方的一所普通本科,讀的專業是機械設計制造及其自動化。大一的時候有門課是QBASIC,好像非計算機專業都有這個課,老師先講DOS6.22,然后再講QBASIC程序設計,有了以前相識的經驗,我學的比較快,其它同學有問題,也總來問我,當時覺得自己很牛啊,因為讀書的時候,要讓別人佩服你其實不容易。當我虛榮心得到滿足,就學的更帶勁了,老往機房跑,實驗自己的各個想法。用QBASIC在486(99MHz)上用SCREEN 13模式下畫圓,畫五星,當看到那些神奇的畫面的時候,我覺得自己對她心動了,考試的時候,我用全年級的QBASIC第一高分(93)來向她表露我的心意,怎么當時我就沒有畫一朵玫瑰呢,好像很難。
追求
大二的時候我開始自學C語言了,用的編譯器是TC,特別要說一說TC在486上跑起來真是流暢啊,感覺非常好。一開始C語言還真是難啊,特別是指針和結構體,看不懂啊。唯一沒有變的是我在機房的時間在持續增加,經常有些不重要的課不上了,跑去機房寫程序。那個時候上機是5毛錢一個小時,機房的老師都認熟我了,他有事情出去了,還叫我幫他收錢。汗,難道就不怕我貪污。那個時候,真是刻苦啊,經常是到晚上10點多回去,一出計算機學院的大樓,就看到漫天大雪,但一點都不覺得冷。
我有個同學是搞計算機等級考試報名的,我在他那里花了110大洋,報名參加3級B類考試。覺得考2級浪費錢,就直接考3級了。還好,考試的題比較簡單,順利考過了。
大二的夏天,我就開始學了VB6.0, VF6.0, 呵呵,機器都變成586了。看到圖形界面后,那感覺爽呆了。
相戀
上大三了,秋天的時候宿舍買了臺電腦,6個人合買的,花了4800大洋,不過才8M顯存,450M Hz, 64M RAM, 不要小看她哦,都裝過Win98,Win2000,WinMe,RedHat,我們就輪流陪她,一個星期,我才輪到一次。
又一個冬天來了,外面仍舊是白茫茫的一片,可我的心里是火熱的。有人跟我說C++才是王道,我開始自學C++, 當又一個夏天到來了的時候,我買了本清華的<VC6.0從熟練到精通>都是一個一個的例子,看到書做。VC真是嚇死人,一個問題,可能就導致幾百個編譯錯誤,把我嚇壞了,后來習慣了,才不會那么大驚小怪了。第一個實用的程序就是用VC開發的,一個設計V型傳動帶的程序,輸入參數,計算并打印設計報告,程序大概3千多行的樣子,很多都是公式和數組,呵呵,這個程序唯一的作用就是給老師用,改作業的時候,心里有個底。
熱戀
大四開始,開始做課程設計,我的課題是《多點測溫系統》,分兩部分,一個是單片機硬件,一個是上位機軟件。軟件功能就是通過串口與下位機通訊,采集各個傳感器的數據,然后保存,顯示,分析,打印。為此我還去租了一臺好點的電腦來寫程序,寫了大概2個多月,每天都在寫。這個工程都是用VC寫得,就是從這個項目中,我才真正的明白了一點軟件開發是怎么回事情,那個時候上的最多的網站是www.vckbase.com,看里面的文章,把例子一個一個的下載下來研究。當時到了廢寢忘食的地步,那個感覺只有熱戀中的人才能體會。現在我都還保存了那個軟件的安裝文件。其中涉及到技術包括:通過ADO操作ACCESS,串口通訊(MSCOMM控件),還有VC的文檔視圖結構,現在看來,那樣的軟件也只能算是一個作業。
分手
大四畢業,我到了廣東順德到美的生活電器事業部做研發,開始做我的機電專業,感覺我要跟計算機分手了。后來因為其它原因,我離開美的,開始找新的工作。分手的日子是艱辛的。
重逢
做機械的工作我不想去,很多公司都我拒絕了。有家公司用ASP做網站的我也不想去,后來去了鴻聯95,但是去了幾天以后發現那里并不適合我。最后去了一家做系統集成軟件的公司。當時的工資是試用期2000,轉正后2500,還好包吃住。
當時非常開心,又可以寫程序了,其實工資都少那個時候還真不是很計較,不像現在。剛去領導也沒有安排什么工作,自己然后買了本書學COM編程,發現真是難懂,以后用的也少,就沒有管它了。
激情時光
我上班后的第一個任務是做一個短信項目,連接移動和聯通的短信網關,然后把數據里面要發送的短信發送出去,因為用了華為和傲天的API,所以還算簡單,沒有多久就搞定了。
2004年元旦的時候開發了一個使用GMS Modem發送短信插件,使用串口發送AT指令。
然后做了一個即時通訊的軟件,主要是在局域網內使用,聊天,發送文件,發短信。這是我自己寫得軟件,本該屬于業余時間,可是多數還是在工作時間完成的。所有做過的項目中這個項目對我的鍛煉最大的,寫了很多的版本,自己都不是很滿意,等有空,我繼續寫。最開始的幾個版本就不說了。我說說主要的版本:
l V0.5 時間:2004年2月 工具:VC6。網絡部分用WSAAsyncSelect異步Socket,報文用的是XML,也能用,就是不太穩定,也不太好用,很多地方沒有考慮周到。現在完全放棄這個版本了,只能把它放到博物館了。
l V0.6 時間:2004年7月 工具:VC6。很多類都是用Rose設計的。網絡部分是自己封裝的一個TCP Server,內部還是使用的是異步Socket,報文還是用的是XML, 比起前一個版本,有了很多改進的地方。后來發現XML傳輸數據其實不是一個好主意,平添了很多的復雜性,并不是先進的東西就是適合自己的東西。
l V0.7 時間:2005年7月 工具:VC2003。這個是個新的嘗試,去掉了異步Socket,改成了完成端口。同時服務器程序改成了基于控制臺的程序,協議也修改為類似QQ的TCP協議,不再使用XML,一下子世界變得簡單了。為了適應在Internet上使用,而我又沒有P2P上調式的環境,文件傳輸就通過服務器中轉。
l V0.8 時間:2005年12月 工具:VC2003。在V0.7的基礎上的網絡部分使用ACE的reactor代替,穩定性隨之大幅提高,成熟的庫感覺就是比自己寫得代碼要穩定。為了支持離線文件傳輸,還寫了一個基于ACE的FTP Server,然后結合到系統中來。最后不得不感慨FTP設計的簡潔和合理。本打算把服務器搬到FreeBSD上的,看到數據庫操作的那些代碼,就打起了退堂鼓。
l V1.0 時間:2006年9月 工具:VS2005。我大膽的把它命名為1.0,因為這個時候,我學會了C#,當然要用C#把我的心愛的IM軟件改造一番。增加了很多的新特性,是以Google Talk為目標的。
生活
公司的項目也不是很多,幾個主要的項目有:
l 2004年10月 視頻控制服務器
跟硬盤錄像機通訊,為別的軟件使用它的功能提供標準的接口
l 2004年11月 綜合顯示系統。一開始用VC6.0寫得,到2006年9月實施的時候,發現公司一開始的需求不準確,我在現場的時候,用了幾天時間使用C#把那些程序重寫了,都沒有怎么測試就部署使用了,到現在客戶竟然都還沒有提意見,神奇。
l 2005年11月 做了一個OPC Server,幾千個數據點,幾十個設備,很復雜的要求,花了我很多時間,對穩定性的要求也高。一開始用C++寫得,但是運行幾天程序就莫名的不工作了,總也找不到原因。無法為了自己的名聲著想,到2006年3月份時候,邊測試設備,邊開始新版本的編寫,也就是那個時候C#用的多了起來。我把其中的一部分代碼用C++/CLI 封裝了,拿到C#中調用,后來程序都很好的工作了。特別的是因為那些設備都是用串口通訊的,所以我那個時候,我試用了很多串口通訊的方法,汗,最后發現還是.NET 2.0自帶的串口控件最穩定,其它的或多或少的有些問題。因為里面的設備類型非常多,所以把設備驅動都做成了插件,為了能在數據庫中保存插件中未知類,自己還寫了個ORM,那個時候真是壞了。
l 期間還開發很多小插件,現在都不太記得了。
巨大的轉變
2006年12月我離開了以前的公司,去了一家做嵌入式開發的公司,在Linux上開發樓宇控制器。想不到去了那里第一個任務就是在ARM Linux開發一個Web應用,那些網頁都得用AJAX技術寫,無刷新查看與之連接的設備的實時數據和系統狀態。想不到去做嵌入式開發,卻把JavaScript練得這么熟悉。
效果都是使用CGI+XML實現的,呵呵,有空我把這個經驗介紹給大家,很有趣,就是工作的方式沒有以前用CGI直接輸入HTML那么直觀,不過效果很好。
一開始我對使用C語言比較抵觸,但后來發現除了C語言,我根本沒有其它的選擇。我現在每天都在FC6+eclipse+ctd下面工作,不過也習慣了,沒有以前那么別扭了,不過還是懷念Visual Studio工具的強大,好用,智能,而eclipse好半天一個智能提示都出不來。
困惑的將來
最近寫程序總是提不起精神,上班回來,就覺得很累,變得懶惰了,失去以前的激情和動力,是不是年級大了,精力不行了。如果真是那樣,我將來到底該干什么呢?難道叫我離開計算機,上帝啊,不要啊。
總結一下:
l 學計算機盡量越早越好,培養興趣很重要。
l 要勤奮,盡量不要打游戲等娛樂活動,多看書,多思考,多實踐。
l 方向很重要,時間很寶貴,把時間都用在正確的研究方向上。
l 培養嚴謹專業的工作作風,不然你寫的軟件沒幾個愿意用的,除非你是天才。
l 多交流,跟同學,同事,朋友,多上專業技術站點。
今天是7-1日,謹以此文紀念香港回歸十周年。
posted on 2007-07-02 08:59
天下無雙 閱讀(1618)
評論(12) 編輯 收藏 引用 所屬分類:
Life