2 ms·
Lisp has a lot more than just macros (also you might want to learn more about macros; your definition is a little off). You also get CLOS; which is huge. Multi
by agentultra 16y ago
Lisp has a lot more than just macros (also you might want to learn more about macros; your definition is a little off).
You also get CLOS; which is huge. Multi-methods. Generic functions. MOP. OO programming without generic functions is a huge pain for me now. It's a completely different world-view that lacks very artificial design patterns. You don't need a lot of the GoF design patterns because they're completely abstracted out by the language of CLOS.
You get conditions and restarts. I hate exceptions! You lose the entire stack and state of your application. It is next to impossible to recover from that and restart the failed computation using exceptions. You could emulate this in other languages... but it's already a part of the Common Lisp language itself. No code to write or libraries to import to make it happen.
And only tangentially related to the CL language itself, SLIME is another reason why programming with Lisp is a lot of fun.
So to sum it up, lisp is a powerful language, it has constructs which are still not available in other languages but you don't get the free stuff you would have in big communities as python or ruby.
You don't get anything for free.
- tdrgabi 16y agoI agree that my macros explanation was stretched. I simplified it too much. Restarts are really nice, I first heard about them in "Practical Common Lisp" google talk: http://www.youtube.com/watch?v=VeAdryYZ7ak http://www.youtube.com/watch?v=VeAdryYZ7ak