LINUX.ORG.RU

Функциональное программирование: стоит ли изучать Haskell?

 , , ,


0

3

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

Так вот вопрос, не потрачу ли я время зря? Может быть достаточно взять scala, и убить сразу двух зайцев: изучить востребованный на рынке язык и освоить функционально программирование? Что мне даст haskell, чего не даст scala в плане саморазвития?

Максимум ФП который может когда либо пригодиться это linq в шарпе. На остальное говно не смотри даже.

anonymous
()

не очень-то хорош для продакшена

С чего бы?

scala

востребованный на рынке

ORLY? Я пробовал на нём работу найти (до сих пор пробую) - не так-то это просто. Разве только если у тебя 10+ или хотя 5+ лет опыта на этом самом scala - с руками оторвут. А если ты только начинаешь - сложно тебе будет, отвечаю. Вакансий для джунов чуть меньше, чем нисколько.

scala хороша тем, что совместима с java (легко подключить и использовать любую библиотеку оттуда, а на haskell надо искать свои библиотеки, либо писать своё), и кусок кода в случае чего можно написать императивно (например, логирование добавить в середину метода), в то время как в haskell надо для этого танцевать с монадами. Кто руку набил - тому в принципе без разницы, наверное.

BattleCoder ★★★★★
()

Его часто рекомендуют изучить уже потому, что он мозги вправляет.

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

Akamanah ★★★★★
()

Как известно, haskell не очень-то хорош для продакшена

Откуда это известно?

Так вот вопрос, не потрачу ли я время зря?

Зависит от тебя.

Может быть достаточно взять scala, и убить сразу двух зайцев: изучить востребованный на рынке язык и освоить функционально программирование?

На рынке востребован PHP, Java и C#. Кое где C++. Всё остальное в пределах статистической погрешности.

Что мне даст haskell, чего не даст scala в плане саморазвития?

В Haskell ленивые вычисления, нет мутабельности, куда более развитая система типов.

Legioner ★★★★★
()

Не стоит. После хаскеля все остальные языки выглядят слишком не хаскелем и вызывают огорчение.

KblCb ★★★★★
()

Саморазвитие ради саморазвития? Тогда много чего можно порекомендовать: медитацию на речной поток, изучение теории большого взрыва, изучение haskell, наконец.

Если есть другая, более приземленная, цель, то нужно ее понимать уже сейчас. Очень полезное упражнение: представить себя через год, какую имеешь пользу от приобретенных навыков; представить себя через 2-3 года... 5 лет... Если ты хочешь остаться и работать прогером в своем городе — стратегия одна; переехать в другое место — другая. Выбор всегда будет определяться в зависимости от твоих целей. А если их нет, но вообще пофигу, что учить, все равно это пустая трата времени.

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

Как известно, не очень-то хорош для продакшена

4.2

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

f1u77y ★★★★
()

После Haskell пофиг что учить - все равно ступеньки вниз идут. Можно еще на OCaml глянуть - в нем тоже есть весьма интересные штуки, при этом императивщина в нем «из коробки».

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

Не в Воронеже, естественно. С возможностью переезда. Воронеж тут даже не обсуждается.

Естественно, есть куча вакансий в том же Лондоне и Нью-Йорке, куда возьмут только тех, у кого _уже_ есть разрешение на работу. Им проще - да.

BattleCoder ★★★★★
()

не потрачу ли я время зря

Зря точно не потратишь.

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

все равно ступеньки вниз идут

Как ты Агду опустил, однако.

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

Все те же сказки про серого бычка и вправление мозгов.

Очень полезные сказки. Пока одни работают и деньгу зашибают, другие сидят на жопе и «мозги вправляют». Меньше конкуренции - больше денег для нас. Так что пусть вправляют и дальше, не надо их отговаривать.

anonymous
()

haskell не очень-то хорош для продакшена

Обоснуй

но зато он так сказать представляет собой идеальный пример функционального языка

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

Так вот вопрос, не потрачу ли я время зря?

Не потратишь

Может быть достаточно взять scala, и убить сразу двух зайцев: изучить востребованный на рынке язык и освоить функционально программирование? Что мне даст haskell, чего не даст scala в плане саморазвития?

Ты так говоришь как будто scala это тот же самый хаскелл с одним лишь различием — «Востребованный на рынке».

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

Да и в РФ периодически возникают, естественно, не 100500, но тебе же 100500 не надо, ты один. Так что, было бы желание.

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

Что реально круто в OCaml - first class modules, lwt и async. В остальном не лучше Haskell'a, а в плане развитости комьюнити ужасно отстает от него. Да и синтаксис местами очень многословный, Haskell поприятнее.

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

А стоит ли заниматься фигурным катанием или оригами?
Нравится? Занимайся. Но о коммерческом применении можешь даже не заикаться.

Stahl ★★☆
()

Его часто рекомендуют изучить уже потому, что он мозги вправляет.

Еще говорят, надо поститься, молиться и слушать радио «Радонеж».

anonymous
()

А что ты хочешь получить? От ответа на этот вопрос зависит ответ на твой...

Scala достаточно практичная, но без знания java и сопутствующих технологий, ты вряд ли найдёшь работу просто.

Haskell в продакшене неплох, но он туда сложно впихивается. И нужно знать, зачем тебе он там. С поиском работы будут серьёзные проблемы. Изучать для себя стоит, если есть интерес и желание.

Ещё можешь посмотреть на F#, он несколько ближе к функциональные, чем scala, а с точки зрения практики практически равен scala по возможностям, но под инфраструктуру дотнета.

anonymous
()

Может быть достаточно взять scala, и убить сразу двух зайцев: изучить востребованный на рынке язык

scala

востребованный на рынке язык

umren ★★★★★
()

ИМХО, если ты не математик, где программирование лишь доп. инструмент, то ФП сейчас стоит учить если ты уже состоявшийся разработчик или вообще не собираешься этим зарабатывать, проще сначала научится тому, чем гарантировано будешь заниматься, иначе бедет сложнее переключаться между парадигмами

ЗЫ лишь моё ИМХО

Dred ★★★★★
()

Пишу на Scala, не рекомендую начинать с нее, Haskell в разы проще. Все-таки реальный мир привносит свое.

dizza ★★★★★
()

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

anonymous
()

стоит ли изучать

Дальше не читал. Стоит.

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

Если нет ничего более приоритетного, почему бы, собственно, и нет?

mix_mix ★★★★★
()

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

Бери лучше хаскель. Он знаешь какой, ух! На ЛОР'е, например, упоротых вследствие изучения скалы нет, чего не скажешь о х-е. Совпадение? Не думаю.

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

Как известно, haskell не очень-то хорош для продакшена

Пост занял 5 минут в перерыве прохождения туториала по haskell.

Расходимся, ребята. Это в каких таких тьюториалах такую информацию дают?

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

Похоже, очередной адепт уже готов - мозги вправлены в правильное русло. А всё-таки ты так и не ответил, откуда взялось утверждение, что хаскель не очень хорош для продакшена? Здесь это называют «пруфом».

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

А ты по вакансиям хотя бы глянь. И не нервничай так, я же не утверждаю что хаскелль не нужен. Ты как будто решил что «не готов к продакшену = плохо».

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

Попытался представить себя через год, или 2-3. Живу в Нью-Йорке, работаю прогером — куда мне переехать чтобы не тратить время впустую?

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

там не только синтакс хуже, намного хуже что higher-rank types нету

nokachi
()

Скажу крамольную вещь, но по-моему Scala довольно далеко отстоит от функционального программирования, хотя местами схожесть есть.

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

по-моему Scala довольно далеко отстоит от функционального программирования

Внезапно это зависит от того, что понимать под «функциональным программированием», а то у каждого гика в голове свое оригинальное видение.

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

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

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

Живу в Нью-Йорке, работаю прогером — куда мне переехать чтобы не тратить время впустую?

Да все что угодно лучше, чем обоссаный Нью-Йорк.

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

хаскелл не готов к продакшену
продакшн не готов к хаскеллу

Если гора не идет к Магомету то Магомет идет к горе

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

Нее. Хаскеллу нельзя преднамеренно идти к неготовому продакшену. Потому что avoid success at all costs. :)

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

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

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