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

Re: Стабильная система?



Vladimir Zhbanov <vzhbanov@gmail.com> writes:

> On Fri, Oct 16, 2015 at 01:33:51AM +0300, Artem Chuprina wrote:
>
> И, прошу прощения за невежество, что в языках с duck typing хуже по
> сравнению с языками со статической типизацией, если не считать размер
> объектного кода из-за проверок типа?

Ну, тут есть много мнений, но самое существенное -- возможность выявить
проблему во время компиляции, а не в рантайме. Это, кстати, палка о двух
концах. Для прототипирования удобнее использовать языки не строго
типизированные, потому что Вы потратите меньше времени на то, чтобы
"договориться" с компилятором о том, какие типы уместны при вызове
данной функции. Но тогда надо иметь в виду, что всякие граничные случаи
могут давать ошибки. И тогда на сцену выходит статическая типизация,
которая просто не даст проекту скомпилироваться, если Вы в каком-то
месте пытаетесь подсунуть в функцию значение несоответствующего типа.

> Не знаю за другие языки (и даже за другие лиспы), дюже не пробовал, но
> в guile scheme (который я пытаюсь начать осваивать в последние пару
> лет) вопрос размера объектного кода сейчас во многом решается на этапе
> прекомпиляции (если я правильно понял одного из авторов), причём
> работа в этом направлении идёт масштабная.

Какая бы там работа не шла, проблема не в размере кода, и даже не в
производительности. Вопрос лишь в том, когда выявляются ошибки. И это
важно, если Вы намерены отдавать программу в продакшн.

> ...
>>  DK> Сейчас я работаю в основном на Racket Scheme, Emacs/Common Lisps и
>>  DK> Ocaml. Последний выглядит для меня примерно как Haskell, только без
>>  DK> ленивости. Синтаксис выразительный, но логика вычислений проще поддаётся
>>  DK> осмыслению, и дебаг также не вызывает трудностей.
>> 
>> Мозги разные?  Для меня логика вычислений на хаскеле на порядок (по
>> основанию явно больше 2, но не 10) проще для осмысления.  Именно в силу
>> функциональности.  Ведь императивный алгоритм - это инструкции для
>
> Ээээмм, ещё раз прошу прощения... А разве названные языки не- (недо-?)
> функциональные?

Они мультипарадигменные. Позволяют писать в обоих
стилях. Функциональный, само собой, поощряется.

Attachment: signature.asc
Description: PGP signature


Reply to: