-
jeffs permalink
Glad you enjoyed the podcast. I'll also be following Restless Device now. Great stuff.
(I typed up a lengthy response to this and my machine locked up before I submitted, so here goes a more concise attempt number two...)
Lisp, as a language family, is certainly special when compared to any other languages out there, and basically is by definition. Coding in Lisp is essentially coding directly in the language's AST. This more easily enables "metaprogramming" or "writing code that writes code" (because code is expressed using data structure literals that are the same as those used in the language runtime and APIs). What they're talking about is the macro system. Other languages have macro systems too, but none will ever be as straightforward as Lisp's. If they are, then they're a Lisp too. The macro system allows you to effect compiler behavior as opposed to runtime behavior. This means that you can extend the language to suit your needs, or bring the language closer to your problem domain. When used effectively, this allows for working at a higher level of abstraction.
Speaking of Paul Graham and the benefits of Lisps, his famous article on how Lisp was a competitive advantage for him comes to mind. Basically, he's claiming that it allowed his team to move faster. I also have the same feeling of increased efficiency when coding in Clojure, especially when using REPL-driven development. For me, solving a problem involves a LOT of exploration and the REPL is the best tool I know of for interactively exploring a problem space with a programming language.
Clojure might be the most popular Lisp language around today, and it is even recommended by Thoughtworks in the Tech Radar.
-
jeffs permalink
Snaps!
We searched long and hard (alright, we really just did a plain ol' SQL query on the database) but didn't find anything to put on this page. So please just go click somewhere else.