LINUX.ORG.RU

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

 , , , , , ,


0

0

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

  • Инструменты интроспекции в Erlang/OTP. Максим Трескин
  • Экономия ошибок. С. Зефиров, А. Сафронов, В. Шабанов, Е. Мельников
  • Введение в F#. Евгений Лазин, Максим Моисеев, Давид Сорокин
  • Лисп — философия разработки. Всеволод Дёмкин, Александр Манзюк
  • Оптимизирующие парсер-комбинаторы. Дмитрий Попов
  • Модель типизации Хиндли — Милнера и пример её реализации на языке Haskell. Роман Душкин

Также в этом номере опубликованы результаты конкурса, который был объявлен в 3-м номере журнала.

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

★★★★★

Проверено: maxcom ()
Ответ на: комментарий от oh

> Примеры: ejabberd, xmonad.

О да, замечательные примеры говнософта.

Вся эта гламурная функциональщина на практике вообще неприменима. Ни в общем, ни в нишах.

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

> Есть уверенность, что если завтра в автокатастрофу кто-то попадет,

то поддержка мипс не отвалится, к примеру.


Сообщество CL это не 10 человек, там есть люди в возрасте и некоторые умирают :( Другие просто перестают этим заниматься. Никаких катастрофический последствий для языка в этой связи не замечено. Беспокоит что-то конкретное? Ибо я не вижу каких-либо оснований для беспокойства.

пайтон обскачет CL по очень многим задачам,

в плане наличия библиотек.



Может быть, но существенно проиграет в мощности языковых средств, удобстве разработки и производительности приложений. Никто не может работать во всех областях сразу, какой прок от прекрасных библиотек, которые мне не нужны? Мне не хватало кое-чего в моей области, я написал (ориентируюсь, в том числе, на решения для Python) и теперь вопрос библиотек для меня не актуален.

Кроме того, в последние года в плане библиотек заметен весьма существенный прогресс.

не надо, правда не надо.


Угу, там даже строк нормальных нет.

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

>Есть уверенность, что если завтра в автокатастрофу кто-то попадет, то поддержка мипс не отвалится, к примеру.

Есть же многочисленные коммерческие реализации и свободные. Тут риски явно ниже чем даже в джаве/C#, не говоря уже о пхп, питоне или руби.

что пайтон обскачет CL по очень многим задачам, в плане наличия библиотек

Если нужно готовое в виде библиотек, то язык зачем тогда обсуждать?

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

> haskell для тех, кто любит созерцать «идеальные» конструкции. Это не инструмент созидания, а скорей способ размышлений о вечном ;)

";)" означает, что Вы о чем-то таком знаете? Боюсь у Вас слабовато с пониманием того, что и как на самом деле в мире Haskell.

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

Да, на самом деле этот какаскель и для «размышлений» не пригоден.

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

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

дак может загнать эту «стандартную» логику в модельку и работать с ней ? гуи тоже на ее основе в общей массе генерить, там удобный eDSL-чик для описания сделать и т.п. глядиш и производительность труда взлетит в разы, правда потом оппоненты будут не понимать как одна строка такого описания стоит 1000 боилерплейта :)

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

сила лиспа в том что он не ограничивает только предопределенными конструкциями и семантикой, а позволяет поднять уровень абстракции настолько высоко, насколько способен программист, к сожелению это сложнее для понимания, чем стандартная схема сравнения «обычных» языков/платформ (фишки/читаемость/переносимость/библиотеки/продакшин/раскрученность и пр.)

хотя даже по стандартной схеме сравнения _реально_ напрягает только уже меньший дефицит свободных библиотек. Продакшин ? у cl ANSI стандарт и как минимум 8 активных реализаций (включая 3 коммерческие) - у кого больше ? и кого проблемы с комьюнити ?) - вероятно это все кому-то нужно ...

ps
хорошо бы, местным критикам cl отвлечься от своих субъективных проблем с ним, и показать на примере задачи matumba преимущества своих инструментов и подходов.

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

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

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

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

>найдется десяток, если не сотня питонщиков, которые думают

ну вот пусть и дальше себе фантазируют, что они что-то там думают.

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

Очень даже не спорный вопрос - по скорости cl порвет питон. А то, что там думают питонщики... пускай себе думают.

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

> Очень даже не спорный вопрос - по скорости cl порвет питон.

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

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

>Но... не рвет, вот ведь незадача.

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

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

>> Но... не рвет, вот ведь незадача.

можно цепочку рассуждений

В последнем предложении «рвет» - «используется шире, чем». Использования лиспа я не вижу вообще (только не надо начинать про тайные команды суперпрограммистов, работающих над суперпроектами).

Или у тебя какое-то другое определение «рвет»?

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

> PHP рвет всех тогда

в своей узкой области - да, но я бы не сказал, что это означает «используется шире, чем»

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

> Ну как, в вебе php используется шире, чем python/perl/ruby.

Я знаю. Но использование всё же perl/python/ruby составляет значительную долю - более значительную, чем использование лиспа в, наверное, любой области (кроме AI).

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

>Но использование всё же perl/python/ruby составляет значительную долю - более значительную, чем использование лиспа в, наверное, любой области (кроме AI).

а линуксом вообще одинпроцент пользуется. толпа всегда права?

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

> все быдло кроме цлисперов.

Это ваша ночная фантазия? Или к чему сказано?

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

> Вы, однако, любите перевирать.

Вас, анонимусов, невозможно переврать - нет такой глупости, которую хоть один из вас не сказал :) Ты говорил про скорость, другие говорили про бибилиотеки, REPL, SLIME, макросы...

Я сказал, что порвет по СКОРОСТИ. И это очевидно.

Порвет, конечно. Потом питонщик достанет из рукава Psyco, NumPy и Cython, и всё станет не так очевидно. Да и вообще, вычислительные задачи ни на Лиспе, ни на Питоне обычно не делаются.

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

>да, фигли, все быдло кроме цлисперов.

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

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

> Но использование всё же perl/python/ruby составляет значительную

долю - более значительную, чем использование лиспа


Наверное perl таки больше, чем python, а python больше, чем ruby. И о чём это говорит? В чём заключается мысль?

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

> вычислительные задачи ни на Лиспе, ни на Питоне обычно не делаются.

Угу, только Django-разработчики жалуются, что в процессе разработки это дело тормозит жутко, оно, конечно, вообще тормозит, но когда ещё система постоянно все перегружает... Это наверное вычислительная задача?

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

> Наверное perl таки больше, чем python, а python больше, чем ruby. И о чём это говорит? В чём заключается мысль?

В том, что пхп не так уж и рвет.

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

>> вычислительные задачи ни на Лиспе, ни на Питоне обычно не делаются.

Угу, только Django-разработчики жалуются, что в процессе разработки это дело тормозит жутко

И что? Многие жалуются на то, что кеды тормозят, а они вообще на Си++. Тормозную программу можно написать на любом языке. Пример из близкой мне области - Mercurial и Bazaar-NG. Оба на Питоне, но Mercurial временами обгонял Git, а Bazaar-NG всегда был жутким тормозом.

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

> В том, что пхп не так уж и рвет.

Хм, не понял логическую цепочку.

Хорошо, давай с другой стороны: сообществом php-программистов доказано, что ни perl, ни python, ни ruby, ни CL не нужны, и без них всё прекрасно работает. Так зачем всё это нужно? И какой смысл сравнивать CL с python, если python тоже не нужен, ибо есть PHP?

Тормозную программу можно написать на любом языке.


Да, но когда один язык быстрее другого раз этак в 50, то при прочих равных...

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

> FFI в Питоне - это ctypes, а не Cython.

Дык вроде обсуждали, что аналогом Cython и ctypes является CFFI.

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

> Хорошо, давай с другой стороны: сообществом php-программистов доказано, что ни perl, ни python, ни ruby, ни CL не нужны

да? Я вроде такого не говорил. Я так же не говорил, что Лисп не нужен. Мне даже нравится лисп (как идея), хотя я не хотел бы на нем программировать. Но вот разной степени невменяемости фанбои лиспа - это же просто праздник %)

Да, но когда один язык быстрее другого раз этак в 50, то при прочих равных...

См. Git vs Mercurial.

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

>а они вообще на Си++.

они не с++, и даже не на чистом QT. скорее всего тут дело в кустарном рантайме поверх плюсов. так что пример не показателен.

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

> Дык вроде обсуждали, что аналогом Cython и ctypes является CFFI.

Видимо, я с этим не согласился. Cython - это компилятор Python-to-C, ctypes - библиотека для FFI. Что такое CFFI в CL?

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

> они не с++, и даже не на чистом QT. скорее всего тут дело в кустарном рантайме поверх плюсов. так что пример не показателен.

Как раз поэтому пример и показателен - кривое программирование затормозит даже самы быстрый язык.

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

>>FFI в Питоне - это ctypes, а не Cython

И? Аналог среди CL - ECL.

Аналог? Я могу написать на ECL модуль и _прозрачно_ (без FFI) использовать его в SBCL?

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

>Cython - это компилятор Python-to-C

декларации типов + ffi:

Cython is a language that makes writing C extensions for the Python language as easy as Python itself. Cython is based on the well-known Pyrex, but supports more cutting edge functionality and optimizations.

The Cython language is very close to the Python language, but Cython additionally supports calling C functions and declaring C types on variables and class attributes. This allows the compiler to generate very efficient C code from Cython code.

P.S. В CL декларации есть из коробки, но питон же рвет...

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

>> Cython - это компилятор Python-to-C

декларации типов + ffi:

Python + декларации типов + компилятор. FFI там нет. Python C API используется, но это не FFI.

В CL декларации есть из коробки

Питон и питонщеги никогда и не претендовали на изобретение всех удачных идей в CS :)

но питон же рвет...

Чото я запутался - ты лиспер или питонщег? %)

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

>Ты на мой вопрос ответишь

как ты это себе представляешь? работа динамического рантайма с гц не совместима с тем что есть в си.

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

>> Ты на мой вопрос ответишь

как ты это себе представляешь?

Как я себе представляю ответ на мой вопрос? Вот так: «Нет, модуль на ECL нельзя вызывать из SBCL». И это будет значить, что ECL - ни разу не аналог Cython.

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

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

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

>Чото я запутался - ты лиспер или питонщег

Это сарказм. А так мне просто интересно, почему некоторые заявляют авторитетно, что лисп отстой, а c ... гарантирован успех. Пока я так и не понял почему они пришли к подобному заключению.

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

> Cython - это компилятор Python-to-C

Угу, срань та ещё. Cython - это просто костыль, чего его в пример то приводить?

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

tailgunner

Ты бы сказал, что у тебя просто идиосинкразия на CL. Зачем же так извращаться-то попусту.

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