Здравствуйте, Mamut, Вы писали:
M>1. Это — безусловно, возможность отловить ошибки в пдающих процессах и сделать им graceful рестарт
То есть ты подтверждаешь его слова.
M>2. Async message passing и отсутсвие разделяемых данных (и bottlenck'ов', с этим связанных)
Т.е. safety. Что, очевидно, связано с управляемостью, а не наличием/отсутствием статической типизации
M>3. Стабильность и устойчивость VM (в частности — в scheduler'е, gc и работе с сетью)
Которая написана совсем не на динамике.
M>Что-то мне подсказывает, что и первое и второе, и третье у всегда неявно подразумеваемого во всех твоих сообщениях Nemerle отсутствует, как класс.
Ты путаешь язык и рантайм. Все, что ты перечислил, относится ко второму.
Это чего, преподносится как что то значимое в общем смысле? Ты же прекрасно понимаешь, что это голимый примитив, никак не демонстрирующий преимуществ динамики.
G>Куда уж легче-то.
И правда, нафига в том же дотнете все эти TPL и Rx с асинками? Написал несколько простеньких хелперов с лямбдами поверх пула потоков и вуаля, все проблемы решены.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Это чего, преподносится как что то значимое в общем смысле? Ты же прекрасно понимаешь, что это голимый примитив, никак не демонстрирующий преимуществ динамики.
Там пример с тредами. Сделал. Не вспотел. Ибо элементарно. К преимуществам динамики или статики это вообще никакого отношения не имеет, в данном микропримере это не имеет значения.
Здравствуйте, Gaperton, Вы писали:
НС>>Это чего, преподносится как что то значимое в общем смысле? Ты же прекрасно понимаешь, что это голимый примитив, никак не демонстрирующий преимуществ динамики.
G>Ты тред читал? Это ответ на
Читал. Только какой смысл расползаться мыслью по древу?
G>У тебя еще чего-нибудь?
Ну там в сообщении немного больше было. Но не хочешь отвечать — я не настаиваю.
Здравствуйте, WolfHound, Вы писали:
G>>У меня создается два настоящих потока через HTML5 Web Worker API (Видишь вызов new Worker? Это оно). Внутри каждого из потоков я использую таймер. WH>А я что сказал? Ты вызываешь функцию по таймеру.
То же самое происходит и в коде на Ur, даже более примитивно, поскольку настоящих процессов не создаётся.
Здравствуйте, WolfHound, Вы писали:
M>>Ты всерьез считаешь, что ur генерирует два настоящих потока в генерируемом им HTML и JS? Извини, но это — бред, с реальностью не имеющий ничего общего. Там точно так же генерируются setTimeout'ы и прочая. Только в них можно сломать голову. WH>Ты пойми мне абсолютно пофигу что там генерируется. Мне важно, что есть в исходном коде. Языки высокого уровня для того и нужны чтобы на ассемблере не писать.
То есть берём любую обёртку на JavaScript, и задумываемся, зачем нам Ur? Кстати, на какой бы уровень ты не перешёл, не будет настоящих потоков.
Здравствуйте, Ночной Смотрящий, Вы писали:
A>>О, признаю, неправильно понял. Но всё же в случае Perl и Erlang не видно описанных стад НС>Ну, не может же быть вся динамика мегапопулярной.
PHP — потому что очень просто. Ruby — поотому что RoR. Python — потому что Django. При чём тут динамика? Могу допустить, что только в случае PHP она при чём.
A>>Может дело вовсе не в динамике? НС>Я никогда и не утверждал, что дело только в динамике.
Здравствуйте, Ночной Смотрящий, Вы писали:
A>>PHP — потому что очень просто. Ruby — поотому что RoR. Python — потому что Django. При чём тут динамика? НС>Пологая ... ну ты понял.
Я понял, но по прежнему не вижу связи с динамикой.
M>>Ты всерьез считаешь, что ur генерирует два настоящих потока в генерируемом им HTML и JS? Извини, но это — бред, с реальностью не имеющий ничего общего. Там точно так же генерируются setTimeout'ы и прочая. Только в них можно сломать голову. WH>Ты пойми мне абсолютно пофигу что там генерируется. WH>Мне важно, что есть в исходном коде. WH>Языки высокого уровня для того и нужны чтобы на ассемблере не писать.
Тебе такое понятия, как «библиотека», знакомо?
Тут спокойно пишется то, что тебе надо в виде библиотеки.
Здравствуйте, anonymous, Вы писали:
A>То же самое происходит и в коде на Ur, даже более примитивно, поскольку настоящих процессов не создаётся.
Там наблюдаются настоящие кооперативные потоки.
Из этого следует, что нам не нужно плясать с бубном, чтобы обновлять UI.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[18]: Гы, а Wolfhound — неосилятор, оказывается.
Здравствуйте, Mamut, Вы писали:
M>Что-то мне кажется, что ты противопроставил эти два предложения Ж-\
Ты на самом деле не понимаешь чем поток отличается от таймера с калбеком?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, anonymous, Вы писали:
A>То есть берём любую обёртку на JavaScript, и задумываемся, зачем нам Ur? Кстати, на какой бы уровень ты не перешёл, не будет настоящих потоков.
1)За тем чтобы писать еще меньше кода.
Ибо все эти обертки заставляют писать кучу мусора.
2)За тем чтобы компилятор ловил ошибки.
Это ты вообще никакими обертками не сделаешь.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
M>>1. Это — безусловно, возможность отловить ошибки в пдающих процессах и сделать им graceful рестарт WH>Быстренько перезапуститься и сделать вид что так и надо.
От того, что ты это повторяешь, менее бредом это не становится.
M>>2. Async message passing и отсутсвие разделяемых данных (и bottlenck'ов', с этим связанных) WH>Типа этим можно когото удивить. WH>И причем тут кстати типизация?
"Назови мне другой источник "надежности" ерланга." — это, видимо не я спрашивал, ага
M>>3. Стабильность и устойчивость VM (в частности — в scheduler'е, gc и работе с сетью) WH>Ну да, конечно.
Угу. Теперь приведи мне хоть что-то близкое к перформансу и фичам Erlang'а на твоем людимом Nemerle, и только тогда можно будет поговорить с тобой о надежности VM Erlang'а.
Здравствуйте, Mamut, Вы писали:
M>Тебе такое понятия, как «библиотека», знакомо?
M>Тут спокойно пишется то, что тебе надо в виде библиотеки.
Да правда чтоли?
Повтори код на UR в виде библиотеки.
fun main () =
buf <- Buffer.create;
let
fun loop prefix delay =
let
fun loop' n =
Buffer.write buf (prefix ^ ": Message #" ^ show n);
sleep delay;//Вот тут у тебя будут большие проблемы
loop' (n + 1)
in
loop'
end
in
return <xml><body onload={spawn (loop "A" 5000 0); spawn (loop "B" 3000 100)}>
<dyn signal={Buffer.render buf}/>
</body></xml>
end
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
M>>1. Это — безусловно, возможность отловить ошибки в пдающих процессах и сделать им graceful рестарт
НС>То есть ты подтверждаешь его слова.
Только частично. Это — всего лишь один из пунктов.
M>>2. Async message passing и отсутсвие разделяемых данных (и bottlenck'ов', с этим связанных)
НС>Т.е. safety. Что, очевидно, связано с управляемостью, а не наличием/отсутствием статической типизации
Блин. еще один.
«Назови мне другой источник "надежности" ерланга.» — это было так сказано, в воздух? Я должен был сконцентрироваться только лишь на типизации?
M>>3. Стабильность и устойчивость VM (в частности — в scheduler'е, gc и работе с сетью)
НС>Которая написана совсем не на динамике.
И? См. цитату выше.
M>>Что-то мне подсказывает, что и первое и второе, и третье у всегда неявно подразумеваемого во всех твоих сообщениях Nemerle отсутствует, как класс.
НС>Ты путаешь язык и рантайм. Все, что ты перечислил, относится ко второму.
G>>Девять девяток надежности по итогам эксплуатации AXD301 — это не надежность
НС>Ты с этим AXD уже лет пять носишься если не больше, вот только надежность пока что это больше вопрос приоритетов разработки, а не языка программирования. Время полностью верифицируемых языков пока не настало.
Можно и не AXD301, просто это один из самых ярких примеров. Данные по другим баируются только на hearsay. Типа
В конце Дэвида (http://klarna.com/) спросили: а с технической точки зрения как проявился переход на Erlang? Очень хорошо: 20 Java-машин были заменены 2-мя с Erlang'ом. За последние три года было 48 секунд простоя. Система неубиваема.
Сейчас прибежит Wolfhound и будет рассказывать сказки про то, что на Немерле у него простоя вообще не было, ага.