程式設計師的愛情

海興發表於2013-12-26

本文牽強附會,滿紙胡言,純粹是為了廣告效果,求別太認真!

愛情是個古老的命題,但並沒有老到與人齊壽。據說人的舊腦只關心三個問題:“可以吃嗎?可以和它性交嗎?它會殺死我嗎?” 原始人見到想要的異性大概也是一棒子砸暈,拖回洞裡跟自己繁衍後代。不用挖空心思地想怎麼搭訕,怎麼投其所好;也不會患得患失,望眼欲穿。跟異性有關的只是繁衍,沒有愛情。

最早提出愛情這個命題的,大概是文人。“問世間、情是何物,直教生死相許。”可惜因為沒有科學的思考方法,問了幾千年仍然糾纏不清。文人的愛情大多是百轉千回、悲悲切切。從“窈窕淑女,君子好逑;求之不得,寤寐思服”,到“此情無計可消除,才下眉頭又上心頭”,大多都像神奇的紅線,牽動的文人心旌神搖、魂不守舍。與愛情有關的文字也是洋洋灑灑,浩如煙海。但歸根結底是三個字,說不清。如果非要用兩個字概況,那就是糾結;有種裡面的人痛不欲生想出來,外面的人心急火燎想進去的感覺就是了。

除了文人,討論愛情最熱烈的就是藝人了。千百年來,藝人們都在工作中演繹著文人筆下的愛情悲喜劇,但他們生活中的愛情要簡單的多,雖然同樣是豐富多彩,是你方唱罷我登場;外人看起來異彩紛呈,要畫一張大圖才能釐清幾個人之間的關係;但每一段故事都是敢愛敢恨的典範,一點都不拖泥帶水。愛情這根線,牽動的也不再是藝人們自己的心,而是億萬民眾的心。只為了搶別人的頭條,丟擲一句內什麼!

除了文人和藝人,宗教人士、哲學家、生理學家和心理學家對愛情都有自己的論斷:

  • 宗教人士說:“愛是恆久忍耐,又有恩慈。愛是不嫉妒,愛是不自誇,不張狂,不做害羞的事,不求自己的益處,不輕易發怒,不計算人的惡,不喜歡不義,只喜歡真理;凡事包容,凡事相信,凡事盼望,凡事忍耐。愛是永不止息。”。好吧,其實這是愛,不是愛情。不過確實有一位宗教人士說:“第一最好不相見,如此便可不相戀。 。。。安得與君相訣絕,免教生死作相思。”也透著點“一切有為法,如夢幻泡影,如露亦如電,應作如是觀”的味道。
  • 馬克思說:“在一定的經濟、文化條件下,男女兩性間以共同的生活理想為基礎,以平等、互愛和自願承擔義務為前提,在各自內心所形成的對對方最真摯的仰慕,並渴望對方成為自己終生伴侶的最強烈最穩定的感情。”
  • 生理學家認為愛是哺乳動物意欲的表現,就跟餓了要吃飯、渴了想喝水一樣;心理學家認為愛是社交與文化的表現。美國心理學家斯騰伯格認為愛情由三個基本成分組成:激情、親密和承諾。激情是愛情中的性慾成分;親密是指溫暖體驗;承諾指維持關係的決定期許或擔保。

雖然眾說紛紜,又似乎都有道理,但有一點是可以肯定的:愛情觀和星座血型無關,和職業相連。

那麼對程式設計師來說,應該如何看待愛情呢?

我們先來看一個概念(插播一段廣告):

緊耦合 是一個古老的工程術語,指不同元件之間的交叉依賴關係太強了。比如說有一種內建藍光播放機的電視。看到這臺電視時,你會想如果電視壞了怎麼辦?藍光播放機可能還可以正常工作,但一旦電視不能顯示畫面,整臺機器就廢了。所以最好避免這種情況出現,用獨立的、外接的藍光播放機。

我們程式設計師在做軟體時也是這樣考慮問題的,要儘量避免緊耦合。用功能單一、相互獨立的模組搭建程式。但緊耦合有時又是必須的,尤其對甜蜜的愛情而言。再舉一個具體的例子:

現在的手機基本上已經取代了mp3、遊戲機,甚至是手電筒。在一個裝置上整合這麼多功能圖的就是方便。愛情也一樣,沒有緊耦合,就沒有幸福感。但這也意味著可能會出現連鎖反應,如果一個東西出了問題,其他東西也會出問題,比如你用手機聽了很長時間音樂後,可能會突然發現手電筒電量不足了。

所以緊耦合也不都是壞事,糟糕的是缺乏設計的耦合。應用程式中總會有一些依賴關係,關鍵是要避免在互不相干的任務間出現不必要的耦合。如果你不努力隔離出不同的模組,就會得到一個脆弱不堪的程式,很可能會因為一個小bug徹底崩潰。當然,你肯定會想盡一切辦法避免bug出現,但如果任何一個bug都能搞垮整個程式,你也只能躲牆角哭去了。

程式如此,愛情也是如此。按程式設計師的思維習慣,愛情中應該不會出現不必要的耦合,只有經得住考驗的依賴關係,不會因為小bug徹底崩潰。相互依賴,但不會因為依賴項的問題造成整體崩潰,這應該是程式設計師對愛情持有的基本態度。

當然,對於愛情,程式設計師不僅有態度!在程式設計師的職業素養中,還有很多可以妥善處理愛情問題的有力手段。比如去哪裡尋找依賴項,如何判斷依賴項是否適合自己,如何做依賴注入等等。更何況還有測試驅動、異常處理等多種保證程式(愛情)安全的方法;以及程式推出(結合)之前的檢查清單,效能優化等等。篇幅所限,我就不再一一展開了,如果你感興趣,請關注《JavaScript程式設計實戰》!它不僅教你寫程式,還在教你如何收穫愛情(這就看你的悟性了)!

相關文章