Чтобы написать это на любом языке программирования нужно как минимум два потока данных, один сетевой и один файловый. А bf может работать только с одним.
> как та же задача могла бы быть сделана на Haskell, если бы да кабы
Ничего личного, но ИМХО это типичный сценарий использования Haskell'a :-)
Пишется «тёплое ламповое» всё-такое-функциональное ядро/алгоритм, а потом выясняется, что либо в нужной базе данных varchar поддерживается, либо реализация какого-нибудь RPC протокола «готова на 80%», либо ещё что-нибудь в этом роде.
После чего всё берется и переписывается на любимый «ремесленный» язык программирования ;)
Я не говорю что «всё плохо, ничего не работает», просто качество+количество библиотек еще не доросло до «продакшен» уровня.
Пример: берем задачу, пишем её на haskell, всё хорошо.
через месяц появляется требование читать данные из excel файлов.
ещё через месяц — выводить отчёты в pdf
ещё через месяц — работать с другой системой через soap
ещё через месяц — добавить красивый web-интерфейс.
Просто выше шанс того, что на Java/C#/Python/whatever под новые требования найдётся библиотека, которая проверена временем и работает.
У Haskell на удивление простой и удобный интероп с C, так что реальной проблемой при достаточно серьёзном проекте эти требования стать вряд ли смогут. В данной конкретной задаче можно было вызывать сишную функцию, передавая raw pointer на данные картинки и название.
Хотя, конечно, отсутствие библиотеки из коробки не есть хорошо.
В оправдание можно лишь сказать, что библиотек-то на самом деле много на почти все случаи жизни.
Ну, я не уверен в том, что можно судить по разработке на Haskell в целом по отдельно взятому посту. :)
> Я не говорю что «всё плохо, ничего не работает», просто качество+количество библиотек еще не доросло до «продакшен» уровня.
Это зависит от сферы применения. Например, для компиляторов Haskell подходит даже сейчас. Какую сферу применения вы имеете в виду?
> Пример: берем задачу, пишем её на haskell, всё хорошо.
> через месяц появляется требование читать данные из excel файлов.
> ещё через месяц — выводить отчёты в pdf
> ещё через месяц — работать с другой системой через soap
> ещё через месяц — добавить красивый web-интерфейс.
Похоже на задачу из бизнеса. Конечно, вряд ли кто-нибудь станет выполнять такие на Haskell. Хотя, кто его знает. :)
> Ну, я не уверен в том, что можно судить по разработке на Haskell в целом по отдельно взятому посту. :)
Просто оборот «вот как можно было бы сделать на haskell, но...» показался знакомым… ;)
>Это зависит от сферы применения. Например, для компиляторов Haskell подходит даже сейчас. Какую сферу применения вы имеете в виду?
Разумеется. Сфера применения — general purpose programming, скажем так. Хороший пример — как раз в топике. Понадобилось, например, скачать картинки и сделать из них PDF…
> Похоже на задачу из бизнеса.
Ну да. Не всё же компиляторы писать или задачки из Эйлера решать :)
> Было очень удобно прямо в GHCi протестировать запрос, затем разобрать один из них, скачать и сохранить картинку. Вся разработка велась там, а затем код был перенесён в файл.
Пытаемся сделать PDF-книгу из веб-комикса при помощи Haskell на примере xkcd