metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-03-28 05:20 pm

Ленивость+побочные эффекты

Второй день созерацию результаты "отсутствия монады IO, нечистоты и опциональной ленивости" в F#. Читаю из базы данных структуру данных ленивым образом - какой-то только, прости меня господи, херни не творится при этом. То значение прочитается после закрытия DataReader из которого оно читается, то команда окажется закрытой уже. Хорошо хоть в контексте коннекта и транзакции я уверен - вся работа происходит внутри их.

Предполагаю, что при определенном уровне сложности проще все будет сделать неленивым и всасывать в память, чем разбираться в стеках вызовов в которых половина фреймов - из автосгенеренных классах с малопонятными именами. Отладчиком по большей части этого всего пройтись невозможно - он не работает.

[identity profile] vp.livejournal.com 2010-03-28 05:30 pm (UTC)(link)
Ээээ.. Хотели ? Отгребите! :)

[identity profile] metaclass.livejournal.com 2010-03-28 06:16 pm (UTC)(link)
Знаешь в чем зло?
Что альтернатива - сесть и 99% времени заниматься работой уровня "студент второго курса на полставки". Т.е., неделями писать "таблица -> поля -> CRUD-запросы -> гуй редактора -> печатная форма"хN, не приходя в сознание.
Я лучше это же самое время подолблюсь с кодогенератором, который сильно отличается от всего того, что мы обычно делаем, а потом сгенерю все на нем. И потом каждый раз когда будут парить мозг всякой ересью - буду опять генерить.