LINUX.ORG.RU

История изменений

Исправление shahid, (текущая версия) :

Да дело не только в документации, а в обслуживании кода в целом. Динамическая типизация ограничивает развитие любого проекта до некоторых пределов. Чем больше такой проект, тем больше всплывает проблем из-за динамически-типизированного взаимодействия разных компонент проекта. Потом, 90% времени начинает уходить на обслуживание кода (в т.ч. документирование даже для самого себя), и времени на развитие проекта почти не остаётся. В случае интернет-сервиса, со временем растёт и нагрузка из-за роста пользователей сервиса, а динамическая типизация — это лишние тормоза, и придётся заниматься ещё и оптимизацией быдлокода или платить лишние деньги за виртуалки.

Но главная проблема — она в людях. Спрос на программеров постоянно растёт, их время — как-то не дешевеет. Когда програмер-стажер приходит в проект, например, на питоне, то начинается вообще сказка — нет ни одной нормальной IDE, код представляет из себя макароны, классы напичканы словом «self» и хорошо смешаны со статическими функциями. Нередко даже не понятно, какие функции какие типы возвращают (и, следовательно, что эти функции делают) — можно лишь судить об этом с некоторой вероятностью.

Исходная версия shahid, :

Да дело не только в документации, а в обслуживании кода в целом. Динамическая типизация ограничивает развитие любого проекта до некоторых пределов. Чем больше такой проект, тем больше всплывает проблем из-за динамически-типизированного взаимодействия разных компонент проекта. Потом, 90% времи начинает уходить на обслуживание кода (в т.ч. документирование даже для самого себя), и времени на развитие проекта почти не остаётся. В случае интернет-сервиса, со временем растёт и нагрузка из-за роста пользователей сервиса, а динамическая типизация — это лишние тормоза, и придётся заниматься ещё и оптимизацией быдлокода или платить лишние деньги за виртуалки.

Но главная проблема — она в людях. Спрос на программеров постоянно растёт, их время — как-то не дешевеет. Когда програмер-стажер приходит в проект, например, на питоне, то начинается вообще сказка — нет ни одной нормальной IDE, код представляет из себя макароны, классы напичканы словом «self» и хорошо смешаны со статическими функциями. Нередко даже не понятно, какие функции какие типы возвращают (и, следовательно, что эти функции делают) — можно лишь судить об этом с некоторой вероятностью.