其實將這些做過的東西列出,除了能自我回憶一番,剩下的就只有裝逼。買顯示器何嘗不是裝逼,買HHKB何嘗不是裝逼,自然不必在乎這一回。
每當我看到對軟件大師的訪談時,總是在想,如果某天我功成名就,如何回憶我的編程人生? 所以將本來的[我的軟件]改為編程人生。
更新歷史:
菜單:
那時我還不是程序員
何時接觸編程
幾乎所有的訪談都是以“你是何時開始接觸編程的”開始的。
而幾乎所有的回答都大同小異,不是因為祖父是個工程師,就是因為還在上小學的時候就有一台386,486的電腦,在我認識的很多人里,不少人在高中才接觸電腦,在大學才會上網,至今沒有自己的電腦。
不排除小學、初中所謂的信息技術課程,那時的我們往往都傻逼的開啟mspaint或者當時很流行的一個金山畫筆,去亂塗亂抹,直到課程結束。
如果小霸王也能算是電腦的話,我可以自豪的說我也是小學開始接觸編程的,而且小霸王的學習卡上,我是實打實的一個一個弄過來的。
記得當時的學習卡只有8個欄目去選擇。無非就是練習打字。當時的小霸王推行一個名叫“認知碼”的輸入法,學習卡上的最后一個,就是一個認知碼游戲。記憶中這個游戲相當的難,一共60關,每關都是一個小人敲門的動畫,而且與所有不能存儲的游戲卡一樣,使用“密碼”的形式可以繼續上次的關卡。
當然,這個游戲最后在“全家”的不懈努力下,60關全通,也算小有成就,拿着一本厚厚的秘籍(每關答案),仿佛真的掌握了什么。
其實我是到后來才知道,學習卡上的倒數第二個黑屏的那個就是教編程的,可惜我現在仍然不知道那使用的是不是basic語言。
好吧,對於我是何時開始接觸編程的,我可以回答,在我還上小學的時候,家里買了一台小霸王……
學電腦
小學畢業當時有三個月假期,當時都流行學個什么,我學的是電腦。
所謂學電腦,就是學着使用電腦,那時是2001年,不少已經工作的人也一起學電腦,估計就是要一個XXX證的問題。
對於我們小學畢業的人來說,雖然給我們教Dos命令,但是絕大多數時間還是在學五筆打字,背五筆字根表。
當時學電腦的地方我還記得叫“捷峰”,原因在於當時使用的美萍網管系統的密碼就是jiefengjie。
那個年代的網管系統,僅僅是隱藏了盤符,然后弄出一個虛擬的桌面,只能讓你打開幾個軟件。都不記得有多少種方法可以“破解”了,比如在Word中插入一個程序,直接雙擊就能運行,比如說在打開對話框中點擊右鍵瀏覽(后來屏蔽右鍵,使用S-F10),比如說查閱了美萍忘記密碼怎么辦的手冊,發現使用注冊表刪除密碼……
想想一直能記住regedit這個命令也就源於此。
當然,如果只是學電腦,估計就不會有那么多家長同意讓孩子來學了。
當時的捷峰,口號不只是學電腦那么簡單,其中還有學英語,學普通話和每天下午的暑假作業輔導。
初中的英語老師恰巧當時在這里賺點外快,也算提前認識。
說起普通話,還是讓人影響很深刻的。
我在捷峰學了兩次,一次就是上面所說的小學畢業三個月時間,初中寒假繼續學了一個多月(原因當時有個老顧客優惠活動)。
小學畢業的三個月中,普通話老師是當時武威的一個播音員,至於講的什么現在大多已經忘記了,印象中聽課的人不多,但是老師很文靜。
而第二次上捷峰時,有一幫更小的一起上,這時的普通話老師是武威電視台的少兒節目主持人。叫什么名字不重要,反正只要是女的就是什么姐姐,當時正巧播放藍貓淘氣3000問,然后那一幫小p孩,整天就問主持人姐姐問題。
學電腦認識了不少人,有整天抱着一本徐志摩的高個子女孩,也有出生在愚人節的姑娘,有當時星際”餓狼隊“隊長的弟弟,也有拿我寒假作業沒給我還的小學同學。
當時的我們,把五筆字根表正反背過,至今有多少人用五筆打字?當年的我們都崇拜黑客,至今又有幾個人走上了程序員的不歸路?
游戲與盜號
當時對黑客的理解不正確,但是現在和當初一樣,都致力當一名“黑客”。
每當我看到有人回憶自己的”黑客史“的時候,我就覺得可笑。使用工具隨便點點就算黑客?掃描個漏洞,黑個網吧,網頁掛個木馬就很牛逼?
可笑的是這事情我也干過,但是我一直也不想說出,原因很簡單,因為盜號的原因,朋友之間相互猜忌,不歡而散,即使最后既往不咎了,已經沒有當時那份友情,注定只能是路人。
我只能說我干的事情是盜號,與黑客無關。
每當我看到“盜號死全家”之類的話語,我就開始自省。
出來混,遲早要還的。盜號的,遲早要被盜。
關於游戲,我已經不能一一舉例了。 所幸其中除了盜號,其他幾乎與編程不相關。
只有使用網游外掛編過按鍵精靈腳本,玩單機搞過修改器。
不得不在這里說的是做游戲這個夢想。
以前愛玩那種扔色子的游戲棋,越復雜越喜歡,但是往往沒有玩伴,有也只能玩簡單的棋,低能的唯一的技巧只有在扔色子上做手腳。
當時沒有TRPG的概念,鑒於游戲棋過於簡單,自己曾手繪游戲棋,其中的設計一點一不比現在做軟件設計來的簡單。
這個自己手繪的游戲棋一直都沒有人與我一起玩,見過的人都很少。
魔獸
前幾天一個13歲的小p孩加我QQ,理由是當年高中的一篇帖子,至今在百度上搜索武威一中,魔獸的關鍵字,還能找到這篇帖子。
我說,初三開始接觸魔獸,03年,十年魔獸。
很難想象一個游戲,一件事陪伴了我十年。
我競技打的不行,但不可能認為沒有人能打不過一個冷酷的電腦。
我3C、真三、Dota打的不行,但不可能會說“XXX敢不敢,一把一百”。
我RPG打的也不行,但我從來就沒想過只玩簡單難度。
我ORGP也不行,但我從來都不會去改游戲。
高度決定視野。
說起魔獸,不能不談魔獸地圖編輯器。
這里將列出我的第一個程序,雖然高中也參加過編程的課外活動。
我想我之所以可以耐着性子去做軟件,而且經常會做備份,魔獸地圖影響很深。
一張魔獸地圖,做了4-5年之久,如果換做軟件,一個軟件計划做5年,那么可能永遠都無法完成。
一樣,我的魔獸地圖沒有完成。
將一個未完成的版本拿出來當做人生第一個程序總是不光彩的,但是我已沒有了那份興趣,沒有那份時間,無法繼續,只能拿出來祭奠。
判斷、循環、數組、事件觸發、內存泄露……該有的都有,jass雖然只是另一個腳本語言,但是卻是我第一個完整做一個東西的編程語言。
堅持與深究很重要。
上培訓班
這里我應該先講述一段牛逼的往事,估計大學也就這一件事情牛逼了一次。
C#老師,布置課程設計,讓做一個通訊錄之類的東西,當時哥不知道什么是類型,不知道怎么把String轉換成Int,然后就在一周之內做了一個東西交上去了,然后就牛逼了:“南琦同學,XXX”,“南琦同學,即使這次不考試,我也給90分”。
好吧,很多人知道結果,我去考了,結果以30+分光榮掛科。
所以這個課程設計榮耀的成為我人生的第二個程序。
上培訓班不是一件驕傲的事情。
上培訓班源於一次沖動。
大學最后一年,當該為自己未來着想的時候,發現自己什么都不會,雖然想過上培訓班,但是從來沒有想過去一個可便宜可便宜的培訓班去上課。
全部課程下來有6個月,全日制上課(不是全日制教學),只收2980。同學開玩笑,就沖學6個月的時間,這錢都不虧。
當時同去的人很多,但是算來堅持下來的,只有我一個。
培訓班的校長說的很好,這里只能帶你走進軟件行業。
我比大多數上大學所謂經常逃課的人更徹底,甚至有些代課老師長什么樣都沒有見過,我英語停留在初中,數學停留在高考前,沒有學過數據結構與算法,所以我覺得要說基礎差,我很差。
那我為何比一起的同學做的好?
姐姐說我依靠自己邏輯思維比別人強,但是我更贊同的是《瘋狂的程序員》里的解釋:都是好強心把自己逼出來的,沒有誰天生就是干程序員的料。
每當我看到說北大青鳥,說培訓機構怎么怎么的時候,就如同看到“盜號死全家”這句話一樣,似乎與己有關,但似乎又很遙遠。
人有時候就經常給自己找各種理由,來使得自身心里的平靜,希區柯克的懸疑片中不乏這類人物。
那我如何說服我自己?
因為我花的錢少啊,我只花了3000不到,而不是一兩萬。而且我還勸說了一名准備花1.2W上培訓班的不要去上了,自學成才。
這里引出了我的第三個程序,也是通過正規渠道賺的第一筆錢。
軟件是給一個電梯維保的公司做一個管理軟件,當時讓C#和Java一起做,C#這邊就我一個,Java有三四個人一起做,最后Java那邊放棄,所以只能選我的去作秀。
其實誰都清楚,這么一個軟件根本就用不了,即使能用也起不了太大用處。
這只是拿我當個例子,做個秀,拿1000塊錢來說明,上培訓班還是有錢途的。
培訓班最終沒說結束就那么結束了,也確實帶我走進了軟件行業,而且,我做的很好。
猶豫中前進
我2010年11月上培訓班,一直到2011年10月找到第一份工作,期間可謂是繽紛復雜,什么都學。
學習期間做出的東西,也就不拿出來在這里顯擺了,用WinForm做的幾個游戲也是這個時期完成的,倒是可以拿出來得瑟得瑟。
做天龍賭坊的起因是一個XNA游戲,本來是使用XNA去做的,但是為了通用,還是使用WinForm模擬XNA去做,本身也很簡單,所以隨手拈來。
天龍賭坊之后,是想做一個更復雜一點的游戲來着,但是沒想到一個遮罩層的概念都沒有理解,然后,然后就沒有然后了。
那個忍者游戲本是“非凡”的培訓課程,看周騫在那里搗鼓,興趣所致,也就隨手做了一個,比之天龍賭坊來說,可玩度有點上升,戴帽子的人太難搜索了。
之后正式開始工作,去公司前還有一段插曲,也與程序有關。
面試很簡單的就過了,然后去公司上班,第一天去公司什么都沒帶,讓亮哥給我裝電腦,亮哥把我鄙視了一把。公司讓我做一個售后管理系統,然后隨便扯了幾個需求,我就開始做我的售后管理系統。
上班不到三天,該簽試用期合同的時候,感覺試用期工資太低,當時正值9月底,於是跟經理說我回去做,十一過完拿來給你們看,要簽就簽正式合同。
估計當時經理和亮哥都沒有“片”過來,以至於第二天看我沒來,打電話問我還來不來了。
這個售后管理系統大概用了一周時間去做,期間涉及數據庫,界面,報表等,最終沒有試用期,直接拿的正式工資,也算是有所得。
但是這個程序還是沒有用起來的。
是想只在公司待了三天的我,需求就聽過一兩句的,做東西還不是閉門造車,用自己的思維去做。
不管怎樣,這個程序也算是我編程人生中比較重要的一個程序。
我在這個公司待了有半年多時間,一直在做一個名叫“糧企通”的軟件,曾用名是“糧貿通”。
一直到我離開,一直到現在,糧企通還是沒有完成。
期間也做過其他一些東西,但大多都是打打下手,倒是有一個網站是我從頭到尾做完的。名喚喜神醪糟。
喜神醪糟這個網站是一個企業站,我憑借培訓班學來的三腳貓功夫,用了一個月才做完整個前后台,一個人獨立完成,當然,有美工提供了幾張圖片的前提下,可憐的是圖還都是我自己切的。
2012年10月,某人告訴我喜神醪糟網站終於上線了,我有點小小的激動,算來這個網站是我做的唯一一個網站,也是第一個上線的程序。
手機應用
在2011年12月,我買了一部NOKIA Lumia 800,一共3600元。也就是我現在正在使用的手機。
之所以買WP手機,最主要的原因就是做手機應用。
包括之前學SL,學XNA。
大概在次年1月或2月的時候,我發布了我的首款應用:灌溉游戲。
灌溉游戲來源已久。也是“非凡”培訓班課程里的一項,周騫曾問我怎么遞歸算是否灌溉成功。
灌溉游戲也是我以神棍工作室之名發布的第一款軟件。
接下來由於各種原因,再沒有做手機應用,直到2012年春季,微軟和諾基亞推出“春Phone計划”:三個應用換一部Lumia 800。
其實之前有類似的“芒果嘗鮮”之類的活動,我之所以不參加,是因為當時的注冊的開發人員信息不是真實信息,怕做完不給我手機。
當時閑着也沒事干,想再做兩個應用試試,所以報名參加了。
4月發現了中國電信也有類似的活動,這次活動參賽人員不需要自己發布應用,而是把應用給中國電信去發布,這樣就沒有開發人員身份的問題,我決定參加中國電信的活動。
除了之前發布的灌溉游戲,我做了兩個小游戲,一個是flash比較火的“你是色盲嗎”,另一個是也是flash游戲“舒爾特方格”。
兩個游戲做起來不難,但是現在想想,和“海天學院”的我的家鄉系列也就強過一點,一百步笑五十步。
不管怎樣,兩個游戲還是花費了我不少時間,而且也當時盡自己能力去做的,自認為可玩性還是比較高的,比之那些僅僅是展示的應用應該好太多。而且也是首次做全球化支持,分別做了英語、簡體中文和繁體中文。
三個應用的結果是告知我由於重復報名而申請手機未能通過。也就是說,應用他們都發布了,但是手機我沒有拿到。
如果是以我自己的賬號發布,我拿不到手機也沒什么,起碼我能看到下載量,我能有一種成就感在里面。
不做CURD
我做了很長時間的增刪查改。
上家公司辭職的時候,我給老板說的理由就是我不想做增刪查改,想做一點別的東西,雖說很大程度上是敷衍,其實是覺得工資太低。但是多少和這方面有關系。
其實直到現在,我還是沒能完全擺脫做CURD。
但我換工作還是比較明智的,在現在的公司,我開始接觸UNIX系統;見到一個牛逼的WinForm程序,使用C#寫的解釋器,講腳本語言解釋成WinForm界面並能執行腳本代碼里的代碼;參與過一個IDE工具的開發;現在做的WPF項目,接觸更多的是做平台架構層面。
我無意做對比,說明哪個好哪個不好,但是我真的不想一輩子都做一名CURD程序員。
也就在這期間,我決定應該好好弄一個博客。
說起我的博客歷史,能追溯到Web2.0起步那會,就是每人都在搭建自己的博客站點的時候。
最終我的博客都是半途而廢,其實寫博客半途而廢的何止我一個。
我在寫博客期間,也做了不少程序出來,雖說大多都是以Demo的形式發布,但是每篇博客,每個程序都是自己一點一點弄出來的,所以還是挑了幾個放入列表中。
-
視覺密碼。
關於對密碼學的向往,總是伴隨着“黑客夢”一同出現。
我對於古典密碼更是一往情深,雖然沒有做出多少成就,那是本身就是一個愛好。 -
生命游戲。
寫生命游戲的時候,正值學AI領域的兩大語言,其實都是草草學習,沒有深入,這個程序可謂是不三不四,想達到機器學習的目的,反正以我現在的水平是不可能的。
-
寫這個的原由是一個同事工作中正好用到了,最后到底用沒用我就不得而知了。
其實我這個SQL語句生成,只是做了界面部分,主要是打外鍵的一些操作。 -
五一期間剛寫的文章,參考公司現有框架寫的一個Demo。
寫在后面
這篇博文在5月4日其實已經寫完,5月5號本來要發布來着,但是在找尋文中所提軟件之時,發現自己丟失了不少。
很多東西,當年都保存在郵件附件中,這次去取,發現很多都已經過期。
這讓我很是感嘆,感嘆生命中有很多東西,當你回頭的時候,發現已經無跡可尋。
魔獸地圖我應該在家里的機子上還有存檔,當是的我專門有一個文件夾用來存放備份,按日期存放,所以又名——時間機器。但是我從郵件中找到的,只有一個還在測試中的一個存檔,如果誰有興致運行起來,會發現地面上有很多物品擺放着,都是正在做還沒有完成的。
而那個通訊錄軟件最終還是沒有找到。
我一直想做出個東西出來。
一個牛逼的東西,一個讓世人仰止的東西,一個能借此出名的東西。
或許某天吧。
但是我再也不敢許諾什么了。
因為,時間過的真的很快。