编程与软件工程lambdassociates.org
躁郁的 Lisp 程序员
The Bipolar Lisp Programmer
2009 — 2014,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这篇文章用“双相型 Lisp 程序员”作比喻,刻画一类聪明、反感任意规则、被新信息吸引、能构想宏大项目却常因资源或耐力不足而半途而废的开发者。作者认为 Lisp 社区特别吸引这种“才华横溢的失败者”,其文化也继承了这种人格的强项与弱点。需要说明的是,这是性格/文化观察,不是临床诊断。
为什么经久不衰:它把技术理想主义、精英文化与工程落地之间的张力写得既刻薄又准确,让许多开发者对号入座,也使“Lisp 为何叫好不叫座”的讨论至今仍有共鸣。
HN 评论精选
反对把 Lisp 型人格医学化,强调它与临床双相障碍有本质区别。
我因为这类事情对临床心理学越来越失望。确实有特定人格类型的人:聪明、不愿遵守别人定的任意规则、被新信息吸引;也有另一些人会连续一周不睡、嗑可卡因和冰毒、开车去墨西哥,之后几周近乎自杀。前者是 Lisp 式人格,后者才是双相障碍。两者有点像,但 Lisp 程序员并没有严重伤害自己或别人,只是行为古怪;他们可能“像”双相,但不是那个嗑药后试图自杀的人那种病。ADHD 也一样:把医学障碍用来描述人格,会把两者混为一谈,弄得人人都有病。
natnat查看英文原文
I've become really disillusioned with clinical psychology because of things like this. There are certainly people with specific personality types. In this instance, we have brilliant people who don't like to follow other people's arbitrary rules, and are attracted to new information. There are also certain people who will stay up for a week at a time, binging on cocaine and meth and driving to Mexico without sleeping and then becoming nearly suicidal for a few weeks after that. The first person has a lisp-like personality. The second person has bipolar disorder. The two sort of resemble one another, but in the lisp programmer's case, they aren't doing anything really harmful to themselves or anyone else. They aren't hurting anyone, they aren't hurting themselves seriously; they're just acting a little quirkily. They might be bipolar-like, but they don't have a disease like the person who goes on cocaine binges and then tries to kill himself does. The same principle applies with ADHD. Some people literally cannot sit still for a minute, and will disrupt every class they're in because they simply cannot pay attention to the work. This behavior is a problem for themselves and others. However, most people have some trouble concentrating on things they find boring. It's practically tautological. The problem is, when we start using medical disorders to describe personalities, we conflate the two. Suddenly, everyone has a disease. This isn't a problem in itself, but we tend to try to fix these diseases with medication. If we try to give every lisp programmer some lithium to cure his bipolar behavior, he's going to become substantially less brilliant (lithium taken early on tends to knock off a few IQ points). If we give him adderall to treat his supposed ADHD, he might end up getting addicted to amphetamine. I think we really need to accept the fact that some brilliant people are going to have problems no matter what, and they are fundamentally part of their personality. I don't think teaching a lisp programmer Python is going to make him write code more consistently and still write code that's just as beautiful. I don't think we can slice the "tortured" part of "tortured genius" off without cutting off some of the "genius" with it.
Lisp 社区轻视发布管理与分享的精英态度,才是它发展受阻的重要原因。
好文章。我的看法是,杀死 Lisp 的是对发布管理的一种普遍过敏。Lisp 鼓励待在一个 image 里、把新东西都塞进去,这常造成“在我这儿能跑,我不在乎,你自己该知道怎么组装,否则也许是你水平不够”的精英态度。持这种观点的人忘了,现代软件高度相互依赖,依赖许多质量不同的活动部件,我们没有“在我这儿能跑就行”的奢侈;天才也会撞上愚蠢的障碍。重复同样的错误并不聪明。语义化版本、封装、TDD/BDD 都是文明的好发明,Lispers 该跟上。Quicklisp 作者做了很多发布管理工作,但他们是多数吗?分享是创造的一部分,不能分享会让人 bitter,因为我们毕竟是社会动物。
kunley查看英文原文
Excellent article. My take is that what kills Lisp is a common allergy towards anything related to so-called release management. The Lisp technology helps with it - it encourages staying within an image and putting all new stuff there. The problem is, it can and often does create an attitude "it works in my image and I don't care, you should know how to put it together by yourself or maybe you're not skilled enough". Well, it partly true. But the proponents of such elitist view tend to forget that today's software is so interdependent and relying on moving parts each of different quality, that actually we don't have the luxury of having "works for me" attitude. Even a genius can bang his head against stupid obstactes. It's not intelligent (and counter-hackish) to repeat the same mistakes again, or allow others to do that. We as a civilisation invented cool things like semantic versioning, encapsulation, TDD & BDD. Please, Lispers, do follow this movement. Some people like creator od Quicklisp do a tremendous work in the area of release management, but are they a majority? Sharing is part of creating. Making something shareable counts as well. Not being able to share makes people bitter, because we're social animals after all..
该人格并非 Lisp 独有,作者样本片面;Lisp 社区也有极富创造力的高产者。
作者是某个用 Lisp 的教授,掉进了一些陷阱。他描述的人格并非 Lisp 独有(他可能只是不了解其他编程社区),他观察的一些人未必真有这种人格——编程新闻组只能暴露人格的一小部分。Lisp 社区确实有非常聪明、不普通的人(如 Stallman、Gabriel),但他们极其高产和有创造力;Gabriel 曾是一家相当成功的开发工具公司的 CEO。我认为他描述的人存在,但并非只在 Lisp 社区,许多 Lisp 社区的人的人格比他描述的复杂得多。comp.lang.lisp 长期是怪人和喷子的目标,这是问题的一部分,但各种截然不同的人格行为恐怕没有单一解释。我在数学、物理等其他社区也见过很多怪人。
lispm查看英文原文
The author is some professor using Lisp and falls into some traps. The personality he describes is not a speciality for Lisp (he may simply not know other programming community) and some of the people he observes may not really be have this kind of personailty - he really can't see since something like a programming news group only exposes a tiny bit of a personality. It is true that in the Lisp community there are and were some highly intelligent people and some of them are not your average guy (think Stallman, Gabriel, ...) - but those were extremely productive and creative. Gabriel was the CEO of a development took company which was quite successful for some time. I think that people exist who march what he describes, but not exclusively in the Lisp community. I also think that many in the Lisp community have much complexer personalities than what he describes. comp.lang.lisp has long been the target for weirdos and trolls. That's one part of the problem. There are reasons for that, but I fear there is not a single explanation for the behaviour of various widely different personailities. I have seen a lot of weirdos in other communities. Mathematics attracts some of them for example. I remember that guy who proved that PI is finite. Physics is another. I remember that guy who put a lot of effort into a presentation about water and its memory effect. A special, not that cheap device, could take advantage of that effect. That device was for sale.
引用原文核心:Lisp 吸引愿景远大但资源/耐力不足的聪明人,因此成为“辉煌的失败”。
这类学生常常走不到最后:他因辍学而淘汰自己,最后在冷饮柜台或做庭院工作,但一直阅读学习,因为好头脑总是饥饿。Lisp 的一个特点是,它真的吸引这种头脑。一旦理解这一点,看到正是这种头脑为 Lisp 文化贡献很多,就明白为什么 Lisp 像许多支持者一样,是“辉煌的失败”。它拥有才华横溢的双相头脑(BBM)的特殊强项和弱点。部分原因与愿景有关:他能看得很远,远超过体力所能走到的地方;他构想需要大量资源的宏大项目并着手,却中途耗尽动力。不是懒,只是资源不足。
loceng查看英文原文
"Often this kind of student never makes it to the end. He flunks himself by dropping out. He ends on a soda fountain or doing yard work, but all the time reading and studying because a good mind is always hungry. Now one of the things about Lisp, and I've seen it before, is that Lisp is a real magnet for this kind of mind. Once you understand that, and see that it is this kind of mind that has contributed a lot to the culture of Lisp, you begin to see why Lisp is, like many of its proponents, a brilliant failure. It shares the peculiar strengths and weaknesses of the brilliant bipolar mind (BBM). Why is this? Well, its partly to do with vision. The 'vision thing' as George Bush Snr. once described it, is really one of the strengths of the BBM. He can see far; further than in fact his strength allows him to travel. He conceives of brilliant ambitious projects requiring great resources, and he embarks on them only to run out of steam. It's not that he's lazy; its just that his resources are insufficient."
历次讨论
同类还值得读
开源应用架构
The Architecture of Open Source Applications
《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。
编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选编程语言简史:简短、不完整且多半错误
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。
编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.comSQLite 是如何测试的
How SQLite is tested
SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…
编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选高级编程语言(2009)
Advanced programming languages (2009)
Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…
编程与软件工程上首页 8 次 · 2009–2022matt.might.net我的 Forth 与栈机器经历
Yosefk - My history with Forth & stack machines
作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。
编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选