LINUX.ORG.RU

Вышел 2-й выпуск журнала «Практика функционального программирования»

 , , ,


1

0

Вышел в свет второй выпуск журнала «Практика функционального программирования».

Центральная тема второго выпуска журнала — демонстрация применения функционального программирования в реальных, а не академических проектах.

Первые четыре статьи — Дмитрия Зуйкова, Дмитрия Астапова, Сергея Зефирова в соавторстве с Владиславом Балиным, и Алексея Отта — вытаскивают на поверхность «кухню» нескольких компаний. Статьи демонстрируют, что функциональные языки находят применение в промышленном программировании в самых разных нишах. Конечно, использование «нестандартных» языков накладывает на проекты некоторые сложно оценимые риски, и далеко не все из них рассмотрены в статьях. Но если статьи этого номера позволят развеять хоть часть сомнений, мифов и предрассудков и поднять дискуссию о применимости функциональных языков в промышленном программировании на новый уровень, мы будем считать свою задачу выполненной.

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

Завершающая статья Романа Душкина в большей степени ориентирована на теорию: она познакомит вас с концепцией алгебраических типов данных (АТД) в Haskell и других функциональных языках.

>>> Подробности

★★★★★

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

Тема выпуска радует. За труды создателям респект.

eduard_pustobaev ★★
()

Отличненько, спасибо авторам!

yoghurt ★★★★★
()

Мне дико нравится идея функционального программирования и синтаксис языка лисп, но лисп недостаточно скриптовой для меня (есть там некоторые костыли). Скжаите, нет ли такого же языка как лисп, только чтоб он был примерно как питон? Тоесть весь такой питон, но синтаксис вот этими списками и скобочками чтоб был.

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

>Скжаите, нет ли такого же языка как лисп, только чтоб он был примерно как питон?

какой именно частью как питон? есть dylan, например,- подойдёт?

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

> какой именно частью как питон? есть dylan, например,- подойдёт?

Ну, к примеру, работа со строками та же, насколько помню. Надо еще раз открывать книжечку про лисп что начинал читать. В общем, хочу питон, только с синтаксисом скобочками как у лиспа, понимаешь? Чтоб он был хакбл и нацелен на функциональное программирование всем своим синтаксисом.

kost-bebix ★★
()
Ответ на: комментарий от yoghurt

> Smalltalk

Не, он не хакбл как лисп с его скобочками, ибо в лиспе выражение a + b будет выглядеть как + a b, что делает его "хакбл" (если вместо a и b сделать монстров - будет все равно красиво, в этом прелесть лиспа).

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

> какой именно частью как питон? есть dylan, например,- подойдёт?

Поглядел - был красивым как лисп, сделали какашку как паскаль.

kost-bebix ★★
()

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

p.s. прочитал первый выпуск.

anonymous
()

> К третьему выпуску журнала мы планируем подготовить ещё несколько статей про Erlang.

Вы тогда уж Wings 3D вниманием не обойдите :)

AP ★★★★★
()

Респект! Давно хотел почитать что-нибудь про функциональшину. Кроме Душкина под руку ничего не попадалось.

ASM ★★
()

Ушёл читать. Материалы по этой теме всегда приветствую.

Yredelemnul
()

>Lisp уже давно не является фронтиром, «лицом» функциональной парадигмы, мы должны иметь смелость с ним попрощаться.

а мы должны попрощаться с вашим журналом.

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

Комюнити же.

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

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

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

ИМХО. Хаскелл - верный признак респектабельности конторы. Это тебе не бизнес-логику на явке писать.

Sun-ch
()
Ответ на: комментарий от slav

> > В общем, хочу питон, только с синтаксисом скобочками как у лиспа, понимаешь?

> http://pypi.python.org/pypi/sexpy - не оно?


You are my hero! (только без голубезны)

Спасибо, в общем, большое)

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

лиспе выражение a + b будет выглядеть как + a b

Знаем

если вместо a и b сделать монстров - будет все равно красиво

ну для монстров можно переопределить operator+ даже в С++ =)

P.S.

Smalltalk

Array extend [
    sum [ ^self inject: 0 into: [:sum :current | sum + current] ]
]
st> #(1 2 3 4 5) sum.
15
st> #(1 0.1 0.01 0.001) sum.
1.111

Ня?

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

Код не сильно понял (бегло проглядев - не въехал), но фразу

ну для монстров можно переопределить operator+ даже в С++ =)

вполне. Так вот, я не то (возможно) имел в виду. Я имел в виду, что в коде

(+ (something)
   (somethingelse))

