“瘋狂的程序員”絕對不是靠狂妄和拼命的程序員,而是能夠腳踏實地、持續努力的程序員。一個程序員真正做到了這兩點,技術上去之后,唯一能夠限制他的只有想像力,到那個時候,才算“瘋狂的程序員”,這種程序員啊,才能令競爭對手無比恐懼。
——《瘋狂的程序員》
早在2009年11月份我參加NOIP的時候,在火車上,就從與我同行的武翔宇的手機中翻到了《瘋狂的程序員》的txt版本;期末考試之前去新華書店,無意中也發現了這本書;但是直到前幾天才開始看這本書(當然是txt版本,不過這本書已經準備購買);昨天,其實應該算是今天了,凌晨兩點,終于把這本書看完了,至于熬夜到兩點的原因,不言而喻。
我不是一個程序員,我只是一個高中生,平常比較喜歡編程(我們的編程當然和程序員的編程不太一樣,以算法為主),今后也未必會作一個程序員,我對純算法的理論更感興趣。但是讀這本書的時候,總是可以不斷地和絕影產生共鳴!
我也曾經熬夜寫程序。記得一次化學老師布置了一個作業:每人或多人合作完成一份元素周期表。我當時就想,別人都在紙上畫一個表格填上內容,這個誰都會,沒什么意思,我不如寫個程序算了。當時就寫了一個300多行代碼的查找程序,記得那次,我熬夜到了一兩點,而白天還有課晚上有晚自習。而這個也是我第一次寫300多行的程序。當然了,以自己現在的能力,重新審視這個程序,當然可以更加完善,但是已經沒有必要了,那只是一個階段、一次鍛煉,不如就那樣一直放著,在記憶中。
也不止一次地為一個問題找不到答案而悶悶不樂,對周圍的人置之不理,這對于一個高中競賽選手更應該說是常事;而且我自己感覺又是一個比較追求完美的人,什么問題不想有殘留,想給每個問題都找到一個最合適的解釋。做vijos、做UVa、做POJ,每道題目幾乎都需要深入思考,這時候仿佛世界就只有我一個人,還有眼前的計算機,周圍的人和事都不存在。不斷地在草稿紙上設計算法,分析算法的復雜度,只為了獲得OJ給你的AC,而一個“Accepted”對我又不止是AC。
每次看到自己進步也會感到十分高興和暫時的狂妄。寫出第一個程序,我和別人不同,一般人是“Hello World”,而我的第一次是“讀入三個整數并輸出”;第一個上百行的程序;第一個實用的程序;第一個游戲;第一次理解A*、動態規劃、并查集、線段樹……每次看著自己的程序Run起來,就會自然而然產生一種成就感。或許作者說得對:程序員不是為了工資還有其它什么而努力,而是為了對得起自己。
我現在已經高二,正在考慮是不是要放棄信息學競賽。看了文末的“Never Give up”,自己心里一震,微微一笑,心想:“程序還是要寫,常規課程也不能落下,不就相對于多開一門課嗎?不就是比平常人多努力一點嗎?不就是還有一年半的時間嗎?無所謂了,放輕松……”
看了絕影和燕兒的結局,感覺這是書中唯一有點惋惜的地方。Girl和Man的想法還是不太一樣吧,盡管絕影能掙錢,但那還不只是物質上的;盡管燕兒說支持絕影,想干就干吧,但那還不只是精神上的?
永不放棄!永不放棄又有兩個原則,第一個原則是:永不放棄!第二個原則是當你想放棄時回頭看第一個原則:永不放棄!
寫成代碼那就是:
void Never_Give_up(bool Give_up)
{
if(Give_up)
{
Never_Give_up(!Give_up);
return;
}
Never_Give_up(Give_up);
}
Never Give up!不只是程序員。
posted on 2010-02-12 10:24
lee1r 閱讀(550)
評論(3) 編輯 收藏 引用 所屬分類:
Programming Diary