LINUX.ORG.RU

У кого есть акк на хабре, сделайте доброе дело.

 ,


0

3

http://habrahabr.ru/company/tiktokcoach/blog/206300/

В этой вот статье допущена очень серьезная ошибка

В 2011 году Gul A. Aga и Karmani подытожили многолетний опыт реализации акторных систем, описав наиболее распространенный способ реализации. Они назвали его Fog Cutter. Правда, Hewitt неоднократно критиковал такую архитектуру, например, здесь и здесь Суть критики сводится к тому, что это всего лишь одна из возможных реализаций, но никак не общий подход.

На самом деле, fog cutter не является «одной из возможных реализаций». Она является частным случаем модели. Это далеко не одно и то же. Это означает, что она не реализует Общую Модель, являясь, не одной из возможных реализаций, а неполной реализацией.

Карл Хьюитт поясняет это тут

http://lambda-the-ultimate.org/node/4853

и можно посмотреть более детально там, по референсам.

Можно просто оставить комментарий с данным замечанием, и автор, возможно исправит ошибку.

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

В предыдущей теме не угадал автора по заголовку, а тут угадал автора по тегам!

anonymous
()

Хорошо, отправлю.

PS: спасибо за это, без тебя бы пропустил интересную статью.

Deleted
()
Последнее исправление: merhalak (всего исправлений: 1)
Ответ на: комментарий от Deleted

Не обращай внимания на этого чудика. Хьюитт является автором Модели Акторов. Другого эксперта его масштаба просто не существует в природе, он и есть наиболее авторитетный источник информации по модели. Кстати, там, в цитате вторая ссылка ведет на тот же самый тред на lambda-the-ultimate

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

Дада, почитай охренительные истории хьюита на лту. Про нетьюринговость модели акторов, некорректность теоремы геделя о неполноте и такое все. Товарищ классический научный фрик.

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

он и есть наиболее авторитетный источник информации по модели

А, ну и да - хьюит везде бегает и срет на счет модели акторов, но ни одного пейпера с семантикой еще не родил, так что модель существует только в воспаленной фантазии хьюита

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

Не тебе судить об этом. Судилка еще не выросла.

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

Уроки лучше бы учил. Двойки небось в четверти, мамка ругается, как не стыдно.

anonymous
()

По бестолковости изложения статья на Хабре сильно напоминает потоки сознания самого анонiмуса. Разделы же, озаглавленные «Почему функциональные языки?» и «Реабилитация императивных языков» вообще фееричны.

eao197 ★★★★★
()
10 июля 2016 г.

Исправления внесены

Так получилось, что только сейчас увидел Ваш комментарий. Спасибо за замечание. Исправление внесено вот в таком виде (все что ниже — это правка)

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

Действительно, в phd диссертации Foundations of Actor Semantics William Duglas Clinger (ученик Карла Хьюита) показывает, что акторная модель обладает неограниченным недетерминизмом, в то время как машина Тьюринга является ограниченно недетерминированной. Из этого он и Карл Хьюит делают вывод, что существуют алгоритмы, которые можно реализовать в акторной модели, но нельзя реализовать на машине Тьюринга. Поэтому любая попытка реализации акторной модели на „обычных“ компьютерах, реализующих вычислимость по Тьюрингу, приведет к тому, что будет реализован лишь частный случай акторной модели.»

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

Семантика акторов была описана в статьях и phd диссертациях учеников Хьюита, например,

аксиоматически модель акторов представлена

Axiomatically stating laws that apply to all Actor systems [Baker and Hewitt 1977]

денотационная семантика описана в phd диссертации Clinger Foundations of Actor Semantics 1981 г.

Как раз в этой диссертации есть Computational Representation Theorem to characterize Actor computations

следствием этой теоремы и является нетьюринговость акторной модели.

Операционная семантика описана в phd диссертации Gul A. Agha ACTORS: A Model of Concurrent Computation in Distributed Systems

Статьи и phd диссертации, которые я упомянул выполнены в MIT Artifial Inteligence Laboratory. Какой университет может быть более авторитетным для прогаммистов, чем MIT?

Ну и на данный момент существует довольно много реализаций акторов, например, Erlang, Akka, в этом году Microsoft анонсировал две системы для разработчиков на акторах. Я понимаю, что Microsoft не лучшая рекомендация здесь, но в мерканитильности этой компании, я думаю, Вы не сомневаетесь.Так что акторы становятся mainstream.

Почему тогда Хьюит является фриком?

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

Про нетьюринговость модели акторов

В одном из ответов на комментарии в этом треде я упомянул, что в phd диссертации D.W. Clinger Foundations of Actor Semantics 1981 г. есть Computational Representation Theorem to characterize Actor computations

следствием этой теоремы и является нетьюринговость акторной модели.

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

Модель вычислимости, к которой мы привыкли - последовательный переход из одного состояния в другое под действием атомарной неделимой операции подразумевает глобальное состояние (сама модель была предложена Дейкстрой). То есть в любой момент времени нам известно все состояние программы, в том плане, что мы можем прочитать или изменить любую ячейку памяти одной машинной командой. Это естественно, если мы находимся в рамках одного процесса в оперативной памяти. Но в случае облачного приложения, когда приложение работает на группе серверов, это уже не так. Нетьюринговостью Хьюит, в том числе говорит, что акторная система не обязательно должна быть ограничена рамками одного процесса.

etyumentcev
()
Ответ на: Исправления внесены от etyumentcev

Действительно, в phd диссертации Foundations of Actor Semantics William Duglas Clinger (ученик Карла Хьюита) показывает, что акторная модель обладает неограниченным недетерминизмом

Не показывает. Хватит повторять этот бред за анонимусом. Это «доказательство» Хьюитта уже много где обсасывали, оно по-просту некорректно. Можешь сам прочитать и убедиться.

anonymous
()
Ответ на: Про нетьюринговость модели акторов от etyumentcev

В одном из ответов на комментарии в этом треде я упомянул, что в phd диссертации D.W. Clinger Foundations of Actor Semantics 1981 г. есть Computational Representation Theorem to characterize Actor computations

Да нету там ее, вся теорема заключается в том, что для акторов и для НМТ Хьюитт и его апологеты используют _разные_ (и неэквивалентные) определения завершимости. В результате одна и та же программа «завершается» в акторах и «не завершается» в НМТ. Если же использовать одно и то же определение, то икаких пробелм не возникает.

Это всек уже давно обсосали на лту.

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

Почему тогда Хьюит является фриком?

Потому что никак иначе не назвать человека, который выдает утверждения противоречащие общеизвестным математическим фактам (вроде эквивалентности акторов и МТ или корректности теоремы геделя), а в ответ на просьбу пояснить, как же он к этим фактам пришел - начинает выдает либо математически некорреткную эквилибристику (чтобы скрыть ошибку в рассуждениях в стиле доказательств 2*2=5 через деление на ноль, например), либо в худшем случае начинает бросаться бессмысленными наборами баззвордов в стиле торсионщиков. Как это еще называть?

Ну и на данный момент существует довольно много реализаций акторов, например, Erlang, Akka, в этом году Microsoft анонсировал две системы для разработчиков на акторах. Я понимаю, что Microsoft не лучшая рекомендация здесь, но в мерканитильности этой компании, я думаю, Вы не сомневаетесь.Так что акторы становятся mainstream.

Никто и не говорит что акторы это чем-то плохо, это хорошая вешь. Речь конкретно о хьюиттовской секте.

anonymous
()

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

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

В результате одна и та же программа «завершается» в акторах и «не завершается» в НМТ. Если же использовать одно и то же определение, то икаких пробелм не возникает.

Чтобы сразу закрыть вопрос, программа choose, которую хьюитт и последователи все время приводят в пример. Там актор сам себе отсылает два сообщения: add1 и halt, поскольку любое сообщение должно прийти - он рано или поздно получает halt, а значит программа завершается. В контру этому хьюитт приводит НМТ, которая на каждой итерации делится на пару состояний (одно из которых завершается, а второе добавляет единицу), и поскольку одно состояние все время остается, хюитт говорит что «не завершается», получается что вроде как на НМТ (и МТ, соответственно) нельзя написать соответствующую завершающуюся программу.

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

Кроме того, так (примером «программы» неэквивалентность вычислительных систем никто не доказывает. Если акторы сильнее МТ, значит акторы могут решить какую-то задачУ, которую не может решить мт. Может, они смогут распознать какой-то нераспознаваемый МТ язык? Вычислить некую невычислимую МТ ф-ю? Нет, не могут.

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