I imagine it's because until about 5 years ago, there weren't many choices that were significantly safer than Java (no null references, failing to account for all cases in a match statement is a compile error, etc.) and generally within a factor of 2 of C's speed. Haskell's laziness by default can mean less predictable performance, or at least fatter tails on the performance distribution.