> So it's 9 times of ten if you know what you are doing, which is hardly the most often case.
If you don't at all know what you're doing, you're gonna fail every time, anywhere. It is obviously subjective, and I don't think I implied otherwise.
Do you know what sum types are? If so, won't you agree with me that there are many kinds of errors you can make in languages without them than in ones where the compiler complains if you haven't e.g. covered each constructor in a pattern match?
Even more so with separation of effects, and other things that only really exist in Haskell.
> If you don't at all know what you're doing, you're gonna fail every time, anywhere.
Not really. In programming, most of the time you think you know what you are doing but you really don't remember all the states and all the details, which results in bugs.
> Do you know what sum types are?
I do.
> If so, won't you agree with me that there are many kinds of errors you can make in languages without them than in ones where the compiler complains if you haven't e.g. covered each constructor in a pattern match?
In non object-oriented languages or in object-oriented languages without abstract methods, it's certainly possible.
In object-oriented languages with abstract methods, it's not possible: for each missing case the compiler will complain with an error.
> Even more so with separation of effects, and other things that only really exist in Haskell.
Separation of effects doesn't really improve the situation with bugs. A bug may have its cause inside a pure computation.
If you don't at all know what you're doing, you're gonna fail every time, anywhere. It is obviously subjective, and I don't think I implied otherwise.
Do you know what sum types are? If so, won't you agree with me that there are many kinds of errors you can make in languages without them than in ones where the compiler complains if you haven't e.g. covered each constructor in a pattern match?
Even more so with separation of effects, and other things that only really exist in Haskell.