3 ms·
> Think about it this way. If the primary importance of something is only apparent from the big picture how is a user supposed to decide whether to use it or no
by momentoftop 6y ago
> Think about it this way. If the primary importance of something is only apparent from the big picture how is a user supposed to decide whether to use it or not? The big picture is rarely available to most programmers.
Maybe a user isn't supposed to. I believe that's the premise of Paul Graham's Blub Paradox [1]. I certainly didn't learn, say, Common Lisp, because I was doing a feature comparison. I had no idea what a lexical closure was at the time, and a couple of toy examples wouldn't have convinced me of their worth. I'd been programming quite happily without them for some time by then.
[1] https://en.wikipedia.org/wiki/Blub_paradox#The_Blub_paradox https://en.wikipedia.org/wiki/Blub_paradox#The_Blub_paradox
- newswasboring 6y agoThat is an excellent point. Haskell is such a fundamental shift in thinking, perhaps the only way to learn real application is to make something with it. But I would still maintain every language at least has a highly simplistic example of why certain features work well. In fact, my curiosity reignited by this discussion, I found this video series[1] on youtube which somehow made is 100x more clear where Functors, Applicatives and Monads are to be used. The tree example is pretty abstract, but it helped me connect these features to my work. I still don't know how to get most use out of it, but I think I get the USP. Still have the question about how haskell is helping here, because I can write a hidden state changing function in Julia if I want. But one step at a time [1] https://www.youtube.com/watch?v=xCut-QT2cpI https://www.youtube.com/watch?v=xCut-QT2cpI