kika: (Default)
[personal profile] kika
Купил книжку про Эрланг.

Нет, не надо таких советов, эти лекарства в Омереке без рецепта не продают, а за рецептом идти дорого, у меня страховки нет. Так что придется читать книжку и делать вид что так и надо.

Date: 2008-11-04 09:30 am (UTC)
From: [identity profile] alexott.livejournal.com
небось еще и рабочие места для эрлангистов будешь создавать? ;-)

Date: 2008-11-04 09:36 am (UTC)
From: [identity profile] kika.livejournal.com
Ну это мы еще посмотрим. Нам пока питона с континуациями (русское слово-то есть для этого?) хватает выше крыши :-)

For starters, хочется понять насколько на эрланге можно писать веб. А для этого надо понять что в эрланге работает вместо HTML::Template, грубо говоря.

Date: 2008-11-04 09:51 am (UTC)
From: [identity profile] alexott.livejournal.com
тогда надо смотреть на yaws в качестве веб-сервера (с шаблонами). или на mochiweb (как говорят, но я не смотрел на него)
можно еще earlyweb - примерный аналог RoR, и было еще что-то - народ сейчас масово кинулся писать такие вещи :-)
P.S. по поводу continuations - я что-то не помню адекватного русского термина

Date: 2008-11-04 10:43 am (UTC)
From: [identity profile] kika.livejournal.com
Спасибо за ссылочки. Я на какой-то смотрел, был похож на унылое говно. Но у меня тогда велосипеда книжки не было.

Date: 2008-11-04 10:47 am (UTC)
From: [identity profile] alexott.livejournal.com
Армстронговская книжка про ерланг хороша для начала, но я вот жду выхода в начале 2009-го книжек про OTP (Concurrent Programming with Erlang/OTP от Manning), и кто-то еще собирался выпустить книжку про advanced programming with Erlang

Date: 2008-11-04 01:07 pm (UTC)
From: [identity profile] dmzlj.livejournal.com
Так себе на нем писать веб. Проблемы с шаблонизаторами, даже с XSLT там плохо - один кривой биндинг саблотрона. Конечно, можно написать любой биндинг самостоятельно - но, в общем, будучи написанным не на эрланге - оно будет плохо масштабироваться по процессам, а будучи написанном на эрланге - оно будет тормозить. Плюс слабовата работа со строками, плюс тормозные те-же регекспы.

Кстати, никакого волшебства в плане прозрачной кластеризации по нодам в случае веба эрланг не даст - т.е. придется это делать самостоятельно, и в общем случае это будет мало отличаться от решения на любой другой платформе - reverse proxy + пачка fcgi процессов.

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

Date: 2008-11-04 06:41 pm (UTC)
From: [identity profile] brainslugs.blogspot.com (from livejournal.com)
Ищо там нету concurrent GC, нативного RPC и софт реалтайм. Особенно последнее -- если вы не знаток кишок ghc, поиск проблем с производительностью (которые возникают, благодаря ленивости, в самых неожиданных местах) начинается с долгих танцев с бубном вокруг компилятора, а заканчивается обычно превращением исходников в дикобраза, утыканного вызовами `seq` и $!

Date: 2008-11-04 07:04 pm (UTC)
From: [identity profile] dmzlj.livejournal.com
возможно; но с другой стороны - хуже чем питон ведь не будет?

Date: 2008-11-04 07:10 pm (UTC)
From: [identity profile] brainslugs.blogspot.com (from livejournal.com)
Для веб-морды питон идеален, по-моему, а вообще конечно да :)

Но, кстати, для бэкенда и легких потоков есть еще stackless python -- я сам не пробовал, но, говорят, вроде ничего. MMORPG Eve Online на нем написана.

Date: 2008-11-04 07:37 pm (UTC)
From: [identity profile] dmzlj.livejournal.com
Стеклесс питон не масштабирует по процессорам/ядрам. Т.е это просто газирование лужи. Плюс, поскольку в питоне дофига всего в нативных библиотеках - они запросто будут блокироваться.

У нас на самом деле какая засада - нам нужен веб-спайдер, который может подолгу залипать на внешних сайтах (сессии и серии POST-запросов) - ну понятно, почему. Текущий написан на питоне; в питоне нельзя убить зависший тред - и таймаут можно повесить только на сокеты и глобально; у нас поэтому сделано совершенно ракообразное решение из пула процессов, каждый из кототорых держит количество тредов. Собираемся от этого гимора избавляться - как раз рассматривал стеклесс питон и эрланг; первый в топку, второй - очень бедные и недоделанные библиотеки во всем, что не касается телекома. Так что победил, видимо, хаскелл как раз - леговесный относительно питона, удобные потоки и огромная куча (как для перла практически) библиотек и вообще выглядит очень живо.

Date: 2008-11-04 07:58 pm (UTC)
From: [identity profile] brainslugs.blogspot.com (from livejournal.com)
Ну, до перла там еще далеко -- вот буквально последний раз хотел размяться, для чего-то мелкого хаскель заюзать вместо питона -- оказалось что даже приемлемо шуструю считалку md5 не так то просто найти.

Но в эрланге с библиотеками реально хуже, да. Причем даже то что есть, оно нередко написано вполне качественно, но документации при этом нету или почти нету (например, xmerl).

Date: 2009-02-11 07:19 pm (UTC)
From: [identity profile] anatolix.livejournal.com
Eve Online это скорее не в плюс stackless python. более тормозной и глючной игры еще видел. Бой на 1000 человек это гарантированный лаг с невозможностью управления или черный экран минут на 40.

Date: 2008-11-04 07:20 pm (UTC)
From: [identity profile] brainslugs.blogspot.com (from livejournal.com)
Кстати вот софт реалтайм, это все-таки очень приятная фича эрланга.

В том плане, что там есть смысл говорить о производительности в терминах микросекунд, реально можно что-то там измерять и сравнивать, на уровне функций -- а этого мне например, как человеку с C/C++ бэкграундом, в том же петоне сильно не хватает иногда.

Я помню, когда в официальной питоновской рассылке какой-то товарищ спрашивал, как быстро работает вставка в массив в терминах O(N), ответ был "бугага, чувак, ты о чем вообще, забудь такие слова, это ж питон".

Date: 2008-11-05 01:02 am (UTC)
From: [identity profile] kika.livejournal.com
Мы прототипировали немного на хаскеле. Какой-то он непредсказуемый. Работает-работает, потом его клинит там где-то, а потом опять работает.

Date: 2008-11-05 05:23 am (UTC)
From: [identity profile] dmzlj.livejournal.com
Жалко.

Date: 2008-11-05 01:06 am (UTC)
From: [identity profile] kika.livejournal.com
Мне XML не нужен, слава богу, мне бы по простому какой-нибудь вменяемый шаблонный процессор, чтоб отделить код от представления. HTML::Template хватило бы вполне.
Минус конечно в том, что если на HTML::Template найти верстальщика еще как-то можно, то на всякий изврат с эрлангом - фиг. А использовать для этого девелопера - дорого.

Date: 2008-11-05 05:29 am (UTC)
From: [identity profile] dmzlj.livejournal.com
По поводу XML кстати зря. Так как найти верстальщика на XSLT будет попроще, чем на всякие другие извраты - вещь, может и сложная на вид, но хотя бы широко распространенная и стандартная, в отличие от зоопарка прочих шаблонизаторов.

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

Также, оно может работать и на клиенте - это дает возможности 1) разгрузить сервер 2) использовать для AJAX те-же шаблоны и того-же верстальщика, что и для server-side.

Date: 2008-11-05 06:03 am (UTC)
From: [identity profile] kika.livejournal.com
Я боюсь что с работой на клиенте там все тоже самое как "и все у них так". То есть есть три броузера, и в них все радикально разным образом работает :-)

А верстальщиков с XSLT я как-то не встречал.

Date: 2008-11-05 08:20 am (UTC)
From: [identity profile] dmzlj.livejournal.com
Они выстречаются; тот же яндекс регулярно себе их находит в количествах; да и мы себе нашли одного.

Что касается радикально разного образа работы - то нет, все работает лучше, чем можно было бы ожидать; ну и самое главное - оно работает не хуже чем альтернатива на JSON+JS, но гораздо легче в поддержке.

Date: 2008-11-04 01:09 pm (UTC)
From: [identity profile] dmzlj.livejournal.com
конкретно для шаблонизации - см. колхозное решение в earlyweb

Date: 2008-11-04 01:15 pm (UTC)
From: [identity profile] dmzlj.livejournal.com
Еще точнее так - если смочь утрамбовать задачу в рамки мнезии - то приход от использования эрланга на вебе будет. А если не смочь - то врядли. При том, что в поддержке мнезия достаточно неприятная штука по сравнению с SQL базами. Зато распределенная дальше некуда.

Date: 2008-11-04 06:05 pm (UTC)
From: [identity profile] asd.livejournal.com
При том, что в поддержке мнезия достаточно неприятная штука по сравнению с SQL базами.
Можно кровавых подробностей? Чем мнезия неприятна?
(disclaimer: я только интересующийся эрлангом, знаю пока мало, но книжки изучаю.)

Date: 2008-11-04 07:01 pm (UTC)
From: [identity profile] dmzlj.livejournal.com
Не то, что бы они будут кровавые - но на моей памяти - внесение изменений в схему данных - гораздо более геморойное дело, чем для обычной связки sql/код приложения; вообще напряжно администрировать базу по сравнению с sql-ными - бедный тулкит, обычными sql-скриптиками не отделаешься; на DBA это дело не скинешь, так как не существует в моей объективной реальности mnesia-DBA, все на разработчиках; встречаются глюки с репликацией и т.п.

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

Date: 2008-11-06 10:32 am (UTC)
From: [identity profile] 109.livejournal.com
почитал что нашёл, ничего не понял. эта мнезия distributed queries умеет? если да, откуда она знает, на каких нодах искать? secondary indexes есть? distributed transactions есть?

Date: 2008-11-04 06:30 pm (UTC)
From: [identity profile] brainslugs.blogspot.com (from livejournal.com)
Лучший шаблонизатор по-моему это ErlyDTL (http://code.google.com/p/erlydtl/) -- реализация языка шаблонов из django на эрланге. Он довольно выдержан, такскть, идеологически, в отличие от пестрого erlyweb.

Но веб-морду на ерланге писать это все-таки, по моим впечатлениям, не фонтан -- синтаксис мешает, особенно то что хэшей (т.е. hash_map) нету. Вот сам бэкенд, с интерфейсом на каком-нибудь JSON-RPC -- действительно приятно и легко.

Date: 2008-11-04 10:21 am (UTC)
From: [identity profile] asd.livejournal.com
Кирилл, что за книжка, если не секрет?

Date: 2008-11-04 10:41 am (UTC)
From: [identity profile] kika.livejournal.com
http://www.amazon.com/gp/product/193435600X

Date: 2008-11-06 03:51 am (UTC)
From: [identity profile] lenik-terenin.livejournal.com

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

Profile

kika: (Default)
kika

January 2017

S M T W T F S
1234567
89 1011121314
151617181920 21
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 16th, 2026 10:32 pm
Powered by Dreamwidth Studios