ddellacosta
Joined 14 years ago
Joined 14 years ago
...and this still understates his impact on Haskell, he helped shape how a lot of programs are written in Haskell through some of the stuff he worked on (see e.g. https://stackoverflow.com/a/2769840 as evidence of his influence on core functionality).
I don't agree. I want to be clear that I think youtube is terrible in many, many ways, but one thing I _do_ love about youtube is music discovery. Finding label channels and tracing through their artists, seeing what else pops up in my feed as a result and following those threads...finding random weird stuff with four listens posted two days ago, which then leads you to more weirdness...etc. is all very fun to me and I've discovered a ton of great music that way. There's also tons of random channels that have DJs or mixes they put out that is also a great and relatively organic way to discover new stuff (I'm always thrilled when a new Kieran Hebden set drops on The Lot Radio for one).
Maybe spotify is different, I've actually never used it, but I don't think the "Thrill of the Hunt" is dead in a general sense. And I'm kinda old, I was a music major in the 90s and at that time I was all about finding weird bootlegs and going to shows with <10 people showing up, subscribed to The Wire for a long time, and etc. There is still a ton of great new music out there and fun avenues for discovery! If anything there is more than I ever could have imagined when I was younger. People keep making great stuff.
In a way I found it useful because it showed me right away that they aren't really a serious business and I was able to cancel our account before the free trial was over.
(It also turns out that their base product is more or less a standard VoIP phone that is fairly easy to set up yourself for far cheaper...but I digress)
I got the drill back a little while later entirely repaired, the bent drill bit included in the return package, and I was charged absolutely nothing for any of it because I guess I was still under warranty and I didn't realize it. It was a fantastic customer service interaction and absolutely increased my loyalty to the company.
...and that's leaving aside the quality of their tools. In my experience they are incredibly rugged--among other things, for a week-long landscaping project I used that same drill with a gigantic bit to dig holes in frozen dirt, and it powered through it without issues. Great tools and a solid company.
(And in the context of the previous paper, this one motivates Applicative well I think: https://www.staff.city.ac.uk/~ross/papers/Applicative.pdf)
That said, I've never really understood the enthusiasm the industry has for introducing Monads outside of Haskell. As I understand it, at the time Philip Wadler wrote his paper, Haskell was pretty painful to use due to its adherence to purity. Monads were presented as a way to maintain purity while providing a principled way to support all kinds of effectful computations. But without some of the features Haskell provides (I'm thinking of typeclasses and HKTs in particular), and given that almost any language you'll be introduced to outside of Haskell already has ways to do e.g. IO or whatnot, it almost always ends up feeling like bolting something on with not a lot of benefit.
Don't get me wrong, I think there's value in stuff like https://github.com/fantasyland/fantasy-land --I find organizing how I think about computations around these algebraic concepts helps me a lot, personally. But that's distinct from introducing these concepts into day-to-day work in a non-Haskell language, especially on a team, which is often more trouble than it's worth unless everyone has already bought into it and is willing to deal with the meaningful friction introducing this stuff produces.
I assume the overabundance of Monad tutorials and libraries has to do with the cachet of knowing this relatively obscure, intellectual thing and being able to explain it to your peers, or to be more charitable, perhaps it's a byproduct of getting excited about learning this new, distinct way to approach computation and wanting to share it with everyone. But the end result is that now we have tons of ridiculous tutorials and useless Monad libraries in tons of languages.
[ my public key: https://keybase.io/ddellacosta; my proof: https://keybase.io/ddellacosta/sigs/REVyBIDihrSqZ7YRlAIGftp_MomgKLif0a6n20lsbjM ]