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

Pzz>>Ну а как люди пишут крупные системы на JS или Питоне? Там с проверками еще сильно хуже.


S>С какими именно проверками?

S>Так-то JS и Python -- это языки со строгой типизацией, в отличии от C или C++.
S>В них по ошибке строку невозможно выдать за double.

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

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

S>А именно крупные системы пишут с трудом и за счет тотального тестирования. Не зря же сама мода на unit-тестирование в индустрию пришла из extreme programming, который возник из опыта разработки большого проекта на динамически-типизированном SmallTalk.


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

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

Кстати, моё личное мнение: динамически типизованные языки плохо подходят для первоначального обучения программированию. Статическая типизация не только следит за руками, но еще и приучает систематически думать наперёд. Если начинать с динамически типизованного языка, в котором "всё можно", этот навык не развивается.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.