Vladimir Zhbanov -> debian-russian@lists.debian.org @ Fri, 16 Oct 2015 18:51:37 +0300:
>> Я иногда тоже хочу параметров по умолчанию, но сильно подозреваю, что >> это пережиток языков с duck typing. На практике, учитывая, что язык >> компилируемый, всегда можно либо добавить пару параметров и поменять все >> (найденные компилятором) вхождения вызовов, добавив туда дефолтные >> значения, либо, что чаще, одновременно со вводом дополнительных >> параметров переименовать функцию, а старое имя определить как >> каррирование нового. VZ> А что если параметров десяток-два? Тогда кто-то что-то делает не так. VZ> И, прошу прощения за невежество, что в языках с duck typing хуже по VZ> сравнению с языками со статической типизацией, если не считать размер VZ> объектного кода из-за проверок типа? Не знаю за другие языки (и даже за VZ> другие лиспы), дюже не пробовал, но в guile scheme (который я пытаюсь VZ> начать осваивать в последние пару лет) вопрос размера объектного кода VZ> сейчас во многом решается на этапе прекомпиляции (если я правильно понял VZ> одного из авторов), причём работа в этом направлении идёт масштабная. Основная проблема заключается в том, что почти любая проблема выявляется только в рантайме. Как раз размер объектного кода чем дальше, тем меньше важен. А вот время на разработку... >> DK> Сейчас я работаю в основном на Racket Scheme, Emacs/Common Lisps и >> DK> Ocaml. Последний выглядит для меня примерно как Haskell, только без >> DK> ленивости. Синтаксис выразительный, но логика вычислений проще >> поддаётся >> DK> осмыслению, и дебаг также не вызывает трудностей. >> >> Мозги разные? Для меня логика вычислений на хаскеле на порядок (по >> основанию явно больше 2, но не 10) проще для осмысления. Именно в силу >> функциональности. Ведь императивный алгоритм - это инструкции для VZ> Ээээмм, ещё раз прошу прощения... А разве названные языки не- (недо-?) VZ> функциональные? В контексте - нет. В смысле, контекст дискуссии - что они позволяют прямее, чем хаскель, выражать императивный стиль, и в таковом качестве DK их использует.