LINUX.ORG.RU

Распределённые приложения на Erlang

 ,


0

0

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

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

Спасибо. Прочитал статью.

Во-первых, слишком замутили то ли с примерами то ли с языком, В функции pong там вообще выглядит как бесконечная рекурсия.

Во-вторых, синтаксис языка немного напрягает. Простейшая мелочь: точки от запятых в конце строк отличать тяжело. Возможно и можно ко всем мелочам привыкнуть. Я сам программировал уже на десятке языков, включая Лисп и Питон.

В-третьих, идея интересна (может и не нова), но могли бы её лучше в виде поточно-сигнального модуля к тому же Питону прикрутить, больше бы толку было. Жду "import erlang" в Питоне :-)

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

> В функции pong там вообще выглядит как бесконечная рекурсия.

У вас комплексы по поводу бесконечной рекурсии? Или человек "уже быдлокодерствовавший на десятке языков, включая лисп" узнать про хвостовую не посчитал нужным?

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

>В-третьих, идея интересна (может и не нова), но могли бы её лучше в виде поточно-сигнального модуля к тому же Питону прикрутить, больше бы толку было. Жду "import erlang" в Питоне :-)

это ничего, что питон появился позже эрланга?

и что питон, это для падучих подделок, а эрланг для создания надежных приложений?

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

>> Жду "import erlang" в Питоне :-)

> Это с питоньим то "глобал локом"? LOL!

Потому-то о новом модуле и написал, дабы т.н. "функциональность" Эрланга добавить. Или как связать существующие программы на Питоне с Эрлангом?

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

> это ничего, что питон появился позже эрланга?

Ничего, если не быть революционером своего независимого интерпретатора. Сейчас популярные языки даже в .NET/Mono встраивают.

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

> и что питон, это для падучих подделок, а эрланг для создания надежных приложений?

Мои "поделки" на Питоне почему-то никогда не падали, а сетевые приложения на нём годами без перезапуска и под нагрузкой в области телекомов работают. Не осилили Питон?

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

> Мои "поделки" на Питоне почему-то никогда не падали, а сетевые приложения на нём годами без перезапуска и под нагрузкой в области телекомов работают. Не осилили Питон?

питон сложно не осилить, но надо сказать прямо: поделки на нём и вправду падучи. Статическая типизация по нём плачет.

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

> Мои "поделки" на Питоне почему-то никогда не падали, а сетевые приложения на нём годами без перезапуска и под нагрузкой в области телекомов работают. Не осилили Питон?

Опрос по snmp чуть более 1000 железок: non-thread: порядка 4 минут

thread: python (pysnmp) - 50 сек (и более 15 потоков уже не имеет смысла - GIL одноко), что pool, что не pool.

thread: ruby (snmplib) - 30 сек

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

>> В функции pong там вообще выглядит как бесконечная рекурсия.

> У вас комплексы по поводу бесконечной рекурсии? Да. Вырос на принципах классического программирования 10-15 лет давности.

> Или человек "уже быдлокодерствовавший на десятке языков, включая лисп" узнать про хвостовую не посчитал нужным?

Грубиян! Изучаю с удовольствием всё новое, что мне ещё не известно.

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

> Опрос по snmp...

Вы говорите о конкретной библиотеке, а не о языке в целом. Библиотеки можно переключать. Я, например, PyXML редко использую, только для тестов, а так в основном внешний lxml подключаю. Я и не пишу систему 100% на Питоне, C++ отлично мне помогает.

Питон же - отличный язык для прототипизации и тестов. Системы на нём отлично работают и развиваются, по мере роста нагрузки можно либо новые серваки ставить или модули в C++ экспортировать (зависит от того что дороже, железо или программисты). Совершенную систему с нуля написать - эти легенды для студентов оставьте.

Возможности Эрланга мне интересны пока в теории. Питон со всем этим в моём случае справляется (телеком, пару сотен клиентов в секунду). Падения системы за несколько лет не переживали.

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

> Это с питоньим то "глобал локом"? LOL!

1. Есть возможность его обходить.
2. Я использую внешние модули которые сами по себе нужную функциональность реализуют.

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

>Есть же stackless? На нём, как-никак, EVE крутится.

Они уже решили проблемы с блобварами? :)

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

>Питон со всем этим в моём случае справляется (телеком, пару сотен клиентов в секунду).

В случае с Erlang'ом: если меньше 1000 в секунду - это как-то даже смешно:)

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

>Мои "поделки" на Питоне почему-то никогда не падали, а сетевые приложения на нём годами без перезапуска и под нагрузкой в области телекомов работают. Не осилили Питон?

А у нашего бирди винда ни разу не глючила. Сносим линукс?

apt-proxy,pyicqt и т.д. - все работает оч. условно...

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

>В-третьих, идея интересна (может и не нова), но могли бы её лучше в виде поточно-сигнального модуля к тому же Питону прикрутить, больше бы толку было. Жду "import erlang" в Питоне :-)
http://pythomnic.org/
P.S. Капча darhts

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