On Friday, 28 December 2012 at 08:13:05 UTC, Red wrote:
Why is immutable data considered necessary for functional
programming style? Can't a a programmer or programmer just do
the same thing with mutable data, but not mutate it? That is,
couldn't Python be used for functional programming?
It depends what you mean by functional. It seems to me that
you'll find 2 major things that are usually understood as
functionnal :
- abstraction based on first class function. javascript is the
perfect example here, and is functional.
- purity and immutability.
If you have no tools to enforce immutability, you need to
completely break abstraction to get the benefit. This is bug
prone and will not scale (without abstraction nothing big is
achievable).