Как стать автором
Обновить

Комментарии 17

Ну что, кто возьмется написать на Брейнфаке?
Чтобы написать это на любом языке программирования нужно как минимум два потока данных, один сетевой и один файловый. А bf может работать только с одним.
На bf можно написать программу, которая будет управлять мультиплексором потоков. В качестве такого мультиплексора можно использовать обычный шелл.
Шелл можно считать как отдельный ЯП, так что это будет уже не чистый bf.
Хм, хаскель одного меня пугает или есть ещё дурики?
Да ничего страшного там нету. Мне хаскель нравится, но такая задача, скажем на питоне решается гораздо менее трудоемко. Типизация в таких рутинных задачках только мешает. Ничего лучше языков с динамической типизацией для таких скриптиков нету.
Только первая пара сотен комиксов идут в jpg, остальные в png. Может быть, в этом проблема? Вы ведь только jpg в коде ожидаете.
> как та же задача могла бы быть сделана на 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 протестировать запрос, затем разобрать один из них, скачать и сохранить картинку. Вся разработка велась там, а затем код был перенесён в файл.

Скажите спасибо придумавшим это лисперам. ;)
Огромное скажу. Я теперь без REPL нормального программирования не представляю.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории