LINUX.ORG.RU — Русская информация об ОС Linux

[#]  
ott

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

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

  • Лисп — абстракции на стероидах. Виталий Маяцких.
  • Clojure, или «Вы все еще используете Java? тогда мы идем к вам». Алекс Отт.
  • Пределы выразительности свёрток. Виталий Брагилевский.
  • Сечения композиции как инструмент бесточечного стиля. Денис Москвин.
  • Мономорфизм, полиморфизм и экзистенциальные типы. Роман Душкин.

Обсуждение номера и отдельных статей

>>> Новый номер в разных форматах

Метки: clojure, lisp, журнал, программирование, пфп, фп

ott ***** (25.02.2010 19:30:40)
Проверено: anonymous_incognito (25.02.2010 21:41:44)
Juick

[#]  
helios

> Вывод напрашивается сам собой: если вы хотите иметь общие темы для разговора с девушками, которые через каких-то 5-7 лет будут писать приложения на OCaml и Erlang за соседним с вами столом, читайте наш журнал!

По-моему ребят жестоко обманули :)

helios *** (25.02.2010 21:18:36)
[#]  

Пока элита уродуется со своим лиспом, нормальные люди пишут на С++

e3d08dff (25.02.2010 21:47:29)
[#]  

Очередной толстый журнал для русской интеллигенции? А скажите а там твердые знаки в конце слов везде проставлены или это за отдельную плату?

anonymous (25.02.2010 21:49:21)
[#]  
shahid

Re: Новый номер журнала «Практика функционального программирования»

Отличный журнал. Спасибо за ваш труд!

// Кнопка донейта для ЯДенег бесшумно перекидывает на страницу c invalidToAccountNotFound invalidSum, если не включить JavaScript.

shahid ***** (25.02.2010 21:57:48)
[#]  
kost-bebix

Журнал очень крутой, особое спасибо за внимание к шрифтам и оформлению. Обязательно почитаю и этот номер.

kost-bebix ** (25.02.2010 22:04:21)
[#]  
Kuka

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

Kuka ** (25.02.2010 22:04:41)
[#]  
bioreactor

Почитаем-почитаем

bioreactor *** (25.02.2010 22:09:51)
[#]  

Глянул мельком статью Дениса Москвина

>( ⋅ (( ⋅ ) ⋅ ( ⋅ ) ⋅ ( ⋅ ))) ⋅ ( ⋅ ) ⋅ ( ⋅ ) ⋅ ( ⋅ ) ⋅ ( ⋅ )


Это попахивает Haskell obfuscated code contest :)

p.s. Спасибо за работу, почитаем.

ratatosk * (25.02.2010 22:10:19)
[#] Ответ на: комментарий от e3d08dff 25.02.2010 21:47:29  
ott

ага-ага, вижу я код "нормальных" людей - поубывал бы....

ott ***** (25.02.2010 22:12:26)
[#]  

Ну что, унылые хаскеллоиды объявили крестовый поход против ООП?

this = dick.blowjob(this);

anonymous (25.02.2010 22:24:29)
[#]  

Алексей (@ott), расскажите, пожалуйста в ближайших выпусках вашего журнала, про реальное применение функциональных языков программирования: какие крупные, известные и уникальные системы и приложения написаны на ФЯП; был бы интересен их краткий обзор, описание используемых технологий, какие-нибудь факты, анализ конкурентов и прочее. Без этого журнал воспринимается как исключительно академический -- хотя прекрасно понятно сколько сил вложено в его создание. Спасибо.

anonymous (25.02.2010 22:27:57)
[#] Ответ на: комментарий от anonymous 25.02.2010 22:27:57  
ott

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

могу немного рассказать про flightcaster - стартап, который использует clojure для machine learning на больших объемах данных в распределенной среде. в этом проекте используется библиотека incanter...

ott ***** (25.02.2010 22:31:09)
[#]  
Fen1x

Отдельное спасибо за обзор языка Clojure, почитаю на досуге.

Fen1x (25.02.2010 22:33:54)
[#]  
yoghurt

Клево

Молодцы, спасибо!

yoghurt ***** (25.02.2010 22:35:39)
[#] Ответ на: комментарий от ott 25.02.2010 22:31:09  
yoghurt

Расскажите, было бы очень интересно :)

yoghurt ***** (25.02.2010 22:38:16)
[#] Ответ на: комментарий от anonymous 25.02.2010 22:24:29  
dimon555

>Ну что, унылые хаскеллоиды объявили крестовый поход против ООП?

на Руси грешно смеяться над убогими и прочими блаженными

dimon555 **** (25.02.2010 22:39:31)
[#] Ответ на: комментарий от yoghurt 25.02.2010 22:38:16  
ott

дык детали - это основной секрет и есть. в общих чертах - они используют данные по опозданиям рейсов по всем штатам, погодные сводки и т.п. вещи, и строят модель для конкретных рейсов/компаний/аэропортов... Там очень много вычислений, все крутится в hadoop кластере, развернутом на amazon elastic cloud

ott ***** (25.02.2010 22:43:24)
[#] Ответ на: комментарий от anonymous 25.02.2010 22:27:57  
Kuka

Я таки не Отт, но позволю себе добавить кое-что, поскольку Отт ответил однобоко и неохотно.

> про реальное применение функциональных языков программирования

Это как раз являлось лейтмотивом второго и третьего выпусков журнала. Попытка, цитирую, "поднять дискуссию о практической применимости ФЯП на новый уровень" провалилась с треском; рекомендую ознакомиться с содержимым №№2-3 журнала, а также, если хотите, с моими рецензиями на них.

Вкратце: было показано, что ФЯП находят практическое применение в узкой нише, ограничивающейся написанием DSL и некоторыми специфичными задачами моделирования дискретной логики. Как и десять, и двадцать, и тридцать лет назад. Видимо, после этого фиаско авторы оставили попытки показать практическую применимость ФЯП, и предлагают отныне интерпретировать "практику" как "практические приемы и методы программирования" (перевожу - code snippet'ы). Так что,

> журнал воспринимается как исключительно академический

Ваше восприятие вас не обманывает.

Kuka ** (25.02.2010 22:50:54)
[#]  
dimon555

Обложка рулит :))

dimon555 **** (25.02.2010 22:52:43)
[#] Ответ на: комментарий от Kuka 25.02.2010 22:50:54  
psv1967

если задача решается в DSL, то почему это не заслуга ФЯП на котором написан DSL? нет ли здесь антисемитизма?

psv1967 ** (25.02.2010 22:56:33)
[#] Ответ на: комментарий от Kuka 25.02.2010 22:50:54  
Absurd

>что ФЯП находят практическое применение в узкой нише, ограничивающейся написанием DSL и некоторыми специфичными задачами моделирования дискретной логики

Компьютеры вообще-то для этого и создавались изначально. Если заменить DSL на язык ввода информации для обработки, конечно.

Absurd *** (25.02.2010 23:10:26)
[#]  
cisco

да, обложка красивая )

cisco (25.02.2010 23:13:17)
[#] Ответ на: комментарий от e3d08dff 25.02.2010 21:47:29  
impfp

Ну что же, нормальный людь, тогда приведите аналог то же самое на С++:

(set 'increase-order
     (lambda(main-connective)
        (expand (lambda()
                   (let ((tmp1 (args)))
                        (expand (lambda-macro()
                                   (eval (let ((tmp0 (args)))
                                              (cons 'main-connective
                                                    (map (lambda(x)(cons x tmp0))
                                                               'tmp1)))))
                                'tmp1)))
                 'main-connective)))

Функция хоть небольшая, но работу по кодингу уменьшает.

impfp * (25.02.2010 23:13:31)
[#]  
kda

> Clojure, или «Вы все еще используете Java? тогда мы идем к вам».

Использовал, использую и буду использовать.

kda ***** (25.02.2010 23:14:55)
[#] Ответ на: комментарий от cisco 25.02.2010 23:13:17  
impfp

Насколько помню, это "Barbie IT"

impfp * (25.02.2010 23:15:44)
[#]  

Понравилась средняя статья. Две выше неинтересные, две ниже непонятные.

anonymous (25.02.2010 23:16:51)
[#] Ответ на: комментарий от kda 25.02.2010 23:14:55  
ott

напишите аналог ant.clj на java?

ott ***** (25.02.2010 23:17:53)
[#]  

Замечательная новость!

Просто, отличная.

anonymous (25.02.2010 23:18:12)
[#] Ответ на: комментарий от ott 25.02.2010 22:12:26  
impfp

+100500 :(

impfp * (25.02.2010 23:18:16)
[#]  
impfp

tag "пфп" не символизирует в силу абсолютного одиночества.

impfp * (25.02.2010 23:33:10)
[#]  

Спасибо, уже читаю.

Wizard_ * (25.02.2010 23:58:30)
[#]  
eternity

Про Closure интересненько.

eternity * (26.02.2010 0:11:27)
[#] Ответ на: комментарий от impfp 25.02.2010 23:13:31  
        __asm__ __volatile__("mrs %0, cpsr\n"
                             "orr %1, %0, #0xc0\n"
                             "msr cpsr_c, %1"
                             : "=r" (old), "=r" (temp)
                             :
                             : "memory");

Напиши аналог на лиспе.

anonymous (26.02.2010 1:18:12)
[#]  

Душкин как всегда нагнал пурги, нафиг нужен бесточечн стиль если его в Н раз сложнее понять тоже не ясно...

Хаскель не нужен.

anonymous (26.02.2010 2:33:29)
[#] Ответ на: комментарий от e3d08dff 25.02.2010 21:47:29  

> нормальные люди пишут на С++

Нормальные люди вообще код не пишут. Код пишут лакеи нормальных людей. За миску бобов.

anonymous (26.02.2010 3:00:58)
[#] Ответ на: комментарий от anonymous 26.02.2010 1:18:12  

(local-irq-fiq-disable)

anonymous (26.02.2010 4:15:57)
[#]  

JavaScript и C#

А вот скажите, люди добрые, чем вам JavaScript и C# (версии >=3.5) не функциональные языки? Lambda есть, closure есть. Вопщем, Haskell и Lisp фтопку сдать в музей.

anonymous (26.02.2010 5:16:24)
[#]  
ip1981

Когда не о чем писать, помести на обложку красивое лицо.

ip1981 ## (26.02.2010 6:34:45)
[#]  

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

"Clojure, или «Вы все еще используете Java? Тогда мы идем к вам!»" - у лисперов нет стандарта, учите еще одну модификацию

"Пределы выразительности свёрток." - нам в очередной раз покажут как просто на лиспе вычислять факториал

"Мономорфизм, полиморфизм и экзистенциальные типы" - показывается, что по сравнению с С++ в лиспе все делается через жопу

lester **** (26.02.2010 6:51:20)
[#] Ответ на: комментарий от lester 26.02.2010 6:51:20  

> "Мономорфизм, полиморфизм и экзистенциальные типы" - показывается, что по сравнению с С++ в лиспе все делается через жопу

Lol, так фапать на лисп ))

>>-----Цитата---->>

цитатен оригинала

Аннотация

В статье описываются экзистенциальные типы данных и их применение в функциональной парадигме программирования. Даются определения необходимых понятий — мономорфизма, полиморфизма (высших рангов) и их связи с экзистенциальными типами. Примеры определений типов и функций для их обработки приводятся в основном на языке программирования Haskell(sic !!).

<<-----Цитата----<<
elipse *** (26.02.2010 7:28:25)
[#] Ответ на: комментарий от elipse 26.02.2010 7:28:25  

> Haskell

думаешь я читал? :)

lester **** (26.02.2010 7:39:26)
[#] Ответ на: комментарий от lester 26.02.2010 7:39:26  

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

lester **** (26.02.2010 7:40:39)
[#]  
dave

Интересные статьи.

dave ***** (26.02.2010 9:15:30)
[#] Ответ на: комментарий от e3d08dff 25.02.2010 21:47:29  

> Пока элита уродуется со своим лиспом, нормальные люди пишут на С++

Времена меняются, однако. Безмозглое быдляцкое отродье теперь гордится не вижулвасиком, а цепепе.

anonymous (26.02.2010 9:44:38)
[#] Ответ на: комментарий от anonymous 26.02.2010 9:44:38  

> Безмозглое быдляцкое отродье теперь гордится не вижулвасиком, а цепепе.

и это время уже прошло - теперь на пике "популярности" лисп

lester **** (26.02.2010 9:45:24)
[#] Ответ на: комментарий от e3d08dff 25.02.2010 21:47:29  

> Пока элита уродуется со своим лиспом, нормальные люди пишут на С++

Это не ты там в Development утверждал, что лучший способ избежать коредампов -- повесить пустой обработчик на SIGSEGV, "нормальный" человек?

kemm * (26.02.2010 9:46:16)
[#] Ответ на: комментарий от anonymous 26.02.2010 4:15:57  

$ exec firefox

А тут я одной строчкой браузер написал.

anonymous (26.02.2010 10:31:42)
[#] Ответ на: комментарий от kemm 26.02.2010 9:46:16  
balodja

Ой, вот это реально палево. Парень совсем зеленый, тупой и жирный.

balodja *** (26.02.2010 10:35:13)
[#] Ответ на: комментарий от kemm 26.02.2010 9:46:16  

А это не ты у меня в подъезде нассал ?

anonymous (26.02.2010 10:36:34)
[#] Ответ на: комментарий от ott 25.02.2010 23:17:53  

> напишите аналог ant.clj на java?

Pascal Costanza на CL написал, с локами :)

anonymous (26.02.2010 10:39:07)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru