LINUX.ORG.RU

[haskell] соц. опрос

 


0

2

Есть ли на ЛОРе люди, применяющие haskell в своей работе? Если есть, то для каких задач вы его обычно применяете, а для каких задач вы стараетесь выбирать другие языки? Теоретики тоже могут высказаться, но желательно при этом указывать, что вы теоретик.

Авторы языка позиционируют его как general purposes language, однако его довольно скромная производительность вкупе с проблемами с распространением написанных программ вызывают опасения, что язык имеет все же ограниченную область применения.

P.S. Модераторам: хотел запостить в talks, потому что срач в теме наверное будет, но потом решил, что теме именно здесь место. Если неправ, прошу перенести.

Сейчас набежит Love5an и будет орать что хацкель - говно, юзай Common Lisp.

Lorchanko
()

> Теоретики тоже могут высказаться

Выскажусь, что haskell категорически не подходит для практического применения. Знать его лучше всего именно теоретически — чтобы иметь хорошее, годное представление о ФП, даже если программист использует только императивные языки на работе.

geekless ★★
()

>применяющие haskell в своей работе

Мелкая автоматизация: что-нибудь распарсить, что-нибудь проверить, что-нибудь преобразовать. Идеальный язык для.

Macil ★★★★★
()

Прототипирование математических моделей, работа с математическими абстракциями, если их можно выразить в рамках типизации по Хиндли-Милнеру.

alienclaster ★★★
()

>Теоретики тоже могут высказаться, но желательно при этом указывать, что вы теоретик.

для каких задач вы его обычно применяете

Вычисление факториалов.

anonymous
()
Ответ на: комментарий от Macil

Мелкая автоматизация: что-нибудь распарсить, что-нибудь проверить, что-нибудь преобразовать. Идеальный язык для.

А как на счет «маленькая утилита для автоматических преобразований dbf-файлов» или «небольшая система для ведения учета в библиотеке», например? Насколько эффективно он справится с такими задачами?

delete83 ★★
() автор топика
Ответ на: комментарий от delete83

>А как на счет «маленькая утилита для автоматических преобразований dbf-файлов»

Я никогда не сталкивался с задачей обработки dbf на хаскеле. Хотя на hackage лежит библиотечка для работы, но я полагаю что лучше воспользоваться attoparsec, благо, с одной стороны, формат не сложный, а с другой — DBF'ов есть много разных видов.

«небольшая система для ведения учета в библиотеке»


Здесь весь вопрос в том, что понимается под «системой учета». Для такой задачи нужен ГУЙ. Для хаскеля есть биндинги к Gtk, но опять же, я не сталкивался. Есть биндинги к Qt, но они сырые и не выложены на hackage.

Я сейчас веду эксперименты с веб-интерфейсом, но пока за рамки теории это не вышло. Кстати, веб-фреймворков для хакеля несколько штук: от фундаментального yesod, до относительно скромного happstack.

Биндинги к БД присутствуют, как к NoSQL, так и к некоторым SQL (MySQL, Postgres).

Есть хранилище, индексатор, и MapReduce фреймворк Holumbus.

Так что можно придумать что-то.

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

Macil ★★★★★
()

> довольно скромная производительность

Неправда же, вполне высокая у Хаскеля производительность.

вкупе с проблемами с распространением написанных программ

Это какими?

exlevan
()

довольно скромная производительность

пардон, что? я понимаю - проблемы с памятью, размер бинариев, но производительность?

вкупе с проблемами с распространением написанных программ

ты делаешь меня удивлённой пандой дважды за пост. что за проблемы?

по существу: применял для синтаксического разбора и анализа данных с устройства; в рамках текущей работы не применяю по причине специфики платформы

использую C для низкого уровня и Tcl для скриптов

jtootf ★★★★★
()
Ответ на: комментарий от Macil

Дело не в dbf. Для работы с ним имеется и обычный биндинг к odbc, а там драйвер обо всем позаботится. Дело в общей применимости языка для таких вот, может быть чисто русских, а может и нет, задач. И не в последнюю очередь это GUI. Есть gtk и gtk2hs. Насколько я понимаю, вещь довольно гибкая и местами должна быть кроссплатформенной.

И еще вопрос, как распространять саму программу на haskell? Требуется ли на машине клиента компилятор haskell и вообще, тянет ли такая программа за собой какой-то особый рантайм? Там же в си компиляция идет и потом уже в машинный код? Речь сейчас о GHC, если что. Причем, преимущественно, о win-машинах. В Linux тоже интересно, как портировать бинарник на машину без GHC.

delete83 ★★
() автор топика
Ответ на: комментарий от jtootf

ты делаешь меня удивлённой пандой дважды за пост. что за проблемы?

Я не знаю. Вы мне скажите: http://leksah.org/download.html. Почему есть две версии софтины для разных версий компилятора ghc? Может я и глубоко заблуждаюсь. Просто других примеров распространения бинарников хаскельных программ не знаю пока. Не встречал.

delete83 ★★
() автор топика
Ответ на: комментарий от delete83

>Дело в общей применимости языка

Я пытаюсь тебе намекнуть что дело в применимости ТЕБЯ для решения «русских» задач на хаскеле.

И еще вопрос, как распространять саму программу на haskell?


Тупо бинарниками под виндой. Размер получается гормадным, по типу «все вуключено», не считая библиотек, подключаемых через FFI. ИМХО с помощью GHC ты не можешь делать DLL без экземпляра хаскелевского рантайма.

Macil ★★★★★
()

> Есть ли на ЛОРе люди, применяющие haskell в своей работе?

да, я

Если есть, то для каких задач вы его обычно применяете, а для каких задач вы стараетесь выбирать другие языки?

Написание программы управляющей железкой и специфичного сервера.

Авторы языка позиционируют его как general purposes language, однако его довольно скромная производительность вкупе с проблемами с распространением написанных программ вызывают опасения, что язык имеет все же ограниченную область применения.

ссылки на тесты (не числодробилками), да и проблемы распространия есть, или теоретик? ;)

qnikst ★★★★★
()
Ответ на: комментарий от delete83

>Почему есть две версии софтины для разных версий компилятора ghc?

Элементарно, Ватснон. Это же IDE, поэтому и сделана для разных мажорных версий.

Между GHC 6 и 7 есть некоторые отличия, главным образом в структуре стандартной библиотеки и GHC-специфичных расширений языка.

Macil ★★★★★
()
Ответ на: комментарий от qnikst

ссылки на тесты (не числодробилками), да и проблемы распространия есть, или теоретик? ;)

Я - теоретик и не скрываю этого. Если б имел опыт, не спрашивал бы тут.

delete83 ★★
() автор топика

Делал сольный проект — авиационный тренажер сверхлегкого самолета. Никаких трудностей из-за хацкеля не встретил. Скоро буду делать вторую версию.

Производительность вовсе не скромная. Код лаконичный, легко читается, легко поддается профилировке и оптимизации, рефакторится тоже легко.

sanuda
()
Ответ на: комментарий от sanuda

Можно где-нибудь посмотреть на этот тренажер или проект закрытый наглухо? Всегда хочется пощупать историю успеха :)

delete83 ★★
() автор топика
Ответ на: комментарий от delete83

Да ничего закрытого. Боюсь, что просто нормального описания нет. Есть позорная страничка одна http://techavia.ru/trenaj.htm , где под ужасную музыку засняты два видео с полетом. Там много бесполезного словоблудия и кошмарное видео, короче, не рекомендую к просмотру.

А пощупать можно будет на МАКС'е в середине августа, например. http://www.aviasalon.com/

sanuda
()
Ответ на: комментарий от delete83

Почему есть две версии софтины для разных версий компилятора ghc?

потому что это IDE, работающая с API этого компилятора. при переходе с версии 6 на версию 7 API (да и поддерживаемый стандарт языка, если уж на то пошло) изменилось

jtootf ★★★★★
()
Ответ на: комментарий от l5k

Приборы, модель динамики, арматура, звуки, рабочее место инструктора и т.д. Короче, визуализация не на хацкеле, все остальное на нем.

sanuda
()
Ответ на: комментарий от sanuda

Ах, да, должен еще оговориться, что справа на приборной панели odyssey от mgl avionics. Это отдельный прибор.

sanuda
()

Использовал на работе как REST-апи для веб-приложения.

Использую как язык для сервера игры hedgewars.

Использую для мелкой автоматизации (чаще всего преобразование файла).

Проблем с распространением никаких нет. Компилишь и распространяешь с нужными сторонними библиотеками (к примеру, сервер hedgewars вообще одним exe-шником можно распространять).

unC0Rr ★★★★★
()

Всем спасибо за комментарии. Окончательный ответ сразу на все мои вопросы совершенно случайно сегодня нашел на хабре.

Если кому интересно: http://habrahabr.ru/blogs/Haskell/124270/

delete83 ★★
() автор топика

Haskell абсолютно непригоден для решения практических задач.

Deleted
()

> Есть ли на ЛОРе люди, применяющие haskell в своей работе?
ХЗ, .xmonad/xmonad.hs считается?

Если есть, то для каких задач вы его обычно применяете

Для конфигурации WM.

tn1
()
Ответ на: комментарий от Vadim_Z

> Казалось бы, при чём тут они... Вы с этими людьми случайно не знакомы?

Да хер их знает. Лично я ни с кем оттуда не знаком :)

sanuda
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.