[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Perl or Python?



On Sat, 21.03.2009 19:25:16 , Aleksey Cheusov wrote:
>  >> Спецификация типов параметров в прототипе функции — самый лаконичный способ
>  >> указания такой проверки. Плюс на один фрейм меньше в стектрейсе ошибки
>  >> (проверка не изнутри функции, а снаружи). Плюс автодокументированность.
>  >> 
> > Эти плюсы перекрываются одним большим минусом: далеко не всегда (если
> > не сказать сильнее) список допустимых значений параметра в точности
> > совпадает с полным списком значений его типа.
> Список допустимых значений здесь и сейчас -- всегда подмножество
> значений, который допускается типом. Чем "ближе" первое ко второму, тем
> более строгая типизация. Вспоминаем хотя бы перечислимые типы Pascal-е
> подобных языков и их полное отсутствие в С-подобных.
> 
> > Другими словами, дополнительные проверки скорее всего всё равно
> > потребуются.
> Да, в поле действительных чисел квадратный корень можно извлекать только
> из неотрицательных чисел. Run-time проверки все равно нужны.
> Run-time ошибки все равно случаются. Увы.
> 
> >  А следовательно совсем не факт, что строгая типизация
> > решает хотя бы не меньше проблем, чем создаёт.
> Ни из чего, что написано выше это не следует. Не указано даже, какие
> конкретно проблемы вам создает "строгая типизация".
> Какие проблемы создает динамическая было уже указано не раз.
Тебе важно, чтобы именно я это указал? Два или три человека уже эти
проблемы упоминали выше по треду.

-- 
С уважением,
Тихон Тарнавский.
http://linuxforum.ru
http://posix.ru


Reply to: