I think this is where a pure functional language like Haskell really shines.
Haskell might be a turn off to some people because it doesn't allow the quick and dirty solution for people who know what they're doing, and I'm sure there are those who have been permanently turned off to "protecting the programmer from himself" by such limp-wristed languages as Java, but you've got to admit there's merit to a language where instead of spending 5 years going through the school of hard knocks with production bugs, the programmer is baffled from the get-go and has to go ask an expert right away, resulting in much more solid code from the first version.
Haskell might be a turn off to some people because it doesn't allow the quick and dirty solution for people who know what they're doing, and I'm sure there are those who have been permanently turned off to "protecting the programmer from himself" by such limp-wristed languages as Java, but you've got to admit there's merit to a language where instead of spending 5 years going through the school of hard knocks with production bugs, the programmer is baffled from the get-go and has to go ask an expert right away, resulting in much more solid code from the first version.