LINUX.ORG.RU

Haskell vs Ocaml.


0

1

Вот появилось немного свободного времени и решил изучить что-нибудь функционального. Дайте совет, с чего лучше начать из сабжа? Чтобы и в дальнейшем можно было применить.

anonymous

Haskell академичнее, Ocmal практичнее :) На Ocaml можно писать и функционально, и императивно. Ocaml быстрее.

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

>И вы бы на моем месте что стали учить? :)

Фиг знает, когда я учился, практично и круто было учить Си++ :D Элитарно - Форт...

...

Я бы из этих двух выбрал O'Caml, т.к. мне практика немного ближе. Да и, как уже говорил, он заметно шустрее, что тоже немаловажно.

...

Сам же последние 5 лет пишу исключительно на PHP, Java и немного - Forth, Python :)

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

> И вы бы на моем месте что стали учить? :)

Оба. OCaml, ИМХО, проще.

k_andy ★★★
()

Можно попробовать что-нибудь современное - Scala. А можно неувядающую классику - Scheme.

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

> Можно попробовать что-нибудь современное - Scala.

Я тоже на него поглядывал, но возможности метапрограммирования в ней убогие (если вообще есть), да и XML, встроенный в язык, мягко говоря не радует...

anonymous
()

И то и другое, и еще эрланг до кучи. Хаскель штука прикольная, там все что можно на комбинаторах построено. Даже >> и >>= - комбинаторы. >>=, кстати, >>= по сути дела - функциональная композиция :) А вообще, прежде чем разбираться с монадами нужно сначала вкурить что делает вот такой код (http://neilmitchell.blogspot.com/2008/03/toddlers-play-with-html-in-haskell.html):

[mp3 | TagOpen "a" atts <- parseTags txt
, ("href",mp3) <- atts
, takeExtension mp3 == ".mp3"]


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

> Фиг знает, когда я учился, практично и круто было учить Си++ :D Элитарно - Форт...

Такого никогда не было.

Всегда практично, круто и элитарно было учить Common Lisp.

А всё остальное учили от недостатка доступа к возможностям учиться. Не всем же в MITах учиться, есть и заборостроительные ВУЗики всякие.

> Я бы из этих двух выбрал O'Caml, т.к. мне практика немного ближе.

Что общего между "учиться" и "практика"?

> Сам же последние 5 лет пишу исключительно на PHP, Java

Бедненький

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

> Что общего между "учиться" и "практика"?

В случае с Common Lisp - ничего общего :)

Burbaka ★★
()

zaipali uzhe: Haskell vs OCaml vs CL vs Scheme vs PHP vs C vs C++ vs whatever!!!

Beri to chto nravit'sya i glupyh voprosov ne zadavaj.

anonymous
()

Haskell ломает мозг сильнее, так что учи его.

Miguel ★★★★★
()

Haskell - отобьет плохие привычки и направит мозг в функциональном направлении.

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

>Всегда практично, круто и элитарно было учить Common Lisp.
>
>А всё остальное учили от недостатка доступа к возможностям учиться.
Не всем же в MITах учиться, есть и заборостроительные ВУЗики всякие. 

Я русский бы выучил только за то что им разговаривал Ленин.

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

> Значит, просто, я немного постарше тебя, Петька, буду ;D

Лисп с конца 60х годов существует. А твои убогие C++-ы гораздо младше. Так что, дурик, ты мимо тазика пукнул.

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

>Лисп с конца 60х годов существует. А твои убогие C++-ы гораздо младше.

Ты очень удивишься, но я это лет 20 уже знаю :D Даже знаю, что Lisp существует не с конца 1960-х гг, а с конца 1950-х :D

Но, видишь ли, я не в 1960-х годах учился. Да и тогда Lisp популярен и практичен всё равно не был.

>Так что, дурик, ты мимо тазика пукнул.

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

Перечитай ещё раз, что писалось ранее, вдруг дойдёт?

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

> Ты очень удивишься, но я это лет 20 уже знаю

Боюсь, что ни хера ты не знаешь.

> Да и тогда Lisp популярен и практичен всё равно не был.

Лисп всегда был практичен, и всегда был популярен среди элиты (то есть, в самых лучших ВУЗах, центрах развития Computer Science).

Сказанул про "элитарно" - отвечай за базар.

> Нет, это ты даже близко не понял, что я хотел сказать.

Ты сказал, что выгодно, практично, и элитарно. Всё, что ты сказал, было враньём.

Я изучал Лисп в конце 80х ещё - это было актуально. В 90х это было актуально. Сейчас это актуально. А C++ всегда был не более чем попсой.

