Во-первых, я понимаю, как из итераций, достаточно хорошо, что я, вероятно, мог бы написать упрощенную и ошибочную реализацию, не обращаясь к уже существующим.
То, что я действительно хотел бы знать, - это то, почему люди, кажется, считают их такими захватывающими, или при каких обстоятельствах их преимущества оправдывают их сложность. Сравнивая их с ленивыми вводами-выводами, есть очень явная выгода, но для меня это кажется очень сложным, как соломенный человек. Я никогда не чувствовал себя комфортно в отношении ленивого ввода-вывода, и я избегаю этого, за исключением случайных hGetContents
или readFile
, в основном в очень простых программах.
В реальных сценариях я обычно использую традиционные интерфейсы ввода-вывода с контрольными абстракциями, соответствующими задаче. В этом контексте я просто не вижу преимущества итераций или какой задачи они являются подходящей абстракцией управления. Большую часть времени они кажутся больше ненужной сложностью или даже контрпродуктивной инверсией контроля.
Я прочитал множество статей о них и источниках, которые их используют, но пока не нашел убедительного примера, который заставлял меня думать о чем-то вроде "о, да, я бы использовал там тоже. Может быть, я просто не читал правильных. Или, возможно, есть еще не разработанный интерфейс, который проще, чем любой, который я еще видел, что сделает их менее похожими на швейцарскую армейскую бензопилу.
Я просто страдаю от не-изобретенного здесь синдрома, или это моя неуверенность обоснована? Или это может быть что-то еще?