Earlier quoted context omitted.
> People who write insecure code, when the language makes it just as easy to write secure code, are to blame for insecure code We're not discussing who's to blame, we're discussing whether there's anything to assign blame for.
Can you name a practical language in which it's not possible, by default, to perform an unsafe operation with untrusted user input? I can easily use Haskell's type system to disallow the use of UnsafeUserInput in my database abstraction layer, but that requires me to use my types pervasively and correctly.
The question is not whether it is POSSIBLE.