anonymous
()

с лямбда-исчисления и машины Чёрча. в дальнейшем сможешь применить хоть Haskell, хоть O'Caml, хоть Рефал. только "немного" свободного времени тебе всё равно не хватит, хочешь что-то учить - учи как положено

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

>и всегда был популярен среди элиты

Популярен != популярен среди элиты :)

Элитарен != поплуряен среди любой элиты.

Что у тебя с логикой? Что у тебя с осознанием окружающего мира?

>Я изучал Лисп в конце 80х ещё - это было актуально. В 90х это было актуально. Сейчас это актуально.

Ты живёшь в мире своих фантазий :)

>А C++ всегда был не более чем попсой.

Сообщение читаешь в браузере, написанном на Lisp? Под Lisp-OS? Или ты голимый пользователь попсы? :D

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

> Элитарен != поплуряен среди любой элиты.

Элитарен = популярен среди IT-элиты, если речь идёт о языке программирования. Популярность среди элиты фигурного катания, конечно же, не рассматривается.

> Ты живёшь в мире своих фантазий :)

Я живу в реальном мире. В настоящем, а не в той унылой жопе, в которой живёшь ты, вынужденный программировать на таком говне, как PHP.

> Сообщение читаешь в браузере, написанном на Lisp? Под Lisp-OS? Или ты голимый пользователь попсы? :D

ОС написана на Си. А браузер - это таки да, попса, как и большая часть всего прочего софта. Элиты мало, на то она и элита. Элита попсософт не пишет.

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

>А браузер - это таки да, попса, как и большая часть всего прочего софта

из этого как раз и следует, что учить C++ - практично. ну или было практично тогда, когда этот самый софт писался

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

> из этого как раз и следует, что учить C++ - практично. ну или было практично тогда, когда этот самый софт писался

Практично - это одно из условий. Ты забыл про "элитарно". Элита на C++ всегда смотрела с презрением, с самого его появления на свет.

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

>из этого как раз и следует, что учить C++ - практично. ну или было практично тогда, когда этот самый софт писался

Я пока знаю только один браузер, который не на Си/Си++ написан :D Но он написан тоже на «быдлоязыке», увы :) (WebRenderer)

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

>Элита на C++ всегда смотрела с презрением

А теперь - сеанс возвращения в реальный мир. Найди в этом топике строчку, в которой хоть кто-то утверждал про элитарность Си++ :D Или тебе нравится изрекать банальности с умным видом их первооткрывателя?

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

>Haskell академичнее, Ocmal практичнее :)

Однако OCaml никто не использует, а Haskell имеет огромное community и туеву хучу либ.

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

>Однако OCaml никто не использует

Из используемого софта у меня на нём mldonkey работает, fquery и ещё что-то по мелочи.

>а Haskell

А вот на Хаскелле у меня никакого софта нет :)

>имеет огромное community и туеву хучу либ

Ну, по Tiobe Haskell популярнее. Но ещё популярнее тогда те же Smalltalk или Groovy :D

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

>Элита попсософт не пишет.

Порвало на куски. Это лисп-то элитарен? Лисп - нишевый продукт. Существует несколько разработчиков, которые занимаются производством дорогущих лисп-систем за бешеные, недоступные простому смертному бабки, и поставляемых под изуверской лицензией. И некоторое количество потребителей, разрабатывающих сугубо нишевые решения. Количество разработчиков-профессионалов мало... Хочешь называть такое положение вещей элитарным, да пожалуйста, сколько угодно.

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

А было бы кстати... Ибо нужно как-то разбираться с той кучей говна, которую наплодили под яву и нет. Вообще есть ерланг, но тоже пока еще без нормальной аудитории (как целевой, так и разработчиков), да и сам язык шероховатый слегка, а вот как application environment - выше вских похвал. GHC намного лучше с точки зрения языка, а вот как среда еще слишком сырой и без реальных перспектив просушки. И козырным тузом в рукаве ненаглядной M$ лежит F# - диалект ML, да и большинство разработчиков GHC работают на M$. Так что или сейчас или никогда.

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

>> Common Lisp

>> _функционального_

А OCaml - функциональный? Это Лисп без скобок, даже хуже.

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

Я не виноват, что Groovy за короткий промежуток времени вырвался вперед, а OCaml остался сидеть в заднице.

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

> Так что или сейчас или никогда.

Сейчас или никогда что?

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

> Это лисп-то элитарен?

Ещё как.

> Лисп - нишевый продукт

Обосновать слабо?

Лисп ведь и не изобрели даже, а ОТКРЫЛИ, поскольку он фундаментален, как законы природы.

