Re[62]: ООП головного мозга
От: Lloyd Россия  
Дата: 04.10.11 12:17
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>>>У Алана Кея, в той части где он поясняет, что же такое messaging.

L>>Прочтите эту часть внимательнее: он поясняет, не что такое messaging, а как взаимодействуют объекты.

I>Какую эту ? Я тебя только что попросил выделить и ты вместо "этой части" про взаимодействие привел высказывание, что же ООП значит для Алана Кея лично Потому мне совсем не ясно, какое именно высказываение Кея ты иммешь ввиду.


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

I>>>Это ж определение ООП, а не messaging и то не совсем уж определение, скорее просто мнение


L>>Это определение через базовые понятия.


I>Это не определение, т.к. "to me" — стало быть, всего лишь мнение.


Нет, это определение OOP мо мнению Кея.

I>>>Да как хочешь назови, ничего не изменится.


L>>Конечно не изменится


I>Ну раз ты согласен, на том можно и закончить.


Ты опять недостаточно вчитался в ответ:

Конечно не изменится ибо мое сообщение до получателя никак не доходит.


Суть я выделил, раз вы с первого раза не уловили.
Re[101]: ООП головного мозга
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.10.11 12:20
Оценка:
Здравствуйте, samius, Вы писали:

I>>После фразы "Легко, но ради того что бы тебе что-то вталдычить я его накидывать не собираюсь." я уже не ждал никакого конструктива от тебя.

S>Персонально у тебя не было повода ждать конструктива от меня и до этой фразы.

Не льсти себе, персонально для тебя у меня нет никаких приёмов Потому я жду ровно столько же как и от любого другого. Более того, скажу страшное, я даже не всегда замечаю кому именно пишу ответ В данном топике я например не сразу заметил что разговариваю с Lloyd

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


Я ж говорю — ты слишком хорошо себя знаешь и я тут точно ни при чем
Re[102]: ООП головного мозга
От: Lloyd Россия  
Дата: 04.10.11 12:27
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

I>Не льсти себе, персонально для тебя у меня нет никаких приёмов Потому я жду ровно столько же как и от любого другого. Более того, скажу страшное, я даже не всегда замечаю кому именно пишу ответ В данном топике я например не сразу заметил что разговариваю с Lloyd


Что, Павел, в лишний раз подтверждает факт, что вы не читаете не только пост, на который отвечаете, но и даже то, что вы сами пишете.
Иначе как понять, что вы не заметили "Здравствуйте, Lloyd, Вы писали:" в каждом своем ответе?
Re[63]: ООП головного мозга
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.10.11 12:28
Оценка:
Здравствуйте, Lloyd, Вы писали:

I>>Какую эту ? Я тебя только что попросил выделить и ты вместо "этой части" про взаимодействие привел высказывание, что же ООП значит для Алана Кея лично Потому мне совсем не ясно, какое именно высказываение Кея ты иммешь ввиду.


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


Смотри сам, что было:

I>>"I thought of objects being like biological cells and/or individual
I>>computers on a network, only able to communicate with messages "
I>>Где здесь "более базовое понятие ?"
L>Ты не понимаешь что означает "более базовое"?
Я тебя спрашиваю, где ты углядел определение через родовые, т.е. базовые понятия во фразе "я думал об объектах как о..."
Просто выдели нужные слова и этого будет достаточно.

И совершенно не ясно, как ты перепрыгнул на высказывание про ООП, когда речь явно про то, что же такое messaging


L>Ты опять недостаточно вчитался в ответ:

L>

L>Конечно не изменится ибо мое сообщение до получателя никак не доходит.

L>Суть я выделил, раз вы с первого раза не уловили.

Ты мог бы и не стараться, я скипнул все лишнее, ровно так же, как и ты перед этим — просто что бы показать тебе твой же собственный подход. Ты, по моему, слишком часто злоупотребляешь тем, что удаляешь лишний текст да еще стараешься обвинять меня в том, что я чего то искажаю.
Re[103]: ООП головного мозга
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.10.11 12:33
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, Ikemefula, Вы писали:


I>>Не льсти себе, персонально для тебя у меня нет никаких приёмов Потому я жду ровно столько же как и от любого другого. Более того, скажу страшное, я даже не всегда замечаю кому именно пишу ответ В данном топике я например не сразу заметил что разговариваю с Lloyd


