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