锤子精神,以及 Solution 还是 Workaround?

哈德韦

共 1830字,需浏览 4分钟

 · 2021-11-30


作为程序员,经常被嘲笑的一点,就是锤子精神。


说手里有了一把锤子,看任何问题都是钉子,我简称这为锤子精神。锤子,指代程序员学会的代码,因为学会了代码,所以想通过写代码的方式解决世界上的任何问题。但是显然,很多问题“不能”通过代码解决,所以程序员的这种思维显得很狭隘,故而被嘲笑。


这个锤子的比喻,是方便大众理解的,尽管是比喻程序员,但是真正的程序员,是 Get 不到的。作为野生的程序员,我 Get 到了,我翻译给真正的程序员听。真正的程序员,比较熟悉的是 Solution 以及 Workarond。锤子笑话,隐含的意思是,“有些问题”是需要“真正的”、“正确的”的 Solution 的,而尝试用锤子来解决,虽然可以临时工作,但那只是 Workaround。


善用锤子的程序员,和善于嘲讽的旁观者,他们的分歧在于:Solution 还是 Workaround。


用 Workaround 解决了问题后,程序员自豪地说:It is shit, but it works!

而嘲讽的旁观者看了就很不屑:It works, but it is shit! 我们要“真正的”Solution!


工作中也分为两派,实干家和开会党。开会党不停约会,希望可以讨论出“完美的”Solution,而实干家往往使用 Workaround 去真正地解决问题。开会党总是追求上天,而实干家总是追求落地。


以上是观察到的现象,下面说一说带有个人偏见的观点:


锤子精神是了不起的!


最近几十年,几乎所有的工作都逐步并且迅速地电子计算机化了,甚至连汽车驾驶,也要被自动化,这就说明了锤子精神多么了不起。多少人认为驾驶是不能通过写代码完全解决地,总之存在各种漏洞、缺点、不完美等等。但是,实干家是不会等到那个虚无缥缈的“完美的”Solution 后才开始行动的,他们关注的是,尽管不完美,但是可以工作!


但是计算机的诞生,也是 Workaround 呀。首先用二进制 Workaround,对于要“完美”Solution 的人来说,他们就不赞成,因为逢二就进一也太不完美了。虽然这方便了利用电子元器件来实现加法器,但是实现减法就很不方便,更别说其他的运算了!但是锤子精神了不起,使用了各种 Workaround,让减法甚至一切其他操作都在加法器上实现了!是的,有些问题,比如打开浏览器,F12,输入 0.1+0.2,结果却得到了 0.30000000000000004,虽然误差不大,但是也太不准确了!但是我们锤子精神的拥护者却认为:虽然不准确,但是问题不大。而且,对于有准确度要求的场合,我们还是有其他 Workaround 的。


可以工作,优于“完美”!


尽管到目前,仍然偶尔有飞机失事,但是首先飞机能上天是最重要的,其次则是通过更多的 Workaround,终于建成了世界上最安全的交通系统。


如果等到完美方案的出世,那么飞行永远只能够是一个梦。


又,关于大素数的判断,其实很难,如果使用“完美”的 Solution,可能还没有找到,或者目前找到的方案耗时太长,以至于没有办法真正使用。但是费马发明了一个 Workaround,可以以极快的速度判断一个大数字是否为素数,虽然有极小概率判断错误,但是在实干家眼里,这种小概率就是 0,所以就先用上了。对于极小概率造成的问题,自然有其他的 Workaround 应对,于是,这才有了如今网络安全。


生命也是 Workaround 呢!


生命就是 Workaround 呀。在注定熵增的世界里,在注定走向热寂的宇宙里,“完美”的熵减方案显然不存在,但是通过生命这种形式,哪怕加快了整个宇宙的熵增过程,但是能够实现局部的、临时的熵减,这也是奇迹呀!


生命最大的 BUG 就是死亡,但是,别因为有死亡的 BUG,就不生了呀。先生,再通过各种更多的 Workaround,实现永生。


虽然个体的永生方案还没有实现,但是,整个生命系统已经存在够长时间了,在实干家的眼里,以锤子精神审视之,这么长的时间,就已经是永生了。约等于就是等于,相信个体的永生,虽然没有 Solution,但是 Workaround 在不久的将来,就会呼之欲出了!


浏览 34
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报