Comments 14
компромисс
такой метод невероятно продуктивен
В продакшене налево и направо летали ошибки, поскольку то и дело передавались ненадлежащие типы
Не следует коллективно отказываться от тех благ, которые у нас были.
Проблема не компьютерная, а социальная. Можно уметь писать хороший (в смысле быстрый, правильный и модифицируемый) код с типами. Можно уметь писать хороший код без типов. А можно не уметь писать хороший код ни с типами ни без, но очень хотеть кабинетную работу за приличные деньги. Это источник типов в Python и вообще много чего номер раз.
Можно пытаться так изменить содержание труда, в том числе язык программирования, чтобы иметь а) возможность нанимать дешёвую рабочую силу (в просторечии - бездарных недоучек) и б) повышать предсказуемость (какой вариант лучше - три эксперта выполнят проект на отлично за 1 - 6 месяцев и 3 х $20к в месяц или 20 «джуниоров» которые сделают на удовлетворительно за 8 - 9 месяцев и 20 х $1.5к в месяц? Для не знакомых с бизнесом привожу очевидный ответ - второй вариант не оставляет шансов первому). А что первым приходит в голову на счёт языка? Правильно, запретить делать ошибки… И это источник типов в Python и ещё много чего номер два.
Давным-давно в Природе были люди, видел сам, которым платили не за написаный код, а за те результаты, которые были получены, от часто до обычно ими же, при помощи того кода. И люди те не просто были, а были в большинстве. Чем ближе к тому времени, тем менее удивителен Python без типов.
В том, что таковые оказались не лохи и таки вымерли, в смысле полностью вымерли, я сомневаюсь видя книги аж по EMACS и особенно Julia. Там проблем, правда, тоже хватает. Но это другое.
Оно же не просто так называется hints. Типы в питоне, в первую очередь - подсказки для других разработчиков. Всякая кодоненерация, и проверки до запуска/в рантайме живут своей жизнью в сторонних либах. Автор, поди докстринги не пишет
Когда ты пишешь проект один - не важно какой сложности, то недостатка в отсутствии типизации нет никакой. Когда за дело берётся команда, нужны 'договора' между собой. И типизация - один из них.
Конфликт простоты с типизацией есть, но он же и средство угодить всем, в том числе самому себе, поумневшему или спешащему. По моему задумка с типизацией гениальна, хоть и особо не нужна.
Зашёл прочитать про код без типов, а прочитал про код без тайп хинтов.
Автор, не путайте нас. Когда вы пишете x=1, число 1 имеет тип int, а вот переменная x хинта явного не имеет. А дальше можно накручивать разную логику подсказок и проверок. Но факт в том, что тип у объекта есть и доступные операции у единицы как раз определяются ее типом.
Так в Питоне нет типов. В Питоне объекты. Остальное - сахар
Обычная судьба очень многих проектов: сначала есть что-то маленькое и удобное, и все очень довольны, потом это начинают улучшать, потом ещё больше улучшают, и ещё больше... пока не получается что-то большое и неудобное (и с кучей багов).
Смешно. "Продуктивен". В чем продуктивность? В том, что легко исправлять ошибки? Прямо на проде? Автор гордится, что в день исправлял по двадцать ошибок? Та легкость, с которой легко наворотить ошибок ("да, он не идеален") - это плюс языка? Ошибки сначала летят клиентам, а те отправляют автору отчеты со стек-трейсами "в которых можно было видеть текст кода"? Серьезно? Этому научился автор на проектах с пхп и питоном?
Python без типов: таким он когда-то был