3 ms·
Yes, you still find articles praising first class functions in "space year 2015" because those websites were written from an Earth year 1997 perspective. Yes, m
by AKrumbach 11y ago
Yes, you still find articles praising first class functions in "space year 2015" because those websites were written from an Earth year 1997 perspective. Yes, maybe with Java, Python, and Ruby all having first class, anonymous functions -- making that feature well-known -- it is less mind blowing. That doesn't mean that Lisp (by which I mostly mean Common Lisp) doesn't still have potentially "mind blowing" things to teach.
Consider error handling. I would say that coming from any language where this is limited to the "try...catch" paradigm, seeing the separation and possibility provided by restarts is absolutely a mind blowing experience. (The stack doesn't unwind during the error handler search? Huh?)
Another "enlightenment" moment can come with understanding the way Lisp uses macros. No, I don't mean understanding writing macros, I mean looking at the language itself and seeing standard language features like "loop" or even CLOS being implemented using just macros. The idea of extending your language with entirely new abstractions, using just a few lines of code rather than some compiler update, should be mind-blowing. (Just the idea that "I have access to the full range of tools the language implementer used" can enlighten how to approach certain problems!)
Yes, exposure to Forth can also do all of this... but personally, I mentally filed Lisp and Forth together from the start. They both seem to be approaching the same peak "optimum" in code expressiveness (brevity / power), but from opposite sides of the mountain.