Re[9]: (как примечание)
От: Гест Украина https://zverok.github.io
Дата: 18.07.15 16:52
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

Г>>И всё это исключительно для демонстрации мысли, которую я написал как примечание к исходному посту (в целом верному): что плавающая грань между «этапом разработки» и «этапом исполнения» в динамических языках способствует более естественному проникновению идеи DSL в эту среду.


EP>Даже при 100% покрытии строчек кода тестами, нет гарантии отсутствия ошибок которые могли бы быть отловлены в статически типизированных языках во время компиляции.

EP>Чтобы такую гарантию получить в динамически типизированных языках — нужно делать тесты на все комбинации возможных ветвей исполнения, что во-первых практически нереально, а во-вторых даже доказательство того что покрыты все комбинации ветвей — сама по себе нетривиальная задача (и по-всей видимости неразрешимая).

Это неверно.
Скажем, тот код, который я привёл в прошлом сообщении, упадёт, будучи неверно написан, не «в одной из веток, до которой исполнение может быть и не доберётся, если не покрыть её тестами», а при любой загрузке всего кода. Иными словами, в языках без «стадии компиляции», всё равно есть несколько разных стадий существования кода; и DSL-и обычно определяются так, что контролируют правильность на ранних стадиях.

Впрочем, для нового витка вечного флейма «статика vs динамика» я что-то староват уже, кажется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.