4 ms·
I've often read here that Lisp is a language that teaches you new ways of thinking about code. I've implemented a big Scheme project in the past and although "c
by haolez 5y ago
I've often read here that Lisp is a language that teaches you new ways of thinking about code. I've implemented a big Scheme project in the past and although "code is data" is interesting, I didn't have any "aha!" moments with it.
However, with Tcl, I had some "aha!" moments! It messes with your head the way it feels like a shell and a programming language at the same time. Everything (kinda) is a string. Building a UI is as easy as running grep or find. It's nuts!
And the least expected place to have "aha!" moments for me was learning advanced Make techniques. Don't know why, but it changed the way I think about programming as well :)
- mikepurvis 5y agoI think the closest I've gotten to writing anything serious in a functional language has been writing a packaging system in nix— and that's definitely been a mind-expanding exercise, in particular appreciate how immutability interplays with overlays and what it means to find the fixed point and then unroll all that lazy stuff into a sequence of concrete evaluations. Now, that said, those insights haven't been something that I've then turned around and felt like I missed when using a normal imperative language like Python or Rust. But they are pretty nifty, no doubt about it.