LINUX.ORG.RU

Сфера применения haskell, lisp, scheme? и др. функциональщины?


0

0

Эти языки интересны и сейчас начал изучение (со scheme по sicpу), но кроме просто интереса к языку еще интересно и то, где он применяется. Какие сферы применения этих языков, реально ли применять их знание (ну и функционального подхода в целом) на практике?

Что можете посоветовать почитать на тему функционального и не только программирования?

Пока читаю sicp, в дальнейшем планы на real world haskell или yaht, Кнута. Надо бы еще дискретную математику осилить, что по ней почитать? Желательно чтобы книга была достаточно строга, т.е. освещала не только практическую ее сторону.

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

>Надо бы еще дискретную математику осилить, что по ней почитать?

Мой конспект

xTERM ★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

Сферы применения в реальном мире - сны программиста, когда он наипется с C++ и ляжет спать ему снится лисп и бабы.

wfrr ★★☆ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> Надо бы еще дискретную математику осилить, что по ней почитать?

Андерсона.

Hjorn ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

>Сфера применения haskell, lisp, scheme? и др. функциональщины?

Писькомерство. )

А так, да, сфера применения одна - "enlarge your brain".

anonymous ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

Установи GNU Emacs и изучи ELisp по встроенной документации. Тогда ты сможешь писать расширения для Emacs, а это уже большое дело.

Скачай исходники Maxima и почитай их (после того как освоишь ELisp). Если будет интересно, изучи CLisp (Maxima на нём написана).

Вот и основные сферы применения lisp на данный момент: хакинг Maxima и GNU Emacs.

MATAH ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

Да, неплохая книга, но многие вещи *или все* описаны весьма поверхностно. Но есть несомненный плюс, написано крайне понятно. *До сих пор помню лемму Бернсайда*

anonymous ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

>Скачай исходники Maxima и почитай их (после того как освоишь ELisp). Если будет интересно, изучи CLisp (Maxima на нём написана).

Т.е. вы хотите сказать, что для изучения Common lisp'a, на котором написана Maxima, надо учить Emacs Lisp?

Или вы хотите сказать, что Maxima написана на реализации Common Lisp'a - Clisp'е?

marsijanin ★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> Да, неплохая книга, но многие вещи *или все* описаны весьма поверхностно.

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

Hjorn ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> вы хотите сказать, что для изучения Common lisp'a, на котором написана Maxima, надо учить Emacs Lisp?

Нет, я хочу сказать, что ELisp проще в изучении, и уж если душа ляжет к нему, то можно и за CLisp браться.

ВАЖНЫЙ МОМЕНТ: любой ЯП следует изучать на примерах в первую очередь, благо СПО нынче много, а в случае с Emacs и ELisp исходники всегда под рукой, и их можно протранслировать одной-единственной командой.

MATAH ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

ИМХО -- академические исследования.

И зарабатывание бабла на лохах, что более чем успешно продемонстрировал Пол Грэм.

Die-Hard ★★★★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

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

anonymous ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> кроме просто интереса к языку еще интересно и то, где он применяется. Какие сферы применения этих языков, реально ли применять их знание (ну и функционального подхода в целом) на практике?

Создатель Дельфи, Хайзелберг, утверждает публично, что будущее за функциональщиной и метапрограммированием. Если уж он так считает, то остальным точно пора бегом осваивать это дело.

anonymous ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> ИМХО -- академические исследования.

Программная верификация железа - это "академические исследования"?

anonymous ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> Да

Забавное мнение. Без таких "академических исследований" ты бы железо до сих пор втридорога покупал.

anonymous ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> Забавное мнение. Без таких "академических исследований" ты бы железо до сих пор втридорога покупал.

А без исследований Эдиссона с Яблочковым я бы сейчас это сообщение при лучине писал бы :-)

Die-Hard ★★★★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

есть мнение, что XSLT это функциональный язык..

dilmah ★★★★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> Эддисона, махрового практика-инженера, в академюхи уже записали? OMG!

Его назвали исследователем, коим он и являлся.

tailgunner ★★★★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> Эддисона, махрового практика-инженера, в академюхи уже записали? OMG!

В те времена не было такого уж строго деления на инженеров и физиков.

А в современной ИТ сфере все "ученые" и по подходам, и по менталитету ближе к инженерам.

Die-Hard ★★★★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

Академические исследования и прикладные - как бы малость разные вещи.

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

anonymous ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

>Какие сферы применения этих языков,

DSL

>реально ли применять их знание (ну и функционального подхода в целом) на практике?

Да, легко. Но практически маловероятно найти вакансию, где нужно ФП.

imp ★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> В случае с той же верификацией - этим приходится заниматься всем, кто разрабатывает любое железо. А не так, что один раз крутой институт наресёчил, опубликовал, и все пользуются потом.

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

// wbr

klalafuda ★☆☆ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

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

ps: своим заявлением я, скорее, хочу несколько ослабить чрезмерно сильное утверждение "всем" нежели сказать, что он в этой области не нужен. кому то нужен, а кому то и нет.

// wbr

klalafuda ★☆☆ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

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

Оно (или еще что-то функциональное) вполне могло скрываться в недрах используемой вами среды разработки железа. Скажем, в компиляторе VHDL :)

tailgunner ★★★★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> Оно (или еще что-то функциональное) вполне могло скрываться в недрах используемой вами среды разработки железа. Скажем, в компиляторе VHDL :)

вполне возможно, что так они и было - охотно верю. но с точки зрения конечного пользователя который в действительности занимается тем, что указанно а именно - разрабатывает железо - в принципе совершенно параллельно что там и как скрывается внутри компилятора VHDL и как и на чём он написан. ему главное, чтобы работало. с этим, думаю, все согласятся? :)

// wbr

klalafuda ★☆☆ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?


бо тогда примерно с таким же успехом можно сказать, что мол "всем в Канаде нужен QNX" в силу того, что AFAIK он там используется [или использовался] как часть системы управления трафиком - светофоры и тд и тп. а водителей в Канаде как у нас снега зимой. но ведь всем же очевидно, что на самом деле он - QNX - там нафик никому не сдался. по пальцам пересчитать можно кому он действительно все ещё нужен.

// wbr

klalafuda ★☆☆ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

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

Верно. Насчет "академических" я, возможно, погорячился.

Я имел в виду не столько "академические", сколько "теоретические" исследования. ИМХО ни одного примера серьёзной "толстой" системы на функциональном языке не существует. Иногда они используются в "толстых" проектах в качестве клея (по причине того, что изначальный архитектор фанател от функциональщины), но при первой возможности их обычно заменяют чем-либо более близким к менталитету индусов (и прочих не-фанатов).

Функциональные языки близки к формальной альфе, которая математически более строга, чем формализм машины Тьюринга. Поэтому теоретикам иногда (не всегда) проще оперировать функциональным языком. Но и человек, и компьютер "мыслят" императивно. Даже математики свои статьи пишут "императивно", чего уж про инженеров говорить...

А индусам не до функциональщины -- они умеют нажимать кнопки. Строго посередине. И их в ИТ мире -- большинство. На них стоИт Индустрия.

Die-Hard ★★★★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

>Вычисления факториалов, чисел фибоначчи и потрясание пиписькой на форумах

Ты забыл про быструю сортировку

xTERM ★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> haskell, lisp, scheme

Так это же не специализированные языки. Разве что, если предположим ты математик, то может быть ФЯП будет привычнее.

Насчет работы, тут пофигу если ты Ъ и можно выбрать инструмент. Только вот если работать на дядю, они обычно побаиваются всего, что академическое.

anonymous ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

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

DonkeyHot ★★★★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

Частенько используют для "быстрого" написания прототипа какой-нибудь программы с целью отработки архитектуры. Потом это все переписывается по кускам на православный си, к примеру.

Еще они занимают очень неплохую нишу в компиляторах.

balodja ★★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> Только вот если работать на дядю, они обычно побаиваются всего, что академическое.

Дяди очень разные бывают. Есть например дядя Microsoft, который F# включил в VS2010.

anonymous ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> которая математически более строга, чем формализм машины Тьюринга

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

> Но и человек, и компьютер "мыслят" императивно.

Это не так. Большинство студентов впадает в ступор от записи "x = x + 1". Потому что знают, что у этого уравнения нет решений. И очень сильная ломка ума требуется для осознания того, что это "разрушающее присвоение".

> А индусам не до функциональщины -- они умеют нажимать кнопки.

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

anonymous ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> Большинство студентов впадает в ступор от записи "x = x + 1". Потому что знают, что у этого уравнения нет решений.

Для таких придумали запись "x := x + 1"

> Чисто функциональным языком Excel пользуется гораздо больше людей, чем всеми императивными языками, вместе взятыми.

Что такое "язык Excel"? VBA - трижды насквозь императивный.

tailgunner ★★★★★ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

> Что такое "язык Excel"?

"Света, мне нужна таблица со сметой за февраль"

> VBA - трижды насквозь императивный.

wtf is vba? Sveta rocks!

// wbr

klalafuda ★☆☆ ()

Re: Сфера применения haskell, lisp, scheme? и др. функциональщины?

>> Чисто функциональным языком Excel пользуется гораздо больше людей, чем всеми императивными языками, вместе взятыми.

> Что такое "язык Excel"? VBA - трижды насквозь императивный.


Язык ёкселя --- это =A1+SUM(B2:C6)

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