при монстрозности выражений something и somethingelse они сдвинутся вправо (по мере их хаканья и дописывания). А перегрузка операторов здесь ни при чем (или это таки оно, просто я туплю, если да - дайте знать, пожалуйста). Я еще погляжу на sexpy, это вроде оно, если оно умеет юзать весь остальной питон (чтоб я мог «играться» с лисп-подобным синтаксисом, а использовать библиотеку обычную питоновскую при этом) - очень похоже на победителя))

kost-bebix ★★
()

Respect! Haskell rocks...

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

не сильно понял

Могу разжевать ^_^

расширяем протокол (читайте «интерфейс») стандартного класса Array новым сигналом (читайте «методом») sum

Array extend [
    sum [...]
]

Вызываем для себя inject:into: - т.е. проходимся по каждому элементу массива, вызывая для каждого блок кода (лямбду) [:sum :current | sum + current]. sum - аккумулируемое значение, current - значение текущего элемента в массиве, для которого вызван блок. Возвращаем аккумулированное значение (сумму элементов массива)

^self inject: 0 into: [:sum :current | sum + current]

Теперь, по аналогии со лисповыми (+ 1 2 3 4 5), можно делать так:

st> #(1 2 3 4 5) sum.
15

Viva la скобочки!

yoghurt ★★★★★
()
Ответ на: комментарий от kost-bebix

>Мне дико нравится идея функционального программирования и синтаксис языка лисп, но лисп недостаточно скриптовой для меня (есть там некоторые костыли). Скжаите, нет ли такого же языка как лисп, только чтоб он был примерно как питон? Тоесть весь такой питон, но синтаксис вот этими списками и скобочками чтоб был.

www.newlisp.org ?

capricorn20
()

Почему нет статей по Scala, имхо весьма перспективный язык и есть истории успеха его применения.

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

>Почему нет статей по Scala, имхо весьма перспективный язык и есть истории успеха его применения.

напиши

jtootf ★★★★★
()
Ответ на: комментарий от Sectoid
``foo.bar`` becomes ``(. foo bar)`` and ``foo.bar.baz`` becomes ``(. (. foo
bar) baz)``. ``bar`` and ``baz`` must be plain names here, while ``foo`` can be an
arbitrary expression.

To avoid unnessessary verbosity SEXpy supports ``foo.bar.baz`` notation (where
``foo``, ``bar``, and ``baz`` are plain names). In other words, Python's
``s.strip()`` can be written either as ``(s.strip)`` or as ``((. s strip))``,
while for ``s.strip().toupper()`` you have to write ``((. (. s strip)
toupper))``.

Кажется, в этой штуке замешан ero-sennin.

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

>Почему нет статей по Scala, имхо весьма перспективный язык и есть истории успеха его применения.

goole:scala bigdecimal divide - уже починили?

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

А, теперь понял, спасибо. И таки да, некрасиво (ибо вообще то, что это сумма читатель узнает лишь в конце, а потом обратно начнет листать код дабы аргументы прочесть).

kost-bebix ★★
()
Ответ на: комментарий от Davidov

Кстати, объясните мне, в этой штуке хоть какой-то смысл есть? Неужели питон со скобочками для кого-то будет, действительно, удобнее питона?

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

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

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

Сча мрачную шутку нашли в о всех версиях - называется try finally catch finally да-е-мое-finally.

Надеюсь будет фикс для ветки 2.7 ASAP, а то я скалу запихнул уже в продакшен:)

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

а можно как-нибудь взглянуть на исходники pdf-ки? уж очень красиво выглядит, хочется научиться так в Latex-е верстать. от себя могу предложить посильную помощь в чем-нибудь взамен

anonymous
()

Спасибо, почитаем-с.

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

напишите редактору

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

Как-то продавался... Не знаю, как сейчас. Собственно, "Дозор" -- наглядная демонстрация независимости инженерно-технологических решений и коммерческого успеха.

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

Дозор слишком рано появился (имхо) и его рано пытались продвинуть на американский рынок - тогда этой темой никто не интересовался, пока не было больших утечек. это потом выросли стартапы оперирующие модными словами DLP, Compliance, etc.

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

> развеять часть мифов

В самое яблочко.

По количеству мифов, созданных вокруг него фанбоями, Лисп превзойдёт Элвиса, торсионщиков, Вангу и тамплиеров, вместе взятых.

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

>> Lisp уже давно не является фронтиром, «лицом» функциональной парадигмы, мы должны иметь смелость с ним попрощаться.

> а мы должны попрощаться с вашим журналом.

да, когда уже эти анабиозники поймут, что лисп уже давно не столько ФП, столько МП?

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

> не столько ФП, столько МП?

не только и не столько ФП, сколько МП FIXED ; пардоньте =)

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