> "I think it's the only computer programming language that is mathematically respectable, because it's the only one that I can prove theorems about! > — Gregory Chaitin "

> Хочешь называть такое положение вещей элитарным

Мы не про "продукты" говорим, а про знания.

> И козырным тузом в рукаве ненаглядной M$ лежит F# - диалект ML, да и большинство разработчиков GHC работают на M$. Так что или сейчас или никогда.

А вот тут всё верно - потому и надо учить OCaml сейчас. И конечно же Лисп, чтоб вообще хоть что-то понимать. :)

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

Ладно, я обосрался. Ты сказал "круто", а "элитарно" было про Форт (который как раз таки ни разу не элитарный, а практичный и нишевой). Что "крутого" в C++ в тусовке, отличной от жующих на лавочке семки гопников я не представляю, однако.

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

>> Лисп - нишевый продукт

> Обосновать слабо?

Если продукт не нишевый, то на нём есть широкий спектр популярных продуктов. От ОС и браузеров до музыкальный плейеров и просмотрщиков картинок.

Список таковых на Lisp'е - в студию :)

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

>Что "крутого" в C++ в тусовке, отличной от жующих на лавочке семки гопников я не представляю, однако.

«Крутизна» (точнее, одна из трактовок) - это, как раз, и есть категория такого рода :)

И я помню массу именно таких, «гопников от программирования», доказывавших, что всё, кроме Си/Си++ - хлам :)

Сейчас такие тоже есть, но это уже другая категория народа. Грубо говоря, не гопники, а блондинки от программирования :D

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

> Если продукт не нишевый, то на нём есть широкий спектр популярных продуктов. От ОС и браузеров до музыкальный плейеров и просмотрщиков картинок.

Нет честно, я не хотел это говорить, но Emacs, все что ты перечислил в нем есть :)

// :(

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

> Если продукт не нишевый, то на нём есть широкий спектр популярных продуктов.

Это если он вообще является "продуктом", ага.

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

> И я помню массу именно таких, «гопников от программирования»,

А кто на эту шпану когда либо вообще внимание обращал?

> Грубо говоря, не гопники, а блондинки от программирования :D

Дай угадаю.... Это те, кто на PHP программирует?

Кстати, ты так и не объяснил, что лично тебя в PHP держит. Зная Форт можно и получше в жизни устроиться.

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

>Нет честно, я не хотел это говорить, но Emacs, все что ты перечислил в нем есть :)

И что там за баблиотека для просмотра JPEG? Она тоже на ELisp написана? ;) Кстати, Emacs - он не на голом Lisp, однако... :D

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

>Грубо говоря, не гопники, а блондинки от программирования

сомнительно. как по мне "крутизна" C++ во все времена была связана с его сложностью - многочисленные техники программирования, многочисленные хаки со страшными названиями, многочисленные книги с различными трактовками различных подходов к проектированию. кто-то доходит до STL, кто-то до Boost, кто-то до Loki - а кто-то пишет свою boost.lambda. кто-то применяет вручную написанные хип-менеджеры и memory pool'ы, кто-то эффективно использует шаблоны выражений и SFINAE. сложность - вот что делает C++ "крутым" языком, возможность оторваться от окружающих на год/полтора обучения

это всё ни в коем случае не в защиту C++ (хотя можно бы было). просто "блондинки от программирования" это как раз PHP, VB6, Delphi - что угодно, но не C++

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

>Это если он вообще является "продуктом", ага.

А то язык программирования - не является продуктом в общем случае? :) Кто-то же его делал, он же не сам зародился? Значит - произведён. Значит - продукт.

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

> сомнительно. как по мне "крутизна" C++ во все времена была связана с его сложностью

Мы, комсомольцы, без трудностев не могём?

Вся сложность C++, все его проблемы созданы самим же языком. Это не сложность решаемых с его помощью задач, это сложность (неоправданная) инструмента. А "крутизна" - это просто мода. В среде гопников.

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

> А то язык программирования - не является продуктом в общем случае?

Не всякий. Такой, как Лисп, определённо не является (как, кстати, и Форт). Это технология, методология, идеология, мат. модель, мировоззрение. Но никак не продукт.

> Кто-то же его делал, он же не сам зародился?

Сказано же - его открыли, а не придумали. Он фундаментален.

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

>Мы, комсомольцы, без трудностев не могём?

кретин. ты читать умеешь ?

>Вся сложность C++, все его проблемы созданы самим же языком

я с этим где-то спорил ?

>А "крутизна" - это просто мода

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

>В среде гопников

судя по стилю ведения дискуссии тебе в этой среде уютно

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