感悟:幾年來編程的感想
2003年,中考結束,意外得到一本《BASIC》編程的書,于是用自己的小霸王學習機的 G-BASIC 編程。
小霸王 G-BASIC 不支持小數(shù)(除法運算的結果都是整數(shù)),但是自己寫成了 質(zhì)數(shù)算法。
G-BASIC 語法 和 書本中的語法不一樣,如:書本中 20 NEXT A 小霸王中需要寫成 20 NEXT'A(很多類似的不兼容語法都是自己發(fā)現(xiàn)的)
2005年,高二,用同學的文曲星BASIC編程。寫下了一個 4000 行代碼的小程序。
也是那時才知道 文曲星電子詞典 的主要編程語言是 Lava ——Lava 之父 Lee 改版Java發(fā)明了她。
2006年,孝感學院,進入計科系,開始了我的程序人生。
C,C++,Java,C# 都學過。
Office辦公軟件學完之后,在PPT演講比賽《做最好的自己》中,得了二等獎。
學完基本Java之后,Java算法大賽得過一等獎(很簡單的二進制轉(zhuǎn)10進制的算法,但我寫算法時,支持了多進制互轉(zhuǎn))。
學到C#之后,開始喜歡上這個語言。
2008年,自己經(jīng)常沉迷于 四國軍棋,PPS,荒廢了不少時間,于是我寫了 “夢中女孩 1.0“ 用于管理自己的電腦,限制游戲,電影 軟件的運行——人,如果不能控制自己的欲望,和動物有什么區(qū)別呢?
后來,學到了C#的分層思想,于是擴展了 “夢中女孩 2.0”,內(nèi)存從 60M降低到 20M。
2009年,一個網(wǎng)友季鵬給我發(fā)了一個小軟件讓我?guī)兔y試,軟件功能是生成代碼實體類的。于是我開始了寫自己的 代碼生成器,前后經(jīng)歷了 CodeCreate 1.0,2.0,2.5 AspGreat 1.0
2010年4月,開始工作,開始發(fā)現(xiàn) AspGreat 代碼生成器 有些不適應企業(yè)的某些開發(fā),或者意識到 代碼生成器的一些弊端——不利于代碼的修改,不利于復雜代碼的生成。
公司里面,參與了Suf 6 的一些金蝶條碼的單據(jù)開發(fā)。
參與了Flex 的研究,寫了一個 審判流,投票流 的業(yè)務 Demo。
2011年,在廣東江門出差4個月。參與公司標準產(chǎn)品Suf 7 的核心開發(fā)。自己的代碼量 25%。
對于Suf 7,我還是有點不喜歡 DataSet,DataTable 的數(shù)據(jù)交互方式。
出差期間,自己住的地方?jīng)]有網(wǎng)絡。無聊之下,自己開始在下班時編寫 WebCreate 1.0 2.0 ,同時寫成了自己的一個簡單的數(shù)據(jù)庫實體框架 Forever.Data 配合代碼生成器。
2011年7月,因為三哥的案子的敗訴,失望之下,選擇了離職 上海隆騰。
離職一個月時間,將 WebCreate 升級到 2.5,F(xiàn)orever.Data 框架升級為穩(wěn)定的 Forever.Source
同時將 SqlForever 升級到 2.0——一個跨數(shù)據(jù)庫的客戶端。
2011年8月,因為在離職時,我承諾不會帶走公司的任何源碼,不加入任何與上海隆騰有競爭關系的其他公司。所以從 WinForm 轉(zhuǎn)戰(zhàn) Web,加入了 上海訂餐小秘書。
喜歡訂餐小秘書的管理方式:公司有自己的臺式電腦,員工不能使用自己的筆記本——這讓自己和公司都有了名譽保障,利益保障——公司不用擔心源碼被帶走,員工也不用擔心下班后還要心力交瘁的忙于項目。
小秘書參與了 內(nèi)網(wǎng)的 4-5個項目,十幾個一天完成的小軟件開發(fā)。
參與了 外網(wǎng) 的 積分兌換 功能。
最后用1個月時間,完成了 從別人網(wǎng)站扒取 商圈,菜系,餐廳 的扒取軟件(分布式,IP變化,遞歸扒取)
軟件在 扒取了幾百萬家餐廳數(shù)據(jù)之后,正式宣布穩(wěn)定。
下班時間,將 Forever.Source 框架升級為 Beetle.Source 框架。
寫出了王牌算法:字符串計算。對象集合的字符串指令排序,對象集合的字符串指令檢索。
2012年4月,一起來上海,住在一起的朋友要回武漢創(chuàng)業(yè),于是我也離職回去了——畢竟,年輕時沒有嘗試創(chuàng)業(yè),我怕自己會后悔。
2012年5月,官網(wǎng)上線。戰(zhàn)略制定。
我負責WinForm 的進銷存開發(fā)。老趙和大姐大 負責 Web項目。
期間,我單獨完成了一個 管家婆 的 WinCE 軟件開發(fā)。
老趙大姐大完成了2個網(wǎng)站的開發(fā)。
2012年9月,人心思變,創(chuàng)業(yè)正式失敗。
這段在武漢的時間,
在開發(fā)官網(wǎng)時,完成了 王牌Asp.Net 服務器控件 的開發(fā),支持配置式的 網(wǎng)頁編程。
在開發(fā)進銷存時,完成了 王牌二進制字節(jié)流的序列化算法——支持WinCE (微軟的二進制流不支持WinCE序列化)!并且用到了自己的進銷存中,完全穩(wěn)定。
2012年9月 - 2012年10月,在家里幫忙爹媽過忙月,做農(nóng)活。同時學習——“何為人情”!
2012年10月,前往桂林解救陷入傳銷的結義兄弟。
2012年10月,抵達北京,開始新的職場生涯。
————————————————————————————————————
對于算法,程序,架構。
從各種算法中積累。從程序編碼中總結。從程序的升級中蛻變。
走過了代碼的復制粘貼。
走過了代碼生成器。
走過了框架集成。
也走到了現(xiàn)在的超級控件。
編寫代碼行數(shù)超過20W。
思考的王牌算法4-6個。
完成的王牌程序6-7個,業(yè)余程序幾十個(公司項目不包括在內(nèi))。
抽象的框架程序集 10多個。
整理的各式文檔50多份。
我知道,自己并沒有站在軟件架構的頂端。
因為每次當我完成一個讓自己自豪的軟件而自滿時,我也會發(fā)現(xiàn)自己軟件的弊端和升級的空間。
完成,總結,升級,抽象 ——這似乎一直是我改變程序認知的方式。
————————————————————————————————————
但是,兩年了。
相比之下,我可能更多是希望能多和人打交道,而不是程序。
我不希望自己在程序的世界中變得 不諳人情,不食煙火。
孤獨的編程可能終究是一個深淵....
原文鏈接:http://www.cnblogs.com/shuxiaolong/archive/2013/03/12/2955473.html