LINUX.ORG.RU

Haskell, зачем он сейчас? Как состояние ФП?

 , , ,


1

7

Всем привет. Помню как появился Haskell и много стали говорить о промышленном применении ФП.

А где сейчас применяется Haskell? Какого его промышленное применение? Зачем он современному миру, кроме тестирования каких-либо подходов?

То же касательно и других ФП-языков - кто-то полноценно жив?

Ответ на: комментарий от dave

Фильтрация спама и прочего нежелательного контента написана на Haskell

Вопрос в том, написана ли она на хаскелл потому что на нем было проще и быстрее ее написать, либо потому что кому-то ОЧЕНЬ хотелось ее написать на хаскелл.

Im_not_a_robot ★★★★ ()

Зачем он современному миру, кроме тестирования каких-либо подходов?

Так тем и хорош, язык прототипов и аутистов — такая уж ниша.
Прототип взлетает и его переставляют на промышленные рельсы.
Ну и полезно чтобы мозги развивать.

То же касательно и других ФП-языков - кто-то полноценно жив?

JS)

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

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

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

Такой вопрос можно задать практически по абсолютно _любому_ проекту. Можно и до ядра линукса докопаться. А почему вот ядро линукса написали на Си, а не на Паскале или Аде?! Я вижу, что вам очень хочется прикопаться, но не можете...

Автор всегда предвзят в своем выборе. Так устроены люди. Кто пытается говорить иное, это обычно пустая болтовня и чушь собачья. Выбор почти всегда есть.

dave ★★★★★ ()
Последнее исправление: dave (всего исправлений: 1)

Каково его промышленное применение?

Fixed.

В основном это серверный софт, бэкенды, обработка данных и прочая подобная хрень.

Зачем он современному миру, кроме тестирования каких-либо подходов?

Код писать на нём удобно.

То же касательно и других ФП-языков - кто-то полноценно жив?

OCaml, Erlang, Scala.

hateyoufeel ★★★★★ ()

Помню как появился Haskell и много стали говорить о промышленном применении ФП.

Ты про Haskell 1.0 или Haskell 98?

А где сейчас применяется Haskell? Какого его промышленное применение?

Написание лабораторных работ в промышленных масштабах (подразумевается мелкая кустарная промышленность).

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

Если операционную систему переписать на Pascal или Ada, то, боюсь, такая семантическая херня получится - всё равно что выкрасить и выбросить.

iZEN ★★★★★ ()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от Im_not_a_robot

К счастью не такой же — изучение разных языков программирования действительно может развивать программиста (становиться их фанатом и спешно переписывать продакшен на них при этом не требуется).

В некоторой степени такой подход и с разными видами линуксов работает: надо пробовать, искать сильные и слабые стороны.

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

В эту игру можно играть вдвоем. А почему не haskell-то? Что оправдывает его не выбирать? Тем более, если есть специалисты по haskell. Где логика-то у тебя?

dave ★★★★★ ()

Его нет. Причина одна — работодателю трудно найти замену кодеру, если тот вдруг встанет на лыжи. Хороший менеджер минимизирует риски, а фп это прежде всего фактор риска, а потом уже динамические опердени и приседания со штангой.

Deleted ()
Последнее исправление: rj45 (всего исправлений: 1)
Ответ на: комментарий от silver-bullet-bfg

Elixir

Мешать в кучу ml и динамически типизируемый эрланг это то же самое что и встать и громко сказать: «я полный дебил, нихрена не понимаю». Если вы полимаете о чём я, инфа 100% Лол :-)

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

фп это прежде всего фактор риска

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

На джавке бывает код весь на статиках да миллиард строк кода на класс.

Риски - нанимать говнокодеров. Вне зависимости от языка или парадигмы.

nihirash ★★★ ()

haskell уже не нужен, так как есть rust. Там АДТ, трейты, кложуры и экспрешн-бейзд но нет ублюдочной ленивости и с производительностью все в порядке.

provaton ★★★★★ ()

Язык как язык. Новые релизы выходят, новые библиотеки пишутся. Если интересен - изучай.

Из особенностей: - чистый функциональный (сайд-эффекты явно выражены в типах) - строгая статическая типизация с большим количеством экспериментальных расширений (позволяет записать сложные инварианты на уровне типов; как результат код легко подкрживатт) - ленивая модель вычислений (одна из самых необычных сторон языка) позволяет проще поддерживать и распараллеливания код и повышает выразительность языка (рекурсия не является проблемой). Красивым примером является либа parsec.

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

haskell уже не нужен, так как есть rust. Там АДТ, трейты, кложуры и экспрешн-бейзд но нет ублюдочной ленивости и с производительностью все в порядке.

Жаль только чистых функций нет, а mut есть.

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

Общая академичность

Что такое это ваша академичность?

Академичный == не подходит для прикладных задач? Но ведь отлично же подходит. Нужные библиотеки есть, книжки есть, сообщество есть. И ситуация улучшается с каждым годом.

Или это академичный == сложный? Да, язык действительно сложный для освоения. Причём тут наоборот, с каждым годом становится всё сложнее. Но это полностью ортогонально академичности! Теория ракетостроения или там наноэлектроника тоже очень сложные, но совершенно прикладные области.

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

Теория ракетостроения или там наноэлектроника тоже очень сложные, но совершенно прикладные области

Прикладные, но в очень узком диапазоне. Там, где эта сложность оправдана получаемой прибылью. А для какой области прикладного программирования оправдана сложность хаскеля?

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

А для какой области прикладного программирования оправдана сложность хаскеля?

Проблема не в сложности, проблема в фрагментированности сообщества. Например, они так и не договорились, как возвращать ошибки. Или как именно организовывать монадический стек. Война stackage и hackage.

kirk_johnson ★★ ()
Последнее исправление: kirk_johnson (всего исправлений: 1)
Ответ на: комментарий от no-such-file

А для какой области прикладного программирования оправдана сложность хаскеля

Ну вот например parsec (либа для написания парсеров) тут уже приводили. В областях и задачах, где сложность присутствует изначально, хаскель несомненно нужен.

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

Но мы же про применяемые ОС говорим.

Ты просто про операционки общего назначения говоришь :) И таки на аде полно применяемых ОС. Только не на локалхосте, а на встройке, в «мишон критикал» и RT-сегменте.

slackwarrior ★★★★★ ()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Ада точно использовалась американскими военными пару лет назад. Там всё серьёзно — правительственные контракторы без права на ошибку, всё это.

anonymous ()