Я предпочитаю как можно точнее придерживаться функциональной парадигмы, стараясь максимально приблизиться к чисто функциональному, когда мой мозг готов принять вызов. По возможности я использую F #. Обычно я застреваю либо на VB.NET, либо на C # (или на VBA, когда мне действительно не везет). Так что мои языки позволяют мне довольно далеко уйти от функционального подхода.
Исторически я игнорировал ведение журнала и общение с пользователем до тех пор, пока не получу результат - просто позвольте пользователю подождать. Сейчас пытаюсь реализовать ведение журнала и / или обновление статус-бара. Это легко, потому что мои языки позволяют мне писать в стандартный вывод, когда я хочу. Но с чисто функциональной точки зрения, как можно допустить утечку информации о том, что происходит внутри его функции, во внешний мир? Является ли ведение журнала или общение с пользователем во время вычислений просто противоречащим чисто функциональному подходу?
Я уверен, что в Haskell можно использовать монаду. А как насчет использования других языков?
Спасибо.
I prefer to stick as closely as possible to the functional paradigm, squeezing as close as I can get to the purely functional when my brain is up for the challenge
используйте его, когда это приносит вам пользу. Чистый функциональный код часто может добавить системе случайную сложность. - person Lukasz Madon   schedule 08.12.2012