4 ms·
>But never have I experienced this kind of mental strain/obsession as I do now with lisp. That's why it's so valuable as a right of passage. If you've spent yo
by markc 12y ago
>But never have I experienced this kind of mental strain/obsession as I do now with lisp.
That's why it's so valuable as a right of passage. If you've spent your career writing simple iterative imperative loops, suddenly you're a newb again with map/filter/reduce this, partial that, and recursion and lambdas and closures and finally after your 20th time staring, dazed at 3 measly lines of nested composed recursion - it all starts to flow, and boom, you have a new way of approaching every problem.
And even if you don't live in the lispy functional realm after that you'll always be better off for having crossed that threshold.
- Dewie 12y ago* rite of passage
- eru 12y agoTry typed functional languages next. You'll be a newbie again.
- bunderbunder 12y agoIndeed. The language that would eventually become Racket was my first true love, but my first encounters with the ML family were revelatory as well. I'm wondering, though, if I should go back to Racket again and see if there's anything new to learn there now that I'm older and more used to infix notation. Knowing me, though, I'll probably just recklessly abuse hygienic macros until the sun burns out.
- cicero 12y agoVery true. I got into Racket three years ago and had an experience similar to the OP. Then I did some Clojure and I loved the data structures and destructuring, but I'm not too fond of the Java bits, although I understand the benefits. Now I'm learning Haskell, and it's another world again. I'm glad I took the route I did because the Haskell is coming a lot easier than it would have without the Racket/Clojure background. Right now I'm converting some old Clojure code from a couple of years ago into Haskell, and I much prefer the Haskell static type checking to the dynamic typing of Clojure. I still have a lot more to learn to get my Haskell powers up to what I could do in Clojure, but I think it's worth the work.