Re[11]: Имя истинного врага - миссионеры.
От: so5team https://stiffstream.com
Дата: 12.08.25 09:26
Оценка: +1
Здравствуйте, Pzz, Вы писали:

S>>Так-то JS и Python -- это языки со строгой типизацией, в отличии от C или C++.

S>>В них по ошибке строку невозможно выдать за double.

Pzz>JS-то, как раз, без проблем даст сложить строку с числом


Я вообще не о том говорил. В C и C++ вы можете скастовать void* к double* и начать работать с double, хотя по факту за void* был спрятан char*.

Pzz>Но оба языка дадут положить в массив или словарь значение неподходящего типа (например, по ошибке, не поле какого-то объекта, а ведь объект целиком). И выстрелит это в момент использования.


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

Pzz>Мой тезис: отсутствие проверок усложняет разработку, но не делает её невозможной.


Pzz>Я к тому, что всяческие статические проверки — это хорошо. Но не надо по их поводу истерику устраивать.


"Истерику", как вы выразились, устраивают не по поводу отсутствия статических проверок, а по поводу сознательного отказа некоторых индивидов от их применения.

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

Что уже странно, по меньшей мере.
Еще более странно, что не расказывают а чем же компенсируют отсутствие такого контроля.

Моя версия, которую, к сожалению, не представляется возможным проверить -- это работа alpha21264 над небольшой и стабильной кодовой базой в небольшой команде. Да еще и, вероятно, в условиях, когда сама прикладная задача достаточно старая и хорошо изученная. И в которой, могу предположить, математика и физика на пару порядков важнее чем код, в который превращаются итоговые формулы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.