3 ms·
I don't agree with this. Usually, the typing does half the debugging for you and when you have a real bug (as in, the program does something but not what you in
by infruset 12y ago
I don't agree with this. Usually, the typing does half the debugging for you and when you have a real bug (as in, the program does something but not what you intended), you debug at the reasoning level, not at the "is there an overflow here?" level.
- loup-vaillant 12y agoSome people tend to reach for the symbolic debugger the instant their program behaves funny. I hear Haskell is at a disadvantage here, being non-strict and all. Though I wouldn't know, I never tried Haskell's symbolic debugger.
- seanmcdirmid 12y agoSome people think to program, others program to think. What kind of person you are greatly determines if you prefer programming in Python or Haskell.
- loup-vaillant 12y ago> Some people think to program, others program to think. That one needs to be framed on a wall. I'm definitely in the first camp (think to program), and have no problem with paranoid type systems, and I seldom need a debugger. Now I understand why other people do.
- seanmcdirmid 12y agoThe types have to do most of the work, because Haskell debuggers aren't that great in the face of its laziness, and making your code strict for debugging purposes can lead to some heisenbugs. The mantra "well typed programs can't go wrong" actually means "our well typed programs can't go wrong, or we are so screwed."