Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Shill for Haskell thread

Name: Anonymous 2015-06-05 13:39

Frederick's experiences echo that of many others who've taken the leap. All of these points echo our experience at fynder. Another couple of point to add (I'll add some more as I think of them):

You can get away with bad code at the periphery of your systems for longer. At fynder we had a pretty nasty data scraping and import utility that grew over time and became pretty unwieldy. However it still worked and was easy to change without breaking. It also fed data into a system that had a very strong guarantee of integrity so there was another line of defence. (I've seen /u/ryantrinkle say similar to this too)

You can go a long way with a small number great programmers laying out the types and the structure, with lesser able programmers "filling in the gaps" as they get up to speed. For example at fynder /u/ocharles came up with a great use of singleton types to make our socket.io communications safer [1]. Even though I could never come up with that from scratch, I was able to add to it and extend it quite happily after a 20 minute explanation (and some follow up questions).

You don't get either of those benefits with, say python, the language I use day to day at the moment. Once your python codebase loses a certain amount of cohesion, it's way harder to refactor your way out, and I think you end up staring down the barrel of a re-write a lot sooner. Equally there's no culture of common fundamental patterns (Functor, Applicative, Monad) that everyone understands so you can't really have a few rock stars implement the core of your system and people of lesser abilities code around the core. You end up having to code to the lowest common denominator whereas in Haskell you can program up to the strongest level more easily.

[1] https://ocharles.org.uk/talk.pdf

Name: Anonymous 2015-06-21 5:10

>>56
The first example got me because of Haskell's grammar. I couldn't tell if the where was inside the -> lambda or not. The others are strange...

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List