本文牵强附会,满纸胡言,纯粹是为了广告效果,求别太认真!

爱情是个古老的命题,但并没有老到与人齐寿。据说人的旧脑只关心三个问题:“可以吃吗?可以和它性交吗?它会杀死我吗?” 原始人见到想要的异性大概也是一棒子砸晕,拖回洞里跟自己繁衍后代。不用挖空心思地想怎么搭讪,怎么投其所好;也不会患得患失,望眼欲穿。跟异性有关的只是繁衍,没有爱情。

最早提出爱情这个命题的,大概是文人。“问世间、情是何物,直教生死相许。”可惜因为没有科学的思考方法,问了几千年仍然纠缠不清。文人的爱情大多是百转千回、悲悲切切。从“窈窕淑女,君子好逑;求之不得,寤寐思服”,到“此情无计可消除,才下眉头又上心头”,大多都像神奇的红线,牵动的文人心旌神摇、魂不守舍。与爱情有关的文字也是洋洋洒洒,浩如烟海。但归根结底是三个字,说不清。如果非要用两个字概况,那就是纠结;有种里面的人痛不欲生想出来,外面的人心急火燎想进去的感觉就是了。

除了文人,讨论爱情最热烈的就是艺人了。千百年来,艺人们都在工作中演绎着文人笔下的爱情悲喜剧,但他们生活中的爱情要简单的多,虽然同样是丰富多彩,是你方唱罢我登场;外人看起来异彩纷呈,要画一张大图才能厘清几个人之间的关系;但每一段故事都是敢爱敢恨的典范,一点都不拖泥带水。爱情这根线,牵动的也不再是艺人们自己的心,而是亿万民众的心。只为了抢别人的头条,抛出一句内什么!

除了文人和艺人,宗教人士、哲学家、生理学家和心理学家对爱情都有自己的论断:

  • 宗教人士说:“爱是恒久忍耐,又有恩慈。爱是不嫉妒,爱是不自夸,不张狂,不做害羞的事,不求自己的益处,不轻易发怒,不计算人的恶,不喜欢不义,只喜欢真理;凡事包容,凡事相信,凡事盼望,凡事忍耐。爱是永不止息。”。好吧,其实这是爱,不是爱情。不过确实有一位宗教人士说:“第一最好不相见,如此便可不相恋。 。。。安得与君相诀绝,免教生死作相思。”也透着点“一切有为法,如梦幻泡影,如露亦如电,应作如是观”的味道。
  • 马克思说:“在一定的经济、文化条件下,男女两性间以共同的生活理想为基础,以平等、互爱和自愿承担义务为前提,在各自内心所形成的对对方最真挚的仰慕,并渴望对方成为自己终生伴侣的最强烈最稳定的感情。”
  • 生理学家认为爱是哺乳动物意欲的表现,就跟饿了要吃饭、渴了想喝水一样;心理学家认为爱是社交与文化的表现。美国心理学家斯腾伯格认为爱情由三个基本成分组成:激情、亲密和承诺。激情是爱情中的性欲成分;亲密是指温暖体验;承诺指维持关系的决定期许或担保。

虽然众说纷纭,又似乎都有道理,但有一点是可以肯定的:爱情观和星座血型无关,和职业相连。

那么对程序员来说,应该如何看待爱情呢?

我们先来看一个概念(插播一段广告):

紧耦合 是一个古老的工程术语,指不同组件之间的交叉依赖关系太强了。比如说有一种内置蓝光播放机的电视。看到这台电视时,你会想如果电视坏了怎么办?蓝光播放机可能还可以正常工作,但一旦电视不能显示画面,整台机器就废了。所以最好避免这种情况出现,用独立的、外置的蓝光播放机。

我们程序员在做软件时也是这样考虑问题的,要尽量避免紧耦合。用功能单一、相互独立的模块搭建程序。但紧耦合有时又是必须的,尤其对甜蜜的爱情而言。再举一个具体的例子:

现在的手机基本上已经取代了mp3、游戏机,甚至是手电筒。在一个设备上集成这么多功能图的就是方便。爱情也一样,没有紧耦合,就没有幸福感。但这也意味着可能会出现连锁反应,如果一个东西出了问题,其他东西也会出问题,比如你用手机听了很长时间音乐后,可能会突然发现手电筒电量不足了。

所以紧耦合也不都是坏事,糟糕的是缺乏设计的耦合。应用程序中总会有一些依赖关系,关键是要避免在互不相干的任务间出现不必要的耦合。如果你不努力隔离出不同的模块,就会得到一个脆弱不堪的程序,很可能会因为一个小bug彻底崩溃。当然,你肯定会想尽一切办法避免bug出现,但如果任何一个bug都能搞垮整个程序,你也只能躲墙角哭去了。

程序如此,爱情也是如此。按程序员的思维习惯,爱情中应该不会出现不必要的耦合,只有经得住考验的依赖关系,不会因为小bug彻底崩溃。相互依赖,但不会因为依赖项的问题造成整体崩溃,这应该是程序员对爱情持有的基本态度。

当然,对于爱情,程序员不仅有态度!在程序员的职业素养中,还有很多可以妥善处理爱情问题的有力手段。比如去哪里寻找依赖项,如何判断依赖项是否适合自己,如何做依赖注入等等。更何况还有测试驱动、异常处理等多种保证程序(爱情)安全的方法;以及程序推出(结合)之前的检查清单,性能优化等等。篇幅所限,我就不再一一展开了,如果你感兴趣,请关注《JavaScript编程实战》!它不仅教你写程序,还在教你如何收获爱情(这就看你的悟性了)!