编程与软件工程flownet.com编辑精选
在 JPL 用 Lisp(2002)
Lisping at JPL (2002)
2008 — 2025,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这篇文章讲述了作者在NASA喷气推进实验室(JPL)使用Lisp语言开发系统的经历,展示了Lisp的强大表达能力和在复杂项目中的实用性。文章也引发了关于Lisp为何未能广泛流行的长期讨论。
为什么经久不衰:它经久不衰,因为它触及了编程语言选择中永恒的问题:强大但小众的语言为何难以普及,以及Lisp独特的魅力与缺陷。
HN 评论精选
质疑Lisp被拒绝的真正原因,认为库的缺乏可能是关键,并询问是否还有其他隐藏缺陷。
这个故事我读过几遍,每次都很享受,因为它承诺Lisp是一种超级强大且(也许)易学的语言。但我一直好奇另一面:为什么Lisp总被拒绝?我2009年开始认真编程赚钱,当时选Python是因为它有更好的数学/科学库,而且总体上比Clojure/Lisp/OCaml的库多得多。我承认我喜欢函数式语言,也喜欢在Python里用它们的一些特性。当年(1999年)纯函数式语言缺少库是不是也是Google选择Java的原因?或者函数式语言里会产生复杂的元编程bug,这才是致命问题?
maliker查看英文原文
I've read this story a couple times as it's popped up on the internet in different places. I've enjoyed it each time because it promises that lisp is an uber-powerful and easy (?) language. I'm always curious though: what's the other side of the story? Why is lisp always rejected? I started programming seriously (for money) in 2009, and when we needed a language we went with python because it had better math/science libraries than Java and much more libraries in general than clojure/lisp/ocaml. I confess I like the functional languages and like using some of their features in python. Was the no-libraries dealbreaker for the "pure" functional languages also true in 1999, which led google to java? Or maybe there are complex meta-programming bugs you can generate in the functional languages (and elsewhere) that are the dealbreaker? Or what?
主张Lisp简单易学,适合作为编程启蒙语言。
我真的觉得应该在小学教Lisp。它入门规则极其简单,能帮助人直观理解编程概念。也许可以更新一版《小小Schemer》风格的课程。
proximitysauce查看英文原文
I really feel like they should teach LISP in elementary school. It has extremely simple rules to get started and helps people intuitively understand programming concepts. Maybe an updated The Little Schemer style curriculum: https://www.amazon.com/Little-Schemer-Daniel-P-Friedman/dp/0262560992
认为Lisp有令人着迷的魔力,但括号过多等实际缺陷让人最终放弃。
Lisp很怪——我80年代末大量使用它,很享受,但后来转行了,回头看从未怀念过。我觉得它对程序员大脑有催眠效果,能带来内啡肽反馈循环,但最终括号实在太多了。
zwieback查看英文原文
LISP is weird - I used it a lot in the late 80s and enjoyed it a lot but then moved on and, looking back, never missed it. I think it has a hypnotizing effect on programmers brains, feeding the endorphin feedback cycle, but ultimately there are just too many damn parens.
对文中提到的信用卡安全系统细节感兴趣,指出该领域公开信息稀缺。
“不完全对——我确实写了计费系统,包括一个相当精巧的安全系统,即使面对不诚实的员工也能保证信用卡号安全。”这些细节公开了吗?存储信用卡号这个话题,搜索到的信息比想象中少得多。如果你需要自己实现而不是用第三方保险库/令牌化系统,似乎没有太多资料。
tzs查看英文原文
> Well, not quite -- I did write the billing system, including a pretty wizzy security system that keeps the credit card numbers secure even against dishonest employees. Are details of this publicly available? The topic of storing credit card numbers is one of those for which searching returns a lot less information than one might expect. If you need to do this yourself, as opposed to using some third party vault/tokenization system, there doesn't seem to be a lot out there.
历次讨论
同类还值得读
开源应用架构
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编辑精选