1. 17

  2. 5

    As somebody that loses hours per workday to fixing problems related to not having types, I am going to disagree, language is important.

    The author of the post tried to dive into learning Haskell without asking for help or doing any exercises by writing a time series database. I asked him to at least try asking a question on the mailing list because I believed he’d get good help there, he refused to even try. His attitude was that either he could it without help or he couldn’t do it.

    I have to wonder if modern civilization (bridges, video games, clean water) would exist if everybody had that attitude.

    This is a pretty typical flame-out that occurs when you attempt a complicated project without having learnt the language first. This article is me exactly 3 years ago, after having attempted similar without having learnt Haskell first.

    You have to humble yourself, do the work, learn the language. Then tackle a project.

    1. 21


      I didn’t want to post anything like that into the blog post, but since you’ve started going personal, I have to defend myself.

      a) when I have started, I was searching for help. But since the most basic concepts were rather clear for me, I was left all by myself in majority of times. I can bring up all the occurrences of myself asking questions about things like thunk leaks, about monadic order swapping. How many times they were answered? Correct, zero.

      Once a very kind person helped me to understand Monadic Transformers. I will never forget his kindness.

      b) I refuse to try posting things to the mailing lists because there were multiple times when people from Haskell community were responding my questions with simple “this is Functorial, everyone should know that”, or “you should be smart enough to figure that out” and other humbling things.

      c) There is a false assumption that I am having problems with Haskell. I do not have any problems with Haskell. Assuming that if other people do not like something, they automatically do not know something is false and misleading. I’m saying that Haskell will take a long time to learn. I did learn it (read several books, and caught up on theory), and I have no problem programming it.

      I have to wonder if modern civilization (bridges, video games, clean water) would exist if everybody had that attitude.

      This is exactly the point I had. You say that Haskell is “next level”. I say no. There’s absolutely nothing special about Haskell. And we all should live with it.

      It’s very easy to say what I’ve done was a recipe for failure: https://twitter.com/bitemyapp/status/541962675488452608 Although I can’t say it’s a failure due to two reasons:

      • I’m still writing the DB, and in Haskell
      • I’ve learned a bunch of stuff, including how to profile Haskell apps, hunting thunk-leaks, crafted FFI tutorial that has already helped a lot of people, and contributed 2 patches to GHC.

      As for me, even if I had to drop the DB itself it was a success.

      1. 7

        I think that his tone is positive in the sense that one has to know how an algorithm works in order to be able to implement it in any language for example.

        I do not think that he disagrees that learning the language itself is important since there are languages that allow certain algorithms to be implemented nicely and others that do not. However the true beauty of functional languages is how closely they are related to the abstract concepts behind commonplace constructs we use in different (even imperative) languages.

        In that case, languages like Haskell are in an advantage respect to languages that are more clumsy in their functional characteristics, so yes, the language is important in that respect. But the notions behind what you do are more important in order to use it efficiently.

        1. 3

          That was exactly what i have originally intended to say :)