Why idiomatic F# admits less defects
Without going back to the side-by-side comparison of functional-first and other paradigms available for F# programmer to employ, I will reiterate the (mostly anecdotal) point that an idiomatic F# code admits fewer defects than equivalent implementations based on object-oriented or imperative paradigms.
The previous twelve chapters have contributed significantly to this judgment. But let me briefly revisit some considerations in order to conclude that:
- This decrease in the defect rate is not something taken for granted. This artifact is what you gain in exchange for the pain of mind-bending while acquiring functional thinking habits and the following rigor in applying them
- The use of F# by itself is not a remedy from the defects; there is still enough space for bugs to sneak into the code, although in significantly lower amounts
- Typical F# bugs are quite specific and often may be anticipated and avoided
Reduced bug rate
This observation is very important and...