Сильные выразительные статические типы для этого подходят лучше
Они лучше подходят для локализации ошибок типизации, но не для любых ошибок.
А для локализации любых ошибок (включая ошибки типизации), как раз подходит хорошая архитектура. Я только не согласен с тем, что это обязательно должно быть множественное наследование, или наследование как таковое, или вообще ООП. Есть же разные методы архитектурить, ООП — лишь один из них.
Почему же? Языки ругать можно и даже нужно за недостатки. Динамическая типизация это не недостаток. Лишь в ваших глазах это недостаток, но единого мирового консенсуса по этому поводу не существует.
Есть мнение, что динамическая типизация — плохо
Вот и ругайте динамическую типизацию, это даже полезно для сообщества, возможно однажды установится однозначная истина, и статическую типизацию признают единственно верным путем развития всех языков. А пока такого консенсуса нет, ругать языки за динамическую типизацию, это как прийти на концерт Гуфа с плакатом «рэп говно».
Вот я отладил, выотладил и переотладил свой код, содержащий yield. А Вася его неаккуратно использовал, и теперь внутри yield закрывается открытый мной ресурс. В результате мой (я умею в защитное программирование :) finally блок пытается его закрыть еще раз и voilà.
Как Вася, используя ваш генератор снаружи, заинжектил логику внутрь генератора и закрыл ресурс? Быть может вы имели ввиду, что он снаружи, имея доступ к ресурсу, закрыл его, а вы внутри его пытаетесь закрыть?
def gen_resource(): # Ваш генератор
for i in range(10):
try:
res = Resource()
res.open()
yield res
except Exception:
continue
finally:
res.close()
for res in gen_resource(): # Код Василия
res.use()
res.close()
так?
Если да, то подобное можно повторить многими механизмами. Это проблема архитектуры, а не генераторов.
Конечно же не все мечтают. Кто-то пишет проекты на 10-20 тысяч строк, где можно наизусть запомнить все алгоритмы и структуры данных. Мечтают все или почти все, кто пишет крупные проекты, и кто постоянно спотыкается об «как мне перестать искать ошибки после каждой правки и начать писать код», а потом пишут в бложиках рассказы про «моя жизнь до и после тайпскрипта».
— Почему вы решили, что все мечтают бросить вредную привычку есть мясо?
— Ну конечно же не все мечтают. Ведь кто-то ест мясо каждый день и не планирует доживать даже до 60, и кто постоянно после каждого употребления мяса клизму ставит себе и другу. А потом в бложиках пишут рассказы «моя жизнь до и после принятия веганства»
Согласен с обоими господинами. Но не стоит воспринимать «товарищей» как какой-то единый монолитный орган. Там есть и дураки, и эксперты в разных вопросах. Самое веселое, что даже у них действия часто не согласованны и противоречивы.
но когда это вдруг вылазит внутри большого проекта, где куча вызовов и все это перемешано
Ну так подобное можно про большинство механизмов сказать, только потом окажется, что дело то не в них. В принципе можно сказать «Пишите код хорошо, а плохо не пишите».
Что тайп скрипт? Мой вопрос, почему вы решили, что ВСЕ мечтают. Я не говорил, что никто не мечтает, или что статическая типизация — это плохо. Кому хочется статическую типизацию ушли в тайпскрипт, ничего дурного не вижу. Кому нравится динамическая, пишут на питоне и JS.
Да нет, все банально проще. То, что вы долго занимаетесь какой-то технологией, не делает вас автоматически профессионалом. В науке репутацию принято зарабатывать результатом, а не временем.
А для локализации любых ошибок (включая ошибки типизации), как раз подходит хорошая архитектура. Я только не согласен с тем, что это обязательно должно быть множественное наследование, или наследование как таковое, или вообще ООП. Есть же разные методы архитектурить, ООП — лишь один из них.
Вот и ругайте динамическую типизацию, это даже полезно для сообщества, возможно однажды установится однозначная истина, и статическую типизацию признают единственно верным путем развития всех языков. А пока такого консенсуса нет, ругать языки за динамическую типизацию, это как прийти на концерт Гуфа с плакатом «рэп говно».
так?
Если да, то подобное можно повторить многими механизмами. Это проблема архитектуры, а не генераторов.
Ого! Да минует меня участь читать ваш код после этого или работать с вами в одной команде в проектах где свыше 10-20 килострок кода.
— Почему вы решили, что все мечтают бросить вредную привычку есть мясо?
— Ну конечно же не все мечтают. Ведь кто-то ест мясо каждый день и не планирует доживать даже до 60, и кто постоянно после каждого употребления мяса клизму ставит себе и другу. А потом в бложиках пишут рассказы «моя жизнь до и после принятия веганства»
Ну так подобное можно про большинство механизмов сказать, только потом окажется, что дело то не в них. В принципе можно сказать «Пишите код хорошо, а плохо не пишите».
Что тайп скрипт? Мой вопрос, почему вы решили, что ВСЕ мечтают. Я не говорил, что никто не мечтает, или что статическая типизация — это плохо. Кому хочется статическую типизацию ушли в тайпскрипт, ничего дурного не вижу. Кому нравится динамическая, пишут на питоне и JS.
Почему вы решили, что все мечтают о статической типизации?
Ловко. Спасибо!
Плюсик вам. Кстати, у вас english version на 404 ведет.