Author: Jon HarropJon Harrop Date: Aug 22, 2008 04:16
raould wrote:
> it seems really frustrating to me that we all know unconstrained
> mutation is evil, and yet things like Java or .Net which don't
> constrain it are "ahead" in the sense of having libraries to do pretty
> much any darned thing you might want.
I consider mutation to be essential for usable efficiency. Moreover, .NET is
a pioneering functional platform with first-class functions baked into the
Common Language Run-time, a variety of immutable data structures (e.g.
strings are immutable on .NET but mutable in OCaml!) and even
state-of-the-art libraries like Microsoft's Task Parallel Library that
bring parallelism using higher-order functions more effectively than
anything ever implemented in any functional language.
While the type systems of languages like OCaml and Haskell are
unquestionably advanced, even compared to F#, all of their implementations
are now outdated in many respects. Their inability to leverage multicores
being the single most important one.
|