Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 1, 2013 22:32:18

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Статическая типизация в питоне

sp3
в чем ошибка ?

Офлайн

#2 Сен. 2, 2013 08:09:48

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Статическая типизация в питоне

1235 * 429496720 явно не равно 2147471792.
Причем код компилится без проблем, а ошибка происходит во время выполнения и ни как не дает о себе знать. Всплывет косяк где нибудь дальше. А может не всплывет. Просто работа приложения будет не корректна. Разработчик должен сам проверять корректные ли данные поступают на вход. В питоне Гвидо и Со позаботились за нас об этом :)



Офлайн

#3 Сен. 2, 2013 12:37:08

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Статическая типизация в питоне

Singularity
сообщения ошибок на compile-time
Для больших проектов не так актуально, т.к. компиляция (точнее, билд) идет через CI. Там же - тесты.

А на этапе отладки на машине разработчика - другая проблема, поэтому не могу с вами согласиться.
Очевидно, пример с “переполнением” типа притянут за уши, т.к. большая часть данных в программу приходит извне и операции осуществляются с переменными,а не с константами.
Поэтому на этапе компиляции эту проблему отследить довольно проблематично, хотя ручками вбивать значения всех переменных занятие, несомненно, захватывающее. :D
Соответственно - место решения задачи - в тестах. А значит, с Питоном паритет.
Как вы яхту назовете Что в тестах напишете, то и ваше.

На практике в языках со статической типизацией у вас в большинстве случаев точно также сработает автоматическое неявное приведение к типу.

Singularity
мне не нравится принцип делать что-нибудь, но не падать с ошибкой
Вы ведь все равно будете эту ситуацию обрабатывать. Небось, какие-нибудь try catch напишете для обработки операций с внешними данными или как минимум проверку на входе устроите?
Поэтому будет ли компилированная программа падать с ошибкой - зависит от вас.
Естественно, как вы знаете, на Питоне можно сделать то же самое.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version