I'm new at Python, and interested in the language and its design.
One of the things I don't like about Python (I _love_ almost all
other aspects!) is the distinction between mutable and immutable
objects. I have two questions:
- Why was this distinction introduced? Was it a design decision
for the language, or to ease its implementation?
- How does this distinction work in practice? Does it complicate
programming, or simplify it?
A little justification of my dislike of the distinction:
- It seems an unnecessary distinction, from a conceptual point of
- If changing one value can also change another value, either:
* this should be made explicit (e.g. all objects are immutable,
and introduce pointers, i.e. reference and dereference), or
* this should be the default (i.e. all objects are mutable).
-- Marnix Klooster firstname.lastname@example.org