查看原文
其他

两个月薪10万的Lisp程序员

码农翻身刘欣 码农翻身 2021-04-27

前两天有位同学看了Paul Graham的《黑客与画家》,被Paul鼓吹的Lisp 撩得激动万分,觉得这是世界是最牛X的语言!



然后我就给它泼了一盆冷水:Lisp确实很牛X, 但是现在基本上没有多少人用来做项目开发。


他表示不解:这是咋回事?


我说语法古怪倒是其次,关键是现在的公司和项目开发方式很难允许Lisp这样的语言存在。


讲个故事,有个公司的老板也读了《黑客与画家》,中了毒,准备复制Paul的奇迹,通过个人关系请了两个Lisp程序员。


这两个Lisp程序员是超级明星,就是传说中的那种10倍速程序员!


2 个明星Lisp程序员 = 20 个平庸的Java程序员!


老板给这个Lisp程序员开出了让人咂舌的工资:月薪10 万


这两个Lisp程序员也不负众望,就像Paul在《黑客与画家》中所描述的那样,从底向上构建系统。


他俩把宏玩得贼溜,日夜颠倒用Lisp宏编程。


仅仅一个月,他俩就开发了一套针对老板所在业务领域的特定语言(DSL)!


又过了一个月,他俩就用这套DSL把老板所要的系统给完成了,把竞争对手看得目瞪口呆。


老板高兴得合不拢嘴:两个人才花了我40万,真香!


要是雇Java程序员,至少得雇20个,每个月薪2万,两个月得80万,两个月还不一定能搞定!


然后系统便进入了稳定的维护期,两个Lisp程序员一个离职跑路,另外一个心思也不在上面了,时不时休假。


老板一想这样也不行啊,这俩超级程序员太任性了,成本太高了, 还得普通人来维护系统!于是三四个新人加入了项目组。


新人打开了超级程序员写的宏, 立刻傻眼:我了去!这是什么东西?根本看不懂!


“善解人意”的Lisp超级程序员给新人们讲解了一番,大家总算摸到一些门道,但是每次增加新功能,修改老功能都是战战兢兢,如履薄冰,如同龟速。


于是这个系统很快便落伍了,被竞争对手超越。


这个故事是我编的,比较夸张,但是它反映了《黑客与画家》Paul所说的那种自底向上,用宏做开发方式的弊端:依赖明星程序员


用Lisp的宏作开发,至少需要两层的抽象能力,普通的编程中的代码是直接操作数据, 读文件,数据库,网络数据, 相对直观,抽象出类/接口即可。


但是Lisp的宏是元编程, 把代码当作数据来操作/变换,要想着变换出来的新代码有什么行为,操作数据时会怎么样, 思考维度要比普通编程高太多了, 非大牛程序员不可。


Lisp程序员少,大牛程序员少,不好招聘,经理们会想:“他们休假怎么办?离职怎么办?相比而言,招一批Java民工更好!”


Paul 在《黑客与画家》中说他和同事用Lisp开发了一个网上商店:ViaWeb,非常成功,击败了竞争对手。后来以一大笔钱卖给了Yahoo,改名为Yahoo Store。 


实际上,Yahoo后来用Perl和C++把它给重写了,原因就是找不到Lisp程序员。


那么问题来了, 还要不要学习Lisp呢? 


当然需要,因为你要成为月薪10万的程序员!


更多精彩技术漫画,尽在码农翻身


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存