Одна из вещей, которыми я восхищаюсь Python, - это различие между изменяемыми и неизменяемыми типами. Проведя некоторое программирование на c перед тем, как придти на Python, я был поражен тем, насколько легко Python справляется со всеми сложностями разыменования указателя, которые сводят меня с ума в c. В Python все работает так, как я ожидаю, и я быстро понял, что изменяемое/неизменяемое различие играет важную роль в этом.
Конечно, все еще есть несколько морщин (переменный аргумент аргумента функции является заметным примером), но в целом я чувствую, что изменяемое/неизменяемое различие сильно разъясняет вопрос о том, какие переменные и их значения и как они должны вести себя,
Но откуда оно взялось? Я должен предположить, что GvR не был первым человеком, который задумал это различие, и что Python не был первым языком для его использования. Мне интересно услышать о более ранних языках, которые использовали эту концепцию, а также о любых теоретических дискуссиях на ее раннем этапе.