L>Что, Павел, в лишний раз подтверждает факт, что вы не читаете не только пост, на который отвечаете, но и даже то, что вы сами пишете.

L>Иначе как понять, что вы не заметили "Здравствуйте, Lloyd, Вы писали:" в каждом своем ответе?

Очень просто.
Во первых я вообще не смотрю на первые строчки как раз потому что там "Здравствуйте, xxx, Вы писали" и бывает таких строчек не одна а штук пять. И по моему эта как раз та ненужная фича которая только загромождает экран.
Во вторых меня интересует точка зрения, а не её автор.
Re[48]: ООП головного мозга
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.10.11 12:36
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, gandjustas, Вы писали:


F>>>Я думал, что если нет состояния, то ООП тоже нет.

G>>Неправильно думал ООП — про поведение, а не про состояние.

I>А как без состояния реализовать поведение которое зависит от предыстории сообщений ?


А почему без состояния?

Ты видимо не так понял фразу

ООП — про поведение, а не про состояние


как то что в ООП нет состояния, но это неверно.

Принципы которыми руководствуется ООП (инкапсуляция, полиморфизм) надо применять для поведения, а не для состояния.

Например наследование — не средство добавления полей в класс, а средство специализации поведения класса.
Re[64]: ООП головного мозга
От: Lloyd Россия  
Дата: 04.10.11 12:40
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>>>Какую эту ? Я тебя только что попросил выделить и ты вместо "этой части" про взаимодействие привел высказывание, что же ООП значит для Алана Кея лично Потому мне совсем не ясно, какое именно высказываение Кея ты иммешь ввиду.


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


I>Смотри сам, что было:

I>

I>>>"I thought of objects being like biological cells and/or individual
I>>>computers on a network, only able to communicate with messages "
I>>>Где здесь "более базовое понятие ?"
L>>Ты не понимаешь что означает "более базовое"?
I>Я тебя спрашиваю, где ты углядел определение через родовые, т.е. базовые понятия во фразе "я думал об объектах как о..."
I>Просто выдели нужные слова и этого будет достаточно.

I>И совершенно не ясно, как ты перепрыгнул на высказывание про ООП, когда речь явно про то, что же такое messaging

Нет, Павел, вы опять не читаете. В процитрованном вами тексте речь не о messaging, а о способе взаимодействия объектов.
Ровно та же самая ошибка.

L>>Ты опять недостаточно вчитался в ответ:

L>>

L>>Конечно не изменится ибо мое сообщение до получателя никак не доходит.

L>>Суть я выделил, раз вы с первого раза не уловили.

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

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

Павел, ну это, право, смешно слышать от вас про "удаляешь лишний текст".
Вас уже такое кол-во раз посадили в лужу, но вы упорно в своих ответах просто скипаете этот факт и переходите к другой более удобной теме. За примером ходить далеко не надо: смотрите 52-й пост, когда вы в обсуждение о том, что такое messaging элегантно вплели обсуждение identity.
Re[49]: ООП головного мозга
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.10.11 12:50
Оценка:
Здравствуйте, gandjustas, Вы писали:

F>>>>Я думал, что если нет состояния, то ООП тоже нет.

G>>>Неправильно думал ООП — про поведение, а не про состояние.

I>>А как без состояния реализовать поведение которое зависит от предыстории сообщений ?


G>А почему без состояния?


Так ведь исходная посылка у Flem1234 — "если нет состояния, то ООП тоже нет"

G>Ты видимо не так понял фразу


G>

G>ООП — про поведение, а не про состояние


G>как то что в ООП нет состояния, но это неверно.


Ну это Синклер утрировал. Идея в том, что поведение это основная цель и об этом же говорит и Алан Кей. А состояние это уже дело десятое.

А сейчас мы говорим о том, что сказал Flem1234 — "если нет состояния, то ООП тоже нет"
Re[50]: ООП головного мозга
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.10.11 13:14
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, gandjustas, Вы писали:


F>>>>>Я думал, что если нет состояния, то ООП тоже нет.

G>>>>Неправильно думал ООП — про поведение, а не про состояние.

I>>>А как без состояния реализовать поведение которое зависит от предыстории сообщений ?


G>>А почему без состояния?


I>Так ведь исходная посылка у Flem1234 — "если нет состояния, то ООП тоже нет"


Она неверна. ООП может быть как с состоянием, так и без оного. Посмотри паттерны проектирования, добрая половина вообще никак с состоянием не связаны.
Re[51]: ООП головного мозга
От: Lloyd Россия  
Дата: 04.10.11 13:17
Оценка:
Здравствуйте, gandjustas, Вы писали:

I>>Так ведь исходная посылка у Flem1234 — "если нет состояния, то ООП тоже нет"


G>Она неверна. ООП может быть как с состоянием, так и без оного. Посмотри паттерны проектирования, добрая половина вообще никак с состоянием не связаны.


А identity совсем без состояния реализуема?
Re[65]: ООП головного мозга
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.10.11 13:17
Оценка:
Здравствуйте, Lloyd, Вы писали:

I>>Смотри сам, что было:

I>>

I>>>>"I thought of objects being like biological cells and/or individual
I>>>>computers on a network, only able to communicate with messages "
I>>>>Где здесь "более базовое понятие ?"
L>>>Ты не понимаешь что означает "более базовое"?
I>>Я тебя спрашиваю, где ты углядел определение через родовые, т.е. базовые понятия во фразе "я думал об объектах как о..."
I>>Просто выдели нужные слова и этого будет достаточно.

I>>И совершенно не ясно, как ты перепрыгнул на высказывание про ООП, когда речь явно про то, что же такое messaging

L>Нет, Павел, вы опять не читаете.


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

L>Ровно та же самая ошибка.


Это и есть messaging Еще раз — у Алана Кея messaging это не совсем тот messaging, что в сетях передачи данных. Слово Messaging он использует для обращения к одному из принципов ООП, их несколько, messaging во всех источниках это второй принцип, например вот такая формулировка:
"Communication is performed by objects communicating with each other, requesting that objects perform actions. Objects communicate by sending and receiving messages. A message is a request for action, bundled with whatever objects may be necessary to complete the task. "

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

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

L>Павел, ну это, право, смешно слышать от вас про "удаляешь лишний текст". L>Вас уже такое кол-во раз посадили в лужу, но вы упорно в своих ответах просто скипаете этот факт и переходите к другой более удобной теме.


Я то продолжаю ровно ту же тему — messaging.

>За примером ходить далеко не надо: смотрите 52-й пост, когда вы в обсуждение о том, что такое messaging элегантно вплели обсуждение identity.


смотрим 52й пост, опаньки, в этой ветке их два и оба принадлежат некому Lloyd. Что ты там говорил про умение читать ?
Re[52]: ООП головного мозга
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.10.11 13:39
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, gandjustas, Вы писали:


I>>>Так ведь исходная посылка у Flem1234 — "если нет состояния, то ООП тоже нет"


G>>Она неверна. ООП может быть как с состоянием, так и без оного. Посмотри паттерны проектирования, добрая половина вообще никак с состоянием не связаны.


L>А identity совсем без состояния реализуема?


Да, а почему нет?
Re[66]: ООП головного мозга
От: Lloyd Россия  
Дата: 04.10.11 13:39
Оценка:
Здравствуйте, Ikemefula, Вы писали:

L>>Нет, Павел, вы опять не читаете.


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


Зечем мне симулировать мое же мнение?

L>>Ровно та же самая ошибка.


I>Это и есть messaging


Что означет эта фраза?

I>Еще раз — у Алана Кея messaging это не совсем тот messaging, что в сетях передачи данных. Слово Messaging он использует для обращения к одному из принципов ООП, их несколько, messaging во всех источниках это второй принцип, например вот такая формулировка:

I>"Communication is performed by objects communicating with each other, requesting that objects perform actions. Objects communicate by sending and receiving messages. A message is a request for action, bundled with whatever objects may be necessary to complete the task. "

Вы зачем это пишите-то?
Да, он использует понятие messaging при описании способа взаимодействия объектов, но это не делает messaging применимым только к этой задаче.
Понятия messaging шире и потому ваша фраза про то, что messaging вклюяает identity — не корректна, взимодействие объектов — включает identity (нужен адресат), но не messaging-же [включает identity].

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

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

L>>Павел, ну это, право, смешно слышать от вас про "удаляешь лишний текст".

L>Вас уже такое кол-во раз посадили в лужу, но вы упорно в своих ответах просто скипаете этот факт и переходите к другой более удобной теме.

I>Я то продолжаю ровно ту же тему — messaging.


Нет, Павел, вы уходите в лес да по дрова, т.к. messaging не имеет никакого отношения к identity, вам даже примеры привели с широковещательным сообщением и mq.

>>За примером ходить далеко не надо: смотрите 52-й пост, когда вы в обсуждение о том, что такое messaging элегантно вплели обсуждение identity.


I>смотрим 52й пост, опаньки, в этой ветке их два и оба принадлежат некому Lloyd. Что ты там говорил про умение читать ?


Спасибо, что поправили, действительно 51-й пост. Иногда вы-таки читаете, признаю.
Re[53]: ООП головного мозга
От: Lloyd Россия  
Дата: 04.10.11 13:41
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>Она неверна. ООП может быть как с состоянием, так и без оного. Посмотри паттерны проектирования, добрая половина вообще никак с состоянием не связаны.


L>>А identity совсем без состояния реализуема?


G>Да, а почему нет?


Разве 2 объекта с одинаковым контрактом и без состояния можно как-то отличить?
Re[54]: ООП головного мозга
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.10.11 13:51
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, gandjustas, Вы писали:


G>>>>Она неверна. ООП может быть как с состоянием, так и без оного. Посмотри паттерны проектирования, добрая половина вообще никак с состоянием не связаны.


L>>>А identity совсем без состояния реализуема?


G>>Да, а почему нет?


L>Разве 2 объекта с одинаковым контрактом и без состояния можно как-то отличить?


Легко:


class A
{
}

//...
var a = new A();
var b = new A();
var c = a;

a==b //false
a==c //true


В этом и заключается свойство identity. При этом если a == b, то a.Equals(b) == true.

Если взять SOA и принять что identity обеспечивается адресом endpoint, а эквивалентность — поведением в зависимости от состояния, то легко сделать так чтобы a == b, но при этом a.Equals(b) = false
Re[55]: ООП головного мозга
От: Lloyd Россия  
Дата: 04.10.11 13:53
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>>>Она неверна. ООП может быть как с состоянием, так и без оного. Посмотри паттерны проектирования, добрая половина вообще никак с состоянием не связаны.


L>>>>А identity совсем без состояния реализуема?


G>>>Да, а почему нет?


L>>Разве 2 объекта с одинаковым контрактом и без состояния можно как-то отличить?


G>В этом и заключается свойство identity. При этом если a == b, то a.Equals(b) == true.


Это не объекты без состояния, у них адрес есть.
Re[52]: ООП головного мозга
От: samius Япония http://sams-tricks.blogspot.com
Дата: 04.10.11 13:53
Оценка: +1
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, gandjustas, Вы писали:


I>>>Так ведь исходная посылка у Flem1234 — "если нет состояния, то ООП тоже нет"


G>>Она неверна. ООП может быть как с состоянием, так и без оного. Посмотри паттерны проектирования, добрая половина вообще никак с состоянием не связаны.


L>А identity совсем без состояния реализуема?

Если к отсутствию состояния добавить требование детерминированности, то у однотипных объектов поведение будет неотличимо, т.е. их идентичность не может быть опровергнута. А раз так — нет оснований их считать неидентичными. Это абсолютная аналогия объектам, расшаривающим общее состояние. Разница может быть выявлена лишь с помощью сравнения ссылок, что нельзя отнести к поведению объекта.

детерминированность достаточное требование, но не необходимое. Объект-обертку(без состояния) над статическим методом Console.ReadLine() можно считать идентичным другому такому же объекту.
Re[56]: ООП головного мозга
От: samius Япония http://sams-tricks.blogspot.com
Дата: 04.10.11 14:04
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, gandjustas, Вы писали:


G>>>>>>Она неверна. ООП может быть как с состоянием, так и без оного. Посмотри паттерны проектирования, добрая половина вообще никак с состоянием не связаны.


L>>>>>А identity совсем без состояния реализуема?


G>>>>Да, а почему нет?


L>>>Разве 2 объекта с одинаковым контрактом и без состояния можно как-то отличить?


G>>В этом и заключается свойство identity. При этом если a == b, то a.Equals(b) == true.


L>Это не объекты без состояния, у них адрес есть.

Это не относится к их состоянию и типично не влияет на поведение с его историей, кроме тех случаев, когда поведение объекта завязано на физический адрес.

Вообще нам identity нужно не для того, что бы отличать объекты, а для того, что бы не путать их. Т.е. если я начал работу с одним объектом и его поведение зависит от истории ранее посланных сообщений, я должен быть уверен в том, что именно этот объект обработает мое сообщение, а не какой-то другой, находящийся в неожиданном для меня состоянии. Если же поведение объектов неотличимо, то какая разница?
new Foo().Bar() сделает то же самое что и cachedFoo.Bar()
Конечно, до тех пор, пока мы не строим логику на сравнении ссылок.
Re[67]: ООП головного мозга
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.10.11 14:10
Оценка:
Здравствуйте, Lloyd, Вы писали:

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

L>Зечем мне симулировать мое же мнение?

Я разве говорю что тебе надо симулировать ? Представь, я сам могу представить твои ответы, смотри:

"Ошибка", "Опять нет", "Ровно та же самая ошибка."

Информативность таких ответов примерно одинаковая и стремится к нулю слева.

L>>>Ровно та же самая ошибка.

I>>Это и есть messaging
L>Что означет эта фраза?

Это я случайно скипнул предложение. Вот цепочка

I>И совершенно не ясно, как ты перепрыгнул на высказывание про ООП, когда речь явно про то, что же такое messaging
Нет, Павел, вы опять не читаете. В процитрованном вами тексте речь не о messaging, а о способе взаимодействия объектов.
Ровно та же самая ошибка.

"Это и есть messaging "

Имеется ввиду выделеный текст, т.е. способ взаимодействия объектов == messaging. Если читать Кея, то он говорит что "messaging" это центральная часть Smalltalk, а messages в Smalltalk как то не допускают вольной трактовки.

I>>"Communication is performed by objects communicating with each other, requesting that objects perform actions. Objects communicate by sending and receiving messages. A message is a request for action, bundled with whatever objects may be necessary to complete the task. "


L>Да, он использует понятие messaging при описании способа взаимодействия объектов, но это не делает messaging применимым только к этой задаче.


Разумеется не делает. Он ведь указывает: "The big idea is "messaging" — that is what the kernal of Smalltalk/Squeak
is all about". Т.е. messaging в его трактовке это чуток не тот messaging что в сетях передачи данных и я уже говорил и повторяю снова.

L>Понятия messaging шире и потому ваша фраза про то, что messaging вклюяает identity — не корректна, взимодействие объектов — включает identity (нужен адресат), но не messaging-же [включает identity].


Я говорю про то, что Алан Кей называет messaging, а не про messaging вообще. Т.е. имеет место обычная практика — в зависимости от контекста термины часто меняют значение и это нормально.

I>>Я то продолжаю ровно ту же тему — messaging.


L>Нет, Павел, вы уходите в лес да по дрова, т.к. messaging не имеет никакого отношения к identity, вам даже примеры привели с широковещательным сообщением и mq.


Скажи пожалуйста, а где MQ и широковещательные сообщения в ядре Смаллтолка ?
"The big idea is "messaging" — that is what the kernal of Smalltalk/Squeak is all about ..."


При этом MQ и широковещательные сообщения можно свести к кеевскому "messaging", если под получателем понимать не конечного, а любого, в т.ч. промежуточно, т.е. транзитного, а сеть как объект. То есть, сеть получает сообщение А "передать сообщение Б всем подключенным участникам"
Re[55]: ООП головного мозга
От: samius Япония http://sams-tricks.blogspot.com
Дата: 04.10.11 14:12
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, Lloyd, Вы писали:


L>>Разве 2 объекта с одинаковым контрактом и без состояния можно как-то отличить?


G>Легко:



G>
G>class A
G>{
G>}

G>//...
G>var a = new A();
G>var b = new A();
G>var c = a;

G>a==b //false
G>a==c //true
G>


G>В этом и заключается свойство identity. При этом если a == b, то a.Equals(b) == true.

Тут мы получили равенство ссылок, а не отличие в поведении объектов.
Отличие в поведении мы получим так:
    Console.WriteLine(a.Equals(b)); // False
    Console.WriteLine(b.Equals(b)); // True
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.