TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

A startup's "Why we use Lisp" story

113 点作者 zachbeane超过 15 年前

8 条评论

mojuba超过 15 年前
Lisp is a beautiful language but I think the biggest problem with it is its proponents failing to explain the merits. I'm sorry, this post would have probably made a bit more sense 15 years ago, but definitely not now.<p>&#62; (a) Very fast development that is enabled by CL (e.g., <i>everything</i> from hash tables to string-operators to memory management is automatically included - there is nothing that is not included).<p>Name a modern mainstream language that doesn't have these things.<p>&#62; (b) Excellent programming environments - e.g., parentheses-savvy editor.<p>You haven't seen XCode, Delphi or MS Visual Studio, where, for example, you can jump to the definition of a symbol with "one click", allow interactive step-by-step debugging with variable watch, disassembly, stack trace, etc - I shouldn't really name all the things that are possible in a typical modern IDE. And I don't know any text editor which is not paren-savvy.<p>&#62; (c) Excellent compiler, especially with declarations, enables very fast code.<p>A compiler which doesn't "enable very fast code" has no place under the sun nowadays.<p>&#62; (d) Excellent system stability with no random crashes at all.<p>Very exciting, although GC-based languages (i.e. those usually lacking pointers) should not crash at all, or if they do crash that's a shame. Stability and robustness of your compiler and your runtime system shouldn't really be mentioned as a merit. If it doesn't meet stability standards, it shouldn't be released.<p>&#62; (e) Macros and all that.<p>Finally getting to the point and you say "and all that"? Btw, "all that" includes unification of code and data - something no other language provides, let's say, idiomatically. This is an amazing feature, and in fact Lisp macros are Lisp macros thanks to just that - unification of code and data and symbolic nature of the language.<p>Memory footprint: megabytes do matter because of the CPU cache. A 30,000 LOC program should take a few megabytes at most and fit a modern CPU cache entirely. Compared to a 50MB program the performance gain can be enormous.
评论 #1054202 未加载
评论 #1053131 未加载
评论 #1053241 未加载
评论 #1053673 未加载
评论 #1053115 未加载
评论 #1054601 未加载
zck超过 15 年前
&#62;(d) Excellent system stability with no random crashes at all.<p>This is interesting, considering one of the main reasons Reddit switched from Lisp to Python was because it was crashing often.
评论 #1053382 未加载
skilldrick超过 15 年前
I don't understand why a Lisp hacker wouldn't match parens properly when ending a parenthetical statement with a smiley:<p><pre><code> (commentless, of course :) </code></pre> Hasn't he seen xkcd: <a href="http://xkcd.com/541/" rel="nofollow">http://xkcd.com/541/</a> ?
评论 #1053052 未加载
zandorg超过 15 年前
A friend of mine keeps asking me to dump Lisp and "Get modern" with C#, and I try to explain why I prefer Lisp, but he won't accept it.<p>It was Paul Graham's essay that encouraged me to try Lisp in 2005.
评论 #1053556 未加载
vii超过 15 年前
Seems to me this discussion is missing one of the main points of the original post: a massive plug for an unfairly under-appreciated book:<p><pre><code> &#62; "Let Over Lambda" &#62; (which is really quite scary to read - I can't say that I understand &#62; 100% of it - maybe 60% and I am very happy with that level of &#62; comprehension) -- you end up with an enormously powerful set of &#62; programming tools unlike anything else out there. </code></pre> I really like this book too and recommend it.<p><a href="http://letoverlambda.com/index.cl/toc" rel="nofollow">http://letoverlambda.com/index.cl/toc</a>
idlewords超过 15 年前
"Excellent system stability with no random crashes at all"<p>This holds for pretty much any language you care to use.
评论 #1053482 未加载
motters超过 15 年前
Apparently iRobot also uses Lisp in an embedded context.
评论 #1053933 未加载
gaius超过 15 年前
This is the key point:<p><i>I started programming in LISP way back in 1971 on a Univac 1108 mainframe and also implemented a 68000-based Lisp system (~50K lines of real-time assembly) for mobile-robotics use in 1983 - and so know my way around the language.</i><p>All Lisp (or Smalltalk, or...) success stories I've read hinge on someone with an enormous amount of experience with the language. I'd argue that someone with that much experience could get the job done in (almost) any language. I'm surprised that someone with that much experience would put it down to language choice rather than deep knowledge of the problem domain.
评论 #1052962 未加载
评论 #1054732 未加载
评论 #1053015 未加载
评论 #1053045 未加载