3 ms·
this is a funny and thought provoking article. There's a bit of texture that I feel is missing, and I feel personally attacked, so I'm going to throw up a weak
by jfoutz 6y ago
this is a funny and thought provoking article. There's a bit of texture that I feel is missing, and I feel personally attacked, so I'm going to throw up a weak defense of category theory web servers.
Back in the day, in perl I'd bless regexes and use AUTOLOAD to provide the class implementations at runtime, as any good unicycle rider would. Changing the Rube Goldberg machine is hard. grep won't really help. I'd resort to even dirtier tricks to change behavior.
Later I worked in java. grep would work, but even better, I could make a class private, create an interface and just chase compiler errors. So much nicer than hunting down the right line of code to hijack in perl. It's pretty good, and I think go provides a similar level of support, but there's still a bunch of room for Class.forName(foo); //haha! grep will never find me! and it's cool, cause you'll only find out about it at runtime.
Anyway Haskell is neat because you can throw it all in a do in IO. hack away for days. When it's time to change, just change it. the compiler will help. The compiler will tell you everything you need to know to scope down to the finest level you want. It's super easy to be way too fancy up front, but any mistakes can be fixed.
Anyway, Haskell is probably never the right choice but it's the only thing I know of that lets you easily change the design whenever you feel like it.
It's Saturday, and I've thought about this too much. Time to put on my silver pants and go unicycling.