LINUX.ORG.RU

Что такое ООП

 ,


1

2

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

Конечно, можно все-таки выделить характерную черту ООП — это семантика передачи сообщений. Остальное все в тумане...

Почему такой, казалось бы простой вопрос не имеет однозначного ответа?

Потому что ответ лежит на поверхности, поэтому его никто не видит.

Ответ заключается в том, что любая другая парадигма — есть частный случай ООП, в том смысле, что может быть выражена в терминах ООП, но не наооборот. Само название ООП тут не слишком удачно, кстати, поскольку объект в ООП — это скорей субъект. Карл Хьюитт придумал гораздо более подходящее название — акторы.

Именно в этом и кроется разгадка того, почему так трудно отделить ООП от иных парадигм.

Простой пример. Возьмем подстановочную модель, ака ФП. Центральным объектом данной парадигмы является функция. С точки зрения ООП, функция — это актор. Например, у нас есть функция, которая имеет такой вид sum(1, 2) // 3 Мы могли бы выразить это как-то так

Sum = new Function
Sum.code = a + b
theSum = new Sum 
theSum.setArguments(a: 1, b: 2)
theSum.call

Это некоторая декомпозиция, которая нам показывает, что функция — это просто сахар объекта.

То есть, грубо говоря, если мы берем некоторую полноценную ООП/Акторную семантику, и ограничиваем ее выразительные возможности, мы получаем на выходе другую парадигму. Такие вот дела:)



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

Я спросил исключительно по приведённой формулировке. А ты пока подумай ещё раз насчёт посещения психиатра.

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

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

somequest
() автор топика
Ответ на: комментарий от leave

Функция «+» — это не символ «+». Символ это одно, а то куда он указывает(будучи ссылкой) — это другое. Так вот, речь идет не о сиволе «+», который есть имя сообщения, и может указывать, к слову, на что угодно, хоть на функцию «devide», а именно о том объекте, куда он указывает, в данном случае — функции.

Это я тебе по старой дружбе ликбез для вахтеров провел, хоть ты ни хрена и не понял, и не скоро поймешь, если вообще это в твоей жизни случится. Но больше к мужикам в разговоры не лезь, а то смешно очень получается. Рассуждаешь о том, о чем понятия не имеешь.

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

Оппа, мамкин программист пожаловал

оппа, с каких пор маня-говнокодеры против мамкиных программистов?

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

Там выше по треду утверждалось, что объект это

сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеющая заданные значения свойств (атрибутов) и операций над ними (методов)

И было сообщено, что «+» (математическая функция) - это объект.

В следующий раз урок чтения будет платным.

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

что «+» (математическая функция)

«+» в ООП — это не математическая функция, а сообщение, во-первых, во-вторых, тот объект функции, который возвращается в ответ на это сообщение, тоже не является математической функцией, а является реализацией этой функции. Ты достал уже своей хренью, успокойся уже, мне тупых анонимусов хватает, а тут ты еще под ногами болтаешься со своими детскими представлениями о программировании. Иди уже, какой нибудь кед поставь себе новый плазменный на десктоп, больше толка будет.

somequest
() автор топика
Ответ на: комментарий от leave

Да любые методы и свойства, как и у любого другого объекта.

somequest
() автор топика
Ответ на: комментарий от beastie

Нет, зачем. 5 +(1) — ты тут посылаешь объекту 5 сообщение +(1) и возвращаешь объект 6. Посылка сообщения не означает обязательно мутацию реципиента.

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

Но объект — это ведь что-то имеющее состояние. Какое состояние у объекта 5 и как он может его поменять?

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

Блин, это же элементарно

5 do(
  setSlot("+", getSlot("-"))
)

writeln(5 +(1)) // 4

Поменял, как ты считаешь?

как он может его поменять?

В быдло-ООП не может.

somequest
() автор топика
Ответ на: комментарий от beastie

Изменение состояния означает изменение поведения. Так, в примере выше, объект 5 стал отвечать на сообщение + иным образом. Хотя в Ъ понятие «изменение состояния» — это хреновое описания происходящего. Уместнее говоить об изменении поведения. К примеру, акторы вообще не имеют четко определенного состояния. Но так уж сложилось, говорим не птичьем языке, поэтому пусть будет состояние.

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

Честно признаться я не понимаю, что ты пытаешься доказать. ;)

Есть фунции — они детерминированные. (Например Date() и Rnd() функциями не являются, т.к. возвращают каждый раз другое значение.)

Есть объекты — нечто с внутренним состоянием. (Структуры, классы, процессы в erlang.)

И есть методы/сообщения — нечто меняющее (или не меняющее) у объекта его внутренне состояние.

Так о чём мы сейчас говорим?

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

что ты пытаешься доказать

Я ничего не пытался доказать, просто отвечал на вопросы

(Например Date() и Rnd() функциями не являются, т.к. возвращают каждый раз другое значение.)

Они являются функциями, просто с точки зрения ФП они не чистые. Но тут все сводится к терминологии — функция как подпрограмма, функция как отображение, функция как объект — это все разные понятия. ИМХО, в программировании математических функций вообще не может быть, это просто член в голове. Функция может описывать программу, но не реализовывать ее.

И есть методы/сообщения — нечто меняющее у объекта его внутренне состояние.

Не обязательно.

somequest
() автор топика
Ответ на: комментарий от beastie

нечто меняющее (или не меняющее) у объекта его внутренне состояние.

В смысле, менять сообщение ничего не обязано, хотя в ответ на сообщение объект может изменить свое состояние, если захочет.

Так о чём мы сейчас говорим?

О том, видимо, что все что ты перечислил — это все объекты(или акторы), включая сообщения.

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

это все объекты

«Если у тебя в руках молоток, то всё кажется гвоздем» ;)

В 90% случаем что-то одно можно выразить через что-то другое. С потерей или выиграшем — вопрос другой. Считай, что это изоморфизмы.

Но в общем случае, на ООП свет клином не сошёлся.

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

Тебе конкретный вопрос задали про состояние функции суммы. Как ты изменил состояние функции суммы? Изменив диспетчеризацию, вызывая функцию вычитания при получении символа «+»? Как от этого изменилось состояние или поведение функции суммы?

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

разуй глаза, то был ответ на вопрос о состоянии объекта 5

somequest
() автор топика
Ответ на: комментарий от beastie

Есть фунции — они детерминированные. (Например Date() и Rnd() функциями не являются, т.к. возвращают каждый раз другое значение.)

Если мы говорим в терминах CS, то Date и Rnd это самые настоящие функции, но не чистые.

И есть методы/сообщения — нечто меняющее (или не меняющее) у объекта его внутренне состояние.

Именно, вот например у объекта `5' просто нет методов, меняющих его состояние. Если не брать в расчет приведенный выше пример с изменением самих методов, но тут вопрос, относить ли методы и объектную метаинформацию к состоянию? Но это в текущей дискуссии не важно совсем.

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

`5' просто нет методов, меняющих его состояние. Если не брать в расчет приведенный выше пример с изменением самих методов

Это про мой пример чтоли? Тот же setSlot — это метод меняющий состояние объекта типа «Number». Вообще, не знаю как в смолтоке, но в Io числа — полноценные объекты. От них даже наследовать можно


five := 5 clone do(
   foo := "bar"
)

writeln( five + 1 )  // 6 
writeln( five ?foo ) // bar
writeln( 5 ?foo )    // nil

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

числа — полноценные объекты. От них даже наследовать можно

Наследуются от классов, знаток ООП)

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

В прототипном ООП классы ничем не отличаются от объектов. От любого инстанса можно наследоваться.

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

В прототипном ООП классы ничем не отличаются от объектов

Это уже дела вашего прототипного ООП, в общем случае объект не обязан являться классом.

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

Тот же setSlot — это метод меняющий состояние объекта типа «Number»

Вот тут спорно, в твоем IO просто объект является классом, а значит содержит в себе все методы, поэтому ты считаешь что меняется состояние объекта. В ООП где есть конечные объекты, которые не классы, вся эта инфа содержится в классе, а у объекта только стейт, и в этом случае твой setSlot не поменяет объект `5', а поменяет слоты в его классе.

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

в общем случае

В каком это общем? Класс-ориентированное ООП — это частный случай ООП, а не общий. А если говорить о более общем подходе, то прототипный подход тут как раз более общий, классовое ООП содержит ограничение, а подход с ограничениями не может претендовать на общность. К примеру, прототипное ООП с ограничениями на наследование от инстансов — это частный случай прототипного ООП, и как раз является классовым. Так что не надо тут про общесть.

somequest
() автор топика
Ответ на: комментарий от loz

а значит содержит в себе все методы

Нет не содержит, он их наследует. Хотя может и содержать, при желании. Но это все детали реализации, они нас волновать не должны.

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

Интересно, а я все представил наоборот, что прототипное ООП это как классовое ООП с отрезанным классо-объектным уровнем и оставленным метаобъектным уровнем, метаобъекты создают метаобъекты, наследуют друг друга и тд.

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

Но это все детали реализации, они нас волновать не должны.

Теюе уже говорили, что ты являешься ярким примером типичного говнокодера? Хоть книгу пиши на основе твоих мессаджей.

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

Но это все детали реализации, они нас волновать не должны

Именно, а по твоему коду выходит что идеологически он содержит методы, ведь у five появился метод foo, а у `5' нет.

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

Это неверное представление, и тому есть простое доказательство.

Может ли классовое ООП быть прототипным? — Нет

Может ли прототипное ООП быть классовым? — Да. Для этого нужно просто ввести ограничения.

somequest
() автор топика
Ответ на: комментарий от loz

Какие именно методы? метод setSlot они оба нследуют делегированием от Object по дефолту. foo есть только у five, это его личное свойство, а 5 является родителем five.

somequest
() автор топика
Ответ на: комментарий от loz

Ну, как бы, в теории это возможно, наверное, если в качестве инстансов всегда использовать только сабклассы, но я не думаю, что это технически возможно в реальных ЯП. Поэтому, by design.

somequest
() автор топика
Ответ на: комментарий от loz

И есть еще одно соображение. В классовом ООП, насколько я знаю, как бы, есть четкое разделение между поведением и состоянием, и поведение обычно представлено классами, а состояние — инстансами. В прототипном ООП этого ограничения тоже нет.

somequest
() автор топика
Ответ на: комментарий от loz

Нет, это другое. Это реализация поверх реализации, можно и ноборот сделать, а говорим о дефолтных системах.

somequest
() автор топика
Ответ на: комментарий от loz

Если вызвать у five setSlot на setSlot - он ведь изменится только у five?

В смысле изменить метод setSlot у five? Да, тогда у five будет свой собственный setSlot. Это справедливо для любого объекта.

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

а говорим о дефолтных системах

Ну так лол, чтобы в прототипное ООП добавить объекты от которых нельзя наследоваться надо тоже это реализовать.

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

Если уж ты заводишь речь об «что есть частный случай чего», то наименьший знаменатель для любого вычислителя — это Машина Тюринга.

А от всё остальное — это сахар и частный случай. Включая PP, OOP, FP ... и уйму других P.

Т.ч. твой любимый OOP — это частный случай BrainF*ck. ;) Deal with it.

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

А вообще, я думаю, такая «реализация» займет пару строк. Надо просто инициализировать кастрированные инстансы, с отрубленными методами clone, appendProto и prependProto.

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

Ок, не наследоваться и правда можно. Но есть еще изменение методов у класса, которое должно изменить поведение всех его объектов. В твоем IO это сработает?

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

это Машина Тюринга

Машина тьюринга — частный случай модели Акторов. Я как раз эту тему в соседнем треде про мультиметоды раскрыл, можешь почитать, если интересно.

somequest
() автор топика
Ответ на: комментарий от loz

В твоем IO это сработает?

Да, не вижу препятствий. Список родителей то у него останется.

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

моде́ль а́кторов представляет собой математическую модель параллельных вычислений

ref: https://ru.wikipedia.org/wiki/Модель_акторов

Машина тьюринга — частный случай модели Акторов. Я [..] эту тему [..] раскрыл

Что ты там раскрыл мне читать откровенно лень. Но и так ясно, что ты сравниваешь тёплое с мягким.

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

почему теплое с мягким? И то и другое — вычислительные матмодели, почему бы их не сравнить. И, собственно сравниваю даже не я, а Карл Хьюитт, который в одной из своих бумаг показал, что существуют алгоритмы нереализуемые в МТ, но реализуемые в Модели Акторов. То есть тезис Черча-Тьюринга опровергнут.

somequest
() автор топика
Ответ на: комментарий от Deleted

Скаежем так, МТ не является *актор-полной* моделью, поэтому является частным случаем, но не наооборот.

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

Только вот одно — это модель вычислений, другое — модель взаимодействия независимых вычислителей из первой группы.

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

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

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

Может ли классовое ООП быть прототипным? — Нет

Ффффааакккк... Специально для тебя древнючие GoF описали шаблон проектирования Прототип, а прототипное ООП - это реализованный на уровне языка шаблон проектирования. Если дядя не заложил в язык прототипов, то все, ты обосрался? И как ты с таким подходом занимаешься разработкой ПО? Ой, я забыл, ты же не разрабатываешь ПО, ты философствуешь на ЛОРе и дрочишь вприсядку на Ъ.

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

А ты малышь думаешь значит, что паттерн прототип имеет какое-то отношение к прототипному ООП? У ти мой маленький:)

somequest
() автор топика
Ответ на: комментарий от winlook38

С Вашего позволения, я повторю вопрос, так как Вы, вероятно? сейчас отвечали на вопрос голосов в Вашей голове

А ты малышь думаешь значит, что паттерн прототип имеет какое-то отношение к прототипному ООП? У ти мой маленький:)

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

С Вашего позволения, я повторю вопрос

Нет, сначала ты ответишь на заданные тебе вопросы:

Если дядя не заложил в язык прототипов, то все, ты обосрался?
И как ты с таким подходом занимаешься разработкой ПО?

А потом пойдешь читать попсовый GoF прежде, чем задавать вопросы.

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

а зачем мне попсовы гоф? Чтобы потом такой же бред как Вы нести? Путать паттерны с реализциями ООП? Какой от этого профит, например?

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

а зачем мне попсовы гоф?

Чтобы обсуждать шаблон проектирования, нужно о нем узнать.

Чтобы потом такой же бред как Вы нести?

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

Путать паттерны с реализциями ООП?

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

Какой от этого профит, например?

Тебе никакой, ты не занимаешься разработкой ПО.

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

Я уже понял, что у тебя паттерн головного мозга, но вопрос остается открытым. Какое отношени паттерн Прототип, имеет к прототипной реализации ООП? Слова похожи, или что? Почему ты так решил? Или сказал кто-то это тебе? Как это с тобой получилось, расскажи, интересно же всем.

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

Я уже понял, что у тебя паттерн головного мозга

Нет, ты не понял. Вечно тебе кажется, что ты что-то понял.

вопрос остается открытым

Потому что такую банальную вещь, как GoF не осилил.

Какое отношени паттерн Прототип, имеет к прототипной реализации ООП?

Этот вопрос имеет отношение к разработке ПО, а ты и твоя философия - нет, так что не заморачивайся.

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

Этот вопрос имеет отношение к разработке ПО

И все таки? Или ты соскочить хочешь? Если хочешь — то так и скажи, я ведь добрый, сильно обсирать не буду.

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

тот редкий случай, когда хочется сказать (не к ночи будь помянут): царя на тебя нет )

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

Может ли классовое ООП быть прототипным? — Нет

Если дядя не заложил в язык прототипов, то все, ты обосрался?

нет

теперь слушаю тебя

Да ты и сам все сказал. Сам сделал какое-то нелепое утверждение, сам его опроверг.

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

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

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

Что тебе конкретно не понятно? По какому такому случайному стечению обстоятельств случилось, что паттерн Прототип и Прототипное ООП имеют схожие названия? GoF уже прочитал? Нашел отличия? Задавай конкретные вопросы по тому, что тебе не удалось реализовать в языке без прототипного ООП. Похоже, для тебя прототипное ООП - это синтаксис и если ты не видишь его, то его и нет.

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

По какому такому случайному стечению обстоятельств случилось, что паттерн Прототип и Прототипное ООП имеют схожие названия?

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

Нашел отличия?

Прежде чем находить отличия, неплохо было бы определится есть ли сходства

что тебе не удалось реализовать в языке без прототипного ООП

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

Range




Decade := Object clone do(
   foo := true
   show := getSlot("println")
)

1 to(10) foreach(appendProto(Decade))
3 to(7) foreach(setSlot("show", nil))

1 to(15) foreach(?show)

/* out:
1
2
8
9
10

*/

somequest
() автор топика
Ответ на: комментарий от winlook38

А лучше вот такой

Range




Decade := Object clone do(
   foo := "bar"
   bar := "baz"
   show := method(foo println)
)

1 to(10) foreach(appendProto(Decade))
3 to(7) foreach(setSlot("show", method(bar println)))
4 bar := 1000000

1 to(15) foreach(?show)

/* out:

bar
bar
baz
1000000
baz
baz
baz
bar
bar
bar



*/

somequest
() автор топика
Ответ на: комментарий от beastie

требую считать меньшим LC и выражать МТ через него.

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

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

Ты ранее предполагал херню. Сейчас тоже.

Прежде чем находить отличия, неплохо было бы определится есть ли сходства

И поэтому ты сейчас пойдешь и почитаешь GoF. Это твое первое домашнее задание.

Покажи мне код

А вот и твое второе домашнее задание. Напомню:

Если дядя не заложил в язык прототипов, то все, ты обосрался?

нет

Предлагаю тебе упростить синтаксис языка так, чтобы ты мог построчно транслировать его в другой язык, например в Си (или в Паскаль, или в Бэйсик). Пишешь транслятор, получается - объясняешь как так выходит, что когда ты не видишь кода на Си, у тебя есть прототипное ООП, а когда видишь - нет. Так же объясняешь чем получившийся код на СИ отличается от реализации паттерна Прототип.
Если же не получается - ничего страшного, никто от тебя этого на самом деле, не ждет.
К слову, это почти реальная задача, возникающая при разработке ПО. К которой ты, не устаю это повторять, не имеешь отношения.

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

Пока не отмоешься от говна, на форум не возвращайся, воняет от монитора. И впредь не путай слова с их знчениями, а то так ненароком член вместо банана хряпнешь.

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

Дурачок, я тебе подкинул задачу из реальной жизни, реализация простенького DSL'я, на которой ты сам можешь убедиться в том, что несешь херню. Построчный транслятор ты мог бы реализовать и отладить за день. Ой не мог бы, о чем это я. Продолжай фантазировать и смешить нас новыми высерами.

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

надоел твой тупняк, заигнорю я тебя, пожалуй.

somequest
() автор топика
Ответ на: комментарий от beastie

наименьший знаменатель для любого вычислителя — это Машина Тюринга

это как раз и есть тезис, оспариваемый Хьюитом

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

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

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

А ты, верно, еще и православный, да?

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

Есть какие то аргументы посущетсву? Или просто хочешь иметь *свое собственное мнение*? Это сейчас модно среди оффисной публики, тренд так сказать.

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

Обрати внимание на уровень анонимусов, которые сливаются с тобой в научно-популярном экстазе. Твой уровень?

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

Залогинься обратно, а то аноним тебя не простит.

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

Твой уровень

Уровень «мамой клянусь что он мамой клянется»:)

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

Есть какие то аргументы посущетсву?

отсутствие доказательства того, что модель акторов обладает сверхтьюринговской вычислительной мощностью (по причине того, что Хьюит считает математическую логику неприменимой к конкуррентным системам) сойдёт за аргумент?

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

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

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

Твой уровень и правда где то наравне с анонимусом, отписавшимся выше.

Этож ты сам отписался. Стиль то твой. Ай ай ай так анонимусом прикрываться.

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

Хьюитт не *считает*, а доказал, что классическая матлогика непременима к конкурентным системам, только вот какое это имеет отношение к вопросу, совершенно не понятно.

somequest
() автор топика
Ответ на: комментарий от jtootf

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

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

отсебятину

Хьюит считает математическую логику неприменимой к конкуррентным системам

Therefore mathematical logic can not implement concurrent computation in open systems

no kind of deductive mathematical logic could escape the limitation

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

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

Кстати, можно ссыклу на публикацию? (Мне честно признаться лень выискивать.)

PS: уже увидел, комментом выше.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.