Я заметил, что с опытом программирования я все чаще пишу код, имитирующий статическую типизацию*:
- используя подсказки типов Python по PEP 484, PEP 526, PEP 544, PEP 586, PEP 589 и PEP 591
- проверка типов объектов при интерактивной работе
- написание строк документации с вводом информации
- заметил, что многие ошибки были вызваны небрежным набором текста при кодировании
- заметив, что с ростом зрелости в Python добавляется все больше и больше функций, обеспечивающих более строгие параметры типизации.
С другой стороны, я не совсем уверен, что когда-либо извлекал пользу из динамической типизации:
- Динамическая типизация на самом деле не нужна для интерактивной оболочки, не так ли?
- Не экономит много времени или нажатия клавиш.
- Python поддерживает дженерики, если требуется изменчивость типов.
- Какова основная причина динамической типизации Python?
- Какие приложения позволяют использовать динамическую типизацию, которые были бы невозможны или намного сложнее при использовании статической типизации?
*В основном я имею в виду одно из возможных определений статической и динамической типизации, вращающееся вокруг типа, привязанного к переменной, а не к ее значению (поскольку для интерпретируемого языка определение с помощью проверки при компиляции и во время выполнения неприменимо).
core.typed
-- расширение языка, обеспечивающего принудительное использование типов, теперь Typed Clojure -- и позже решите, что это не стоило хлопот, и переключитесь обратно). - person Charles Duffy   schedule 10.05.2021