如何持久編程?
一般工作一周就不想編碼了。如何才能持久了?
程序人生的寂靜歡喜
標題起得太大咯,是在故作老成么?
「程序人生的寂靜歡喜」——怎麼看都感覺像是某位已故計算機大師的墓志銘,可卻偏偏被一個菜得摳腳的毛頭小子拿來當做人生寄語——也是日了狗了!
人都沒生過,談什麼人生!?
莫怪我,我偏要「奢談」一下!
一.記敘一開始我是拒絕的!因為我根本就不喜歡寫程序。
打高中數理化就不好,什麼排列組合、圓錐曲線、電磁場中一帶電粒子、水溶液中的水解電離,困擾我有如夢魘。
高考時,祖墳上冒出一縷青煙,數學創歷史新高考了88,理綜破有史記錄考了200,數據不僅太美太感人,而且大吉大利、元亨利貞!終於,我以總分522分考上了一所夢寐以求的2本就讀於計算機科學與技術1202班——命中犯2!
可是對於編程其實我是拒絕的——大一花了一年的時間來研究心理學,大二花了一年的時間來研究哲學,大三花了一年的時間來研究中醫——結果,《離散數學》掛了,《數字邏輯》掛了,《數據結構》掛了,《編譯原理》掛了——恨不得自掛東南枝!
人在做天在看,出來混總是要還的!曾堅信「天生我才必有用」,「我輩豈是蓬蒿人」;曾篤定「心所願力畢至」,「有志者事竟成」;曾夙願「天授其賦必賜其福」,「好風憑藉力,送我上青雲」。可是,一個冷峻若紫電青霜的問題劈面而來:不寫程序又能幹嘛呢?
然而我根本就不會寫程序!試想,一個打字只能用到右手食指、左手食指和左手無名指的人,敲代碼時是多麼捉急!試想,一個高數補考考了19分,滿腦子宏大敘事的理科弱智,寫程序時是多麼腦洞大開!
後來去公司實習,遇到的第一個項目就是要使用ESFramework通信框架,當我第一眼看到了開發手冊上的如下句子時,我就知道,春天不會再來了!
客戶端通過調用ESPlus.Application.Basic.Passive.IBasicOutter介面對應的方法以及預定其相關的事件,就可以完成基礎功能或得到相關狀態改變通知。我們可以從 ESPlus.Rapid.IRapidPassiveEngine暴露的BasicOutter屬性來獲取IBasicOutter引用。
介面、預定、事件、暴露、屬性、引用,你們一個一個來,我還大概能明白,你們群起而攻之,我便委地如泥了!
重載的Query方法(帶有CallbackHandler參數的)在發送請求信息後,不會阻塞而繼續向下執行,而框架在收到對應的回複信息時,會回調CallbackHandler委託指向的方法。由於調用線程與回復回調的線程不是同一個線程,所以稱這種機製為回復非同步調用。
再當我看到「重載」、看到「阻塞」時,我徹底憤怒了!而緊接著映入眼帘的「委託」、「回調」更使我出離憤怒!最後「線程」、「非同步」更令我萬念俱滅,心如死灰!
從此,我便以一種菜得摳腳的姿態狼狽不堪地行走在險象環生的程序世界裡。莫非是寒更雨歇,葬花天氣,獵獵北風襲單衣;荒原寂寂,遠聽猿啼,近看寒鴉起;鬼影幢幢,步步驚心,不知今夕何夕。
好多次我都想,別瞎費勁了,你不是寫程序的料!真正適合寫程序的人根本就不可能是這個樣子!
於是乎放棄。可是不寫程序又能幹嘛呢?好歹讀了四年大學,何況拉弓沒有回頭箭。還是要頂風逆水雄心在,不負人民養育情!
終於,苦水的浸泡痛徹了肌膚,磨練了身心,同時也澆灌出了涅槃之花!
某天我突然發現,那些原本看來佶屈聱牙的技術文檔如今看來卻直白如話,那些原本晦澀難懂的語法如今卻能夠熟練運用,那些原本看都看不懂的源碼如今也能夠在自己指下流淌,實習之前我連循環語句都寫不對,如今卻也能用ESFramework和OMCS等框架開發出像樣的網路通信應用。
二.議論更重要的是,從當初的不喜歡、不擅長、不自信,到而今能夠懷揣著一顆歡喜之心來寫程序,能夠以樂在其中的心緒來開啟自己的程序人生,這不僅是我收穫到的莫大財富,更是我把握住的莫大幸福!
胡適先生的名言:「怕什麼真理無窮,進一寸有一寸的歡喜。」真理無窮並不可怕,因為我們在每一寸的前進中始終獲得歡喜。編程之路並非坦途,我們也並非天賦異稟,然而那個最幸福的人,並非是玩轉代碼的編程高手,也並非是億萬家資的IT精英,而是那個在流年中始終以歡喜之心書寫代碼,又通過書寫代碼恆久再獲歡喜之人!
常言道:「男怕入錯行,女怕嫁錯郎」。嫁郎要嫁有情郎——有情飲水飽,無情龍肉都無味!入行也是一樣。入了所愛之行,舉手投足皆得歡喜;入了所憎之行,坐卧立行儘是苦悲!嫁郎的幸福不在於嫁郎所獲得的富貴榮華,其根本在於郎本身。那些通過嫁郎以獲取外在利益的女子,她們充其量只是獲得了生意上的成功,而根本沒有獲得婚姻本身的幸福,而這何嘗不是一種買櫝還珠?同樣,那些以工作作為純粹手段的人,他們也從來沒有獲得過工作本身的幸福快樂。
由此看來,我想恐怕對於絕大多數的程序員而言——你不是真正的快樂!
所有程序員恐怕可以粗略的劃分為這五種狀態:
1.不愛,但是迫於生計
2.無感,反正亦步亦趨
3.熱愛,但卻身心俱疲
4.狂熱,打了雞血一般
5.歡喜,畢竟樂在其中
你是屬於哪一種呢?
如果要我來選,我一定會選5,因為唯其如此才能獲得程序人生的個中真昧,才能擁有彼此交融的內在完滿。而其他的幾種狀態在不同程度上都是殘缺的。
也許我們寫程序總是不可避免的為了各種外在的目的,但是寫程序時的那份小確幸的歡喜,卻始終是我們精神飛鳥的棲息地。 正如孔子贊顏回——子曰∶「賢哉回也,一簞食,一瓢飲,在陋巷,人不堪其憂,回也不改其樂 。賢哉回也!」
罷筆時風煙俱凈,但願自己剛剛開啟的程序人生能夠無關風月,寂靜歡喜。
你想要的雞湯版:
1. 動動手就可以做出屬於自己的app 難道不能吸引你?2. 當所有人都為你的成就讚嘆不已添補了你久違成就感的空虛難道不能吸引你?3. 自己一個人只需要敲敲代碼,不用巴結任何人,不用揣測領導心意處處逢迎領導,不用與人處心積慮,如此純粹的人生難道不能吸引你?4. 能力幾乎可量化,職業道路清晰可見,從來不會迷茫,從來不會心慌,這麼輕鬆的生活難道不能吸引你?5. 收入相對可觀,似乎從來不會擔心失業,似乎不知不覺就就累計了財富,到達人生巔峰難道不能吸引你?6. 有著行外人士驚似天人而可望不可及的能力難道不能吸引你?附贈通俗版:編程後你的人生將 簡單、有錢、還可以裝B !你願意不?本人學識淵博、經驗豐富,代碼風騷、效率恐怖,c/c++、java、php無不精通,熟練掌握各種框架,深山苦練20餘年,一天只睡4小時,千里之外定位問題,瞬息之間修復上線。身體強壯、健步如飛,可連續編程100小時不休息,討論技術方案5小時不喝水,上至帶項目、出方案,下至盜賬號、威脅pm,啥都能幹。泡麵礦泉水已備好,學校不支持編程已輟學,家人不支持編程已斷絕關係,老婆不支持編程已離婚,小孩不支持編程已送孤兒院,備用電源萬兆光纖永不斷電斷網,門口已埋雷無人打擾
正常,初級階段是碼農,高級級別架構師,DBA,運維,基本不寫代碼;
那麼問題就來了:
你有對常用的函數、類封裝成單獨模塊嗎?
你寫的函數、類有好好歸類git-hub庫嗎?
有對自己寫的庫進行優化和理解,並且加以改進嗎?
你是常做重複性代碼運動還是直接調出自己的代碼庫?這還不簡單,工作辭了,找個客戶,天天等著驗收,寫不出來就沒飯吃,看你持久不持久。
剛不可久,揉不可守
做你喜歡 做你想做的 多玩一些有意思的東西 給你腦洞
持的太久,連泄都沒了力氣。
推薦閱讀: