Комментарии 5
Очень правильная концепция — отделить то что нужно для работы самому компьютеру от того, что по сути нужно другим людям. Интерпретатор прекрасно отработает без всякой информации о типах. Отлично. Теперь сбоку прикручиваем инструмент, который дает всем этим удобно пользоваться людям. И это мне кажется куда как более грамотно, чем хватать программиста за руки.
Тут вопрос в надежности гарантий. Грубо говоря, если программа на С++ компилируется — вы уже знаете, что там не пытаются складывать числа со строками, или пихать неподходящие данные в словарь. Т.е. у вас уже есть гарантии до запуска программы. Конечно, эти гарантии не абсолютно надежные, из-за void* и dynamic_cast/reinterpret_cast. Но есть языки, где такие приведения типов исключены.
А в случае с динамическими языками — такую гарантию получить в принципе невозможно из-за проблемы остановки.
А в случае с динамическими языками — такую гарантию получить в принципе невозможно из-за проблемы остановки.
Если ожидается, что аргумент может быть одним из нескольких типов, то как эти типы указать в аннотациях?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Исследование глубин аннотаций типов в Python. Часть 2