LINUX.ORG.RU

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

 , , ,


1

0

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

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

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

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

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

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

★★★★★

Проверено: maxcom ()

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

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

eduard_pustobaev ★★ ()

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

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

yoghurt ★★★★★ ()

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

Отлично

runtime ★★★ ()

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

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

kost-bebix ★★ ()

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

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

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

jtootf ★★★★★ ()

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

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

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

kost-bebix ★★ ()

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

> Smalltalk

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

kost-bebix ★★ ()

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

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

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

kost-bebix ★★ ()

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

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

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

anonymous ()

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

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

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

AP ★★★★★ ()

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

Спасибо за ваш труд!

Werehuman ★★ ()

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

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

ASM ★★ ()

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

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

Yredelemnul ()

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

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

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

slav ★★ ()

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

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

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

anonymous ()

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

Комюнити же.

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

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

batonius ()

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

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

Sun-ch ()

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

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

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


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

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

kost-bebix ★★ ()

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

лиспе выражение 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 ★★★★★ ()

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

Леш, тебе про "Дозор" писать еще не надоело? :)

gns ★★★★ ()

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

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

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

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

(+ (something)
   (somethingelse))

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

kost-bebix ★★ ()

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

Respect! Haskell rocks...

anonymous ()

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

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

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

расширяем протокол (читайте «интерфейс») стандартного класса 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 ★★★★★ ()

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

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

www.newlisp.org ?

capricorn20 ()

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

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

anonymous ()

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

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

напиши

jtootf ★★★★★ ()

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

``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 ★★★★ ()

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

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

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

sign ()

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

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

kost-bebix ★★ ()

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

Ну _про_ success story может и можно рассказать, а вот саму success story про Дозор -- ну... ты сам знаешь. :))

gns ★★★★ ()

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

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

Davidov ★★★★ ()

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

http://lampsvn.epfl.ch/trac/scala/ticket/1812 Пофикшен в 2.8 . Откуда такая предвзятость к языку? Не нравится платформа?

anonymous ()

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

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

ott ★★★★★ ()

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

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

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

r ★★★★★ ()

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

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

anonymous ()

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

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

Laz ★★★★ ()

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

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

gns ★★★★ ()

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

Отлично.

RUSDACent ()

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

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

ott ★★★★★ ()

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

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

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

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

anonymous ()

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

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

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

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

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