Distinction mutable/immutable

Marnix Klooster (klooster@dutiag.twi.tudelft.nl)
Fri, 3 Jun 1994 09:02:00 GMT


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).

Any comments?

A Dieu,


Marnix Klooster