Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In my experience the programmer workflow is (mostly):

  1. You think about an algorithm
  2. You (try to) code it
  3. A first time to discover an error: compilation and/or syntax verification.
  4. Then you test your code
Depending of the task and the fail, if 3 or 4 fail you go to 2 or 1.

With a standard language (C/C++/Java/Python/Ruby/Javascript...) The probability of 3 to fail is very small when you are used to your language. But the probability to fail at step 4 is High.

In haskell this is exactly the opposite, with many advantages:

Compiler error in Haskell gives you a meaningful and informative message. Most of the time, it even gives you a hint on how to solve the problem.

In the end, most of the time, once the compilation phase passed, my program worked as I expected.

Furthermore, with Haskell you can use quickcheck, which most of the time will make better test than yours. I know there is some quickcheck equivalent in other languages but I believe this is not standard.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: