Hacker News new | past | comments | ask | show | jobs | submit login

Others (e.g., PG) have written more elegantly about this topic, but I really do think the key is the complete malleability that Lisp gives you: you're free to recast the problem in your own terms, using whatever DSL makes the most sense, and program in those higher-level forms.

Other languages force you into specific toolsets (objects, functions, etc.) and thwart pure expression of the problem.




  > Other languages force you into specific toolsets
  > (objects, functions, etc.) and thwart pure expression of
  > the problem.
Pure expression and complete malleability are decidedly non-intrinsic goods. Sure, you're free to reshape your language according to the requirements of the task at hand, but that process takes tremendous amounts of experience and care and foresight. If you lack these qualities, Lisp isn't going to get you anywhere. Even worse: it may end up being counterproductive.

Graham made such successful use of Lisp because he was a highly competent engineer, and thoroughly familiar with CLisp. Firing up SBCL doesn't grant you these abilities qua choice of language. So I'm glad that some people still offer counterpoints to the Lisp cargo cult around here.


But there's another effect: using a language as malleable as Lisp forces you to consider how you want to mold your program. After a few mistakes, this will teach you good program design, thus actually making you a better programmer.

(Yes, of course there are exceptions. But I think in general that having this freedom will make you consider how to use it, which will make you consider alternate ways to code the same thing, which is ultimately how you learn.)


I think you've just restated his "Blub" position exactly.


Possible, but irrelevant given that I'm not arguing against Graham's stance. I'm sure he's right about "blub" and so on: Lisp is a tremendously useful tool in the right hands. What I find increasingly annoying are the countless acolytes that ignore the actual point and simply repeat "MACROS! MALLEABILITY! DSL!" like a vacuous mantra.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: