你為什麼喜歡編程?

[圖片未上傳成功]


想了想也沒特別喜歡,只是不討厭(或者說找不到更喜歡的)且能養活自己吧,真要說喜歡也不至於,雖然有時候覺得寫代碼也挺好玩的。


因為這是一個簡單的世界。

對就是對,錯就是錯,沒有那麼多人情世故和廢話。


從小就比較喜歡做一些有意思的東西,談不上創造吧。可惜家裡沒有什麼工具啦材料啦之類的。但自從發現了編程這種一台電腦就可以創造一個「世界」的東西,就停不下來了。


記得一位前輩的話讓我很有感觸。

Computer never make mistakes. It is you who made the mistake.


因為我編程的時候,感覺在創造世界。

Write the code, change the world.


程序人生的寂靜歡喜

標題起得太大咯,是在故作老成么?

「程序人生的寂靜歡喜」——怎麼看都感覺像是某位已故計算機大師的墓志銘,可卻偏偏被一個菜得摳腳的毛頭小子拿來當做人生寄語——也是日了狗了!

人都沒生過,談什麼人生!?

莫怪我,我偏要「奢談」一下!

一.記敘

一開始我是拒絕的!因為我根本就不喜歡寫程序。

打高中數理化就不好,什麼排列組合、圓錐曲線、電磁場中一帶電粒子、水溶液中的水解電離,困擾我有如夢魘。

高考時,祖墳上冒出一縷青煙,數學創歷史新高考了88,理綜破有史記錄考了200,數據不僅太美太感人,而且大吉大利、元亨利貞!終於,我以總分522分考上了一所夢寐以求的2本就讀於計算機科學與技術1202班——命中犯2!

可是對於編程其實我是拒絕的——大一花了一年的時間來研究心理學,大二花了一年的時間來研究哲學,大三花了一年的時間來研究中醫——結果,《離散數學》掛了,《數字邏輯》掛了,《數據結構》掛了,《編譯原理》掛了——恨不得自掛東南枝!

人在做天在看,出來混總是要還的!曾堅信「天生我才必有用」,「我輩豈是蓬蒿人」;曾篤定「心所願力畢至」,「有志者事竟成」;曾夙願「天授其賦必賜其福」,「好風憑藉力,送我上青雲」。可是,一個冷峻若紫電青霜的問題劈面而來:不寫程序又能幹嘛呢?

然而我根本就不會寫程序!試想,一個打字只能用到右手食指、左手食指和左手無名指的人,敲代碼時是多麼捉急!試想,一個高數補考考了19分,滿腦子宏大敘事的理科弱智,寫程序時是多麼腦洞大開!

後來去公司實習,遇到的第一個項目就是要使用ESFramework通信框架,當我第一眼看到了開發手冊上的如下句子時,我就知道,春天不會再來了!

客戶端通過調用ESPlus.Application.Basic.Passive.IBasicOutter介面對應的方法以及預定其相關的事件,就可以完成基礎功能或得到相關狀態改變通知。我們可以從 ESPlus.Rapid.IRapidPassiveEngine暴露的BasicOutter屬性來獲取IBasicOutter引用。

介面、預定、事件、暴露、屬性、引用,你們一個一個來,我還大概能明白,你們群起而攻之,我便委地如泥了!

重載的Query方法(帶有CallbackHandler參數的)在發送請求信息後,不會阻塞而繼續向下執行,而框架在收到對應的回複信息時,會回調CallbackHandler委託指向的方法。由於調用線程與回復回調的線程不是同一個線程,所以稱這種機製為回復非同步調用。

再當我看到「重載」、看到「阻塞」時,我徹底憤怒了!而緊接著映入眼帘的「委託」、「回調」更使我出離憤怒!最後「線程」、「非同步」更令我萬念俱滅,心如死灰!

從此,我便以一種菜得摳腳的姿態狼狽不堪地行走在險象環生的程序世界裡。莫非是寒更雨歇,葬花天氣,獵獵北風襲單衣;荒原寂寂,遠聽猿啼,近看寒鴉起;鬼影幢幢,步步驚心,不知今夕何夕。

好多次我都想,別瞎費勁了,你不是寫程序的料!真正適合寫程序的人根本就不可能是這個樣子!

於是乎放棄。可是不寫程序又能幹嘛呢?好歹讀了四年大學,何況拉弓沒有回頭箭。還是要頂風逆水雄心在,不負人民養育情!

終於,苦水的浸泡痛徹了肌膚,磨練了身心,同時也澆灌出了涅槃之花!

某天我突然發現,那些原本看來佶屈聱牙的技術文檔如今看來卻直白如話,那些原本晦澀難懂的語法如今卻能夠熟練運用,那些原本看都看不懂的源碼如今也能夠在自己指下流淌,實習之前我連循環語句都寫不對,如今卻也能用ESFrameworkOMCS等框架開發出像樣的網路通信應用。

二.議論

更重要的是,從當初的不喜歡、不擅長、不自信,到而今能夠懷揣著一顆歡喜之心來寫程序,能夠以樂在其中的心緒來開啟自己的程序人生,這不僅是我收穫到的莫大財富,更是我把握住的莫大幸福!

胡適先生的名言:「怕什麼真理無窮,進一寸有一寸的歡喜。」真理無窮並不可怕,因為我們在每一寸的前進中始終獲得歡喜。編程之路並非坦途,我們也並非天賦異稟,然而那個最幸福的人,並非是玩轉代碼的編程高手,也並非是億萬家資的IT精英,而是那個在流年中始終以歡喜之心書寫代碼,又通過書寫代碼恆久再獲歡喜之人!

常言道:「男怕入錯行,女怕嫁錯郎」。嫁郎要嫁有情郎——有情飲水飽,無情龍肉都無味!入行也是一樣。入了所愛之行,舉手投足皆得歡喜;入了所憎之行,坐卧立行儘是苦悲!嫁郎的幸福不在於嫁郎所獲得的富貴榮華,其根本在於郎本身。那些通過嫁郎以獲取外在利益的女子,她們充其量只是獲得了生意上的成功,而根本沒有獲得婚姻本身的幸福,而這何嘗不是一種買櫝還珠?同樣,那些以工作作為純粹手段的人,他們也從來沒有獲得過工作本身的幸福快樂。

由此看來,我想恐怕對於絕大多數的程序員而言——你不是真正的快樂!

所有程序員恐怕可以粗略的劃分為這五種狀態:

1.不愛,但是迫於生計

2.無感,反正亦步亦趨

3.熱愛,但卻身心俱疲

4.狂熱,打了雞血一般

5.歡喜,畢竟樂在其中

你是屬於哪一種呢?

如果要我來選,我一定會選5,因為唯其如此才能獲得程序人生的個中真昧,才能擁有彼此交融的內在完滿。而其他的幾種狀態在不同程度上都是殘缺的。

也許我們寫程序總是不可避免的為了各種外在的目的,但是寫程序時的那份小確幸的歡喜,卻始終是我們精神飛鳥的棲息地。 正如孔子贊顏回——子曰∶「賢哉回也,一簞食,一瓢飲,在陋巷,人不堪其憂,回也不改其樂 。賢哉回也!」

罷筆時風煙俱凈,但願自己剛剛開啟的程序人生能夠無關風月,寂靜歡喜。


編程是一種魔法,一種超能力,在未來要麼編程,要麼被編程


和人聊的越多 我就越喜歡狗

自從被狗咬了 我就特喜歡電腦


因為編程可以讓我快樂,而編程的時候,我也知道是在編我的未來。


沒權力去命令別人,只好去命令電腦了


從畢業到現在,已經經歷了6年的碼農生涯,很多時候都曾感到厭倦,比如:

  • 寫著無盡的業務代碼,各種毫無意義的代碼堆砌。
  • 與客戶的各種扯皮,與測試人員的各種扯皮,與領導的各種扯皮,與其他開發同事的各種扯皮。
  • 各種客戶強烈要求,售前隨便承諾的不合理deadline。
  • 各種複雜的和業務強相關的資料庫查詢(個人)。

但這些痛苦都不是編程帶來的,我熱愛編程,編程能帶給人簡單的快樂,因為:

創造自己的世界。編程能做很多事情,而且由你親手來完成。想做什麼,怎麼做,都由你來做主。不管是寫一個好玩的遊戲,還是寫一個web應用,抑或只是寫一個日常的小工具,一段shell腳本,那種創造了一件東西的感覺是很美妙的。所以,很多時候我會把自己寫的喜歡的程序程序當做藝術品來欣賞,時不時就打開看一看,再儘力去完善他一下。去掉一個行尾的空格,修改一段含混的注釋,甚至添加一個小彩蛋。也許有人說我矯情,那是因為他不喜歡編程。

在程序員的世界裡總能接觸到最多有意思的東西。如果你是一個愛折騰的人,喜歡學習,喜歡一切有意思的東西,那麼在這個時代,當一個程序員能讓你開心,因為你永遠有折騰不完的事情。尤其是Github的出現,讓程序員們的激情有了更多的宣洩之所。

比如就一個簡單的編輯工具,想寫代碼,一開始你用IDE,後來你會優化自定義自己的IDE;然後你覺得電腦太慢了,於是開始用sublime,下載了各種插件;然後你又知道了Vim,剛開始時覺得這玩意誰發明的,這麼反人類,但是大家都說好,所以你想接著嘗試;很快你熬過了一開始的痛苦開始上癮,於是你又開始定製自己的Vim,嘗試了n種插件,最後,當現有的插件已經不能滿足你的要求時,你自己開始動手編寫的插件...

編程容易能讓人平靜,使人專註。玩遊戲的時候,就像進入了虛擬的世界,這時候非常討厭被打擾,相信很多人都有這樣的經歷。其實編程也一樣,很容易就走進另外一個世界,投入進去,靜心去寫代碼。一般寫程序最高效的時候,就是在晚上,等大家都睡了,把qq,微信都關掉,泡上一杯茶,打開Mac上的全屏模式,享受只屬於自己的靜謐時光。

最後,我想多說一句,其實喜歡寫程序並不一定要當職業程序員。在中國,很少有公司能讓你完全開心的專心的寫程序(起碼在我現在所在的這個城市是這樣)。很多時候,把寫程序當工作反而會讓你厭倦原本喜歡的事情。Just enjoy it.


因為電腦聽話啊


體驗追求完美過程中的快樂。



雙手熟練敲擊鍵盤,如同交響樂般美妙;切換任務,調出terminal,編譯,程序滾滾地輸出著log和數據,還能更美嗎?

(其實最喜歡看著程序員藍盆友認真寫代碼的樣子了,特別帥!所以愛屋及烏)


我不會畫畫,我也不會唱歌,寫文章更是與我無緣。

但是編程也是一種創作的藝術,每當我學到一些新的知識(掌握了新的創作技巧),完成一個項目(創作出一份作品),和客戶或者領導演示我的產品(分享藝術創作)。。。

我慢慢的感覺自己也好像成了一個藝術家(當然還沒成名)。

計算機本來就是一種藝術。


請不起秘書幫我完成工作,只好學著寫幾行代碼請計算機完成那些無聊的重複性勞動了,看著日誌信息在屏幕上滾動,一個詞,愜意。


因為:編程的時候我就是上帝


跟電腦打交道比較簡單。


純編程愛好者~非程序猿...

喜歡只是因為能讓計算機按照自己需求解決問題!

有時甚至寫程序花的時間超過解決問題本身數十倍...但是成就感呀成就感~

而且最享受的永遠是調試bug的時候,每次都會對語言有更深的理解,對腦力也是很大的考驗...調試成功比一氣呵成更爽!


推薦閱讀:

Concept 對 C++ 有什麼影響,它和 Rust 的泛型 Bound 和 Trait 有點類似?
有哪些鍛煉編程能力的 C++ 項目?
Rust 和 C++ 有哪些優劣?
我是初學c++者,我想達到熟練使用c++的程度,我就想知道達到什麼地步才能算是熟練使用呢?
Unity 5 發布了,但是否 Unity 做的遊戲與 Unreal 相比要顯得粗糙很多?

TAG:編程 | C編程語言 | C | CC |