LINUX.ORG.RU

Объекты провалились


0

0

Опубликован перевод статьи Ричарда П. Гэбриэла, в которой автор наглядно демонстрирует нежизнеспособность парадигмы объектно-ориентированного программирования в ее теперешнем виде, в частности на примере ее воплощения в Java. Будущее -- за новыми идеями (или хорошо забытыми старыми).

За перевод спасибо Александру Майбороде ака HandleX.

>>> Подробности

anonymous

Проверено: ivlad ()

Ответ на: комментарий от vada

Не знаю. Нам этим летом "Незнайка на луне" задали читать.

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

Да рано еще про язык. Еще не определились чего хотим.

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

> 1) Умею создавать себе подобных при наличии ресурса;

Система распознавания порога значений достаточности ресурса?

> 2) Не обижаю себе подобных, защищать себе подобных даже ценой собственной целостности;

1. Система распознавания "себеподобных". Набор критериев.
2. Система обнаружения и анализ угроз. Система выделения вектора угроз. Прогноз и анализ состояния.
3. Система контроля целостности, система моделирования желаемого состояния, система анализа допустимых различий (см. п.11)

> 3) Стараюсь снизить энтропию, т.е. упорядочить связи с себе подобными;

1. Система поиска и анализа "себеподобных". Система адекватного анализа объективного мира.
2. Упорядочивание подразумевает иерархию... :-)

> 4) Укреплять удачные связи;

Анализ нестабильности связей. Система моделирования желаемого состояния и система детектирования текущего состояния.

> 5) Освобождать неработающие связи;

Система моделирования желаемого состояния и система детектирования текущего состояния. Анализ модели желаемого состояния. Система тестирования отклонений.

> 6) Стараться задействовать все возможные связи;

1. Система адекватного анализа объективного мира.
2. Система составления модели объективного мира.
3. Система моделирования себя и своего места в мире.
4. Система моделирование "себеподобных" и их свойств.
5. Система исследования наличия новых свойств.
6. Система адаптации/изменения своих свойств/.
7. Анализ допустимости изменений (см п.11 :-)

> 7) При разрушении удачных связей пытаться их восстановить;

1. Анализ удачности/неудачности.
2. Система составления модели объективного мира.
3. Система моделирования себя и своего места в мире.
4. Система моделирование "себеподобных" и их свойств.
5. Система исследования наличия новых свойств.
6. Система адаптации/изменения своих свойств/.
7. Анализ допустимости изменений (см п.11 :-)

> 8) Неоставлять необработанными входящие события

При УЖЕ существующей сложности -- не проблема. :-)

> 9) При переполнении очереди событий, передавать их для обработки себеподобным;

1. Анализ наличия переполнения.
2. Система моделирования допустимой нагрузки.
3. Система информирования окружающих о собственной загрузке.
4. Система сбора и анализа сведений о загрузке "себеподобных".
5. Система формулировки и постановки задачи.
6. Система формирования целей.
7. Система коллективного формирования целей.
8. Система коллективной разработки.

> 10) Разрывать и не создавать связи с поврежденными себеподобными;

1. Система адекватного анализа объективного мира.
2. Система составления модели объективного мира.
3. Система моделирования себя и своего места в мире.
4. Система моделирование "себеподобных" и их свойств.
5. Система исследования наличия новых свойств.
6. Система адаптации/изменения своих свойств/.
7. Анализ допустимости изменений (см п.11 :-)


> 11) При нарушении собственной функциональности, самоликвидироваться;

1. Система адекватного анализа объективного мира.
2. Система составления модели объективного мира.
3. Система моделирования себя и своего места в мире.
4. Система моделирование "себеподобных" и их свойств.
5. Система исследования наличия новых свойств.
6. Система адаптации/изменения своих свойств/.
7. Анализ допустимости изменений (см п.11 :-)
8. To be or not to be? That is the question.
9. Система недопуска "суицидального" состояния.
10. Наличие интеллекта с подобными возможностями предполагает самоанализ, с системой определения "своего места в мире". Поэтому, при наличии постоянной угрозы "самоликвидации" -- система защиты от "психоза".

Чего еще придумать можно?

Может достаточно, точнее, уже слишком многого хотите, ленивцы ???

:-)

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

1) Умею создавать себе подобных при наличии ресурса; Зачем ??? и в чем цель этого ....

2) Не обижаю себе подобных, защищать себе подобных даже ценой собственной целостности; возможно что бы защитить уже созданых не нужно создавать новых ? Или наоборот .... (как же пункт 3 ) 3) Стараюсь снизить энтропию, т.е. упорядочить связи с себе подобными; Упорядочивание связей может усилить энтропию (любая мафиозная структура) 4) Укреплять удачные связи; Удачные для кого ? а как же пункт 3 и противоречие с пунктом 1 5) Освобождать неработающие связи; Я и говорю мафия .... ( Свои связи я надеюсь ...) 6) Стараться задействовать все возможные связи; А как же пункт 3 (снижение энтропии) как же пункт 5 7) При разрушении удачных связей пытаться их восстановить; Даже если их разрушаешь ты сам (пункт 10)

8) Неоставлять необработанными входящие события Тогда мы становимся жертвой флуда вызванного например 1 9) При переполнении очереди событий, передавать их для обработки себеподобным; Или флуда из пункта 9 10) Разрывать и не создавать связи с поврежденными себеподобными; Ай Ай а как же пункт 2 и тут же их начинаем востанавливать (пункт 7) а также пункт 8 а также 6 11) При нарушении собственной функциональности, самоликвидироваться Стреляться или Создавать себе подобных вот в чем вопрос .... (и ты сам себе судья?)

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

вот чтоб все это слить и спустимся ниже:

имеем шаблон

ищем
взаимодействуем
сравниваем
адаптируем (возможно в обе стороны)
smth etc...

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

нет чувак ты типа не понял имеем очень сильно связный граф где отношения это ПРОТИВОРЕЧИВОСТЬ протеворечивость 10 правил каждого с каждым если ты начнеш решать ее в лоб то извини получишь 100 к 100 и т д

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

anonymous (*) (16.08.2004 16:15:19)

> нет чувак ты типа не понял имеем очень сильно связный граф где отношения это ПРОТИВОРЕЧИВОСТЬ протеворечивость 10 правил каждого с каждым если ты начнеш решать ее в лоб то извини получишь 100 к 100 и т д

Математик... :)

А то, что разумные организмы справляются с подобной постановкой задачи, тебе ни о чём не говорит?

Поблема не в поисках решения /оно существует, хоть нестабильно и неоднозначно/. Вопрос в реализации.

И, кстати, каков прогноз, при существующих технологиях, размеров "существа" при наличии всех датчиков анализа собственного состояния, исследования объективного мира, питания и наличия некоторой функциональности?

В размеры пчелы укладываемся? :)

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

> И в pAnini-stotra для него в 5 веке до нашей эры была дана грамматика в нотации, похожей на BNF.

где об этом можно почитать?

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

Да говорит (Убыль населения россии и рост наркомании мне о многом говорят) К тому же они и мы аналоговые то самое нестабильно и очень нестабильно мы вроде бы говорим про дискретный агрегат. Они не справляются ни фига. Также можно сказать что человек справляется с ходьбой босиком по минному полю ( 1 из 10000 пройдет к финишу и размножится)

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

> Вообще Все это забавно должно кончится делать вид что ты что-то делаешь можно только до тех пор пока у тебя есть ( пусть и опосредовано нефтяная вышка) Вышка кончится и пипец Яве ООП ... виндам ...

На Науру вот гуано недавно закончилось:

Вчера одно из самых богатых государств мира - Республика Науру - объявило о банкротстве. Виноваты во всем десятки миллионов перелетных птиц, которые тысячелетиями используют маленький остров на экваторе - это и есть Науру - для отдыха при сезонных миграциях. 10-тысячное население самой маленькой в мире республики жило на доходы от продажи птичьих экскрементов. Но в этом году запасы гуано подошли к концу. ... Страна Науру процветала - на 10 тысяч населения приходится 15 тысяч частных автомобилей (а протяженность дорожной сети официально не превышает 20 км). ... Буквально в течение нескольких недель страна оказалась без телефонной связи и электричества - кондиционеры, холодильники и прочая аппаратура, которую "эмиры Тихого океана" накупили в годы изобилия, теперь никому не нужны..."

http://www.rambler.ru/db/news/msg.html?mid=4898097&s=4

> Ждем ..

Ага. Недолго уже.

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

> Да говорит (Убыль населения россии и рост наркомании мне о многом говорят) К тому же они и мы аналоговые то самое нестабильно и очень нестабильно мы вроде бы говорим про дискретный агрегат.

В России ещё нефть скоро закончится. Это тоже важно.

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

Это существо в дискретном варианте может жить только в открытом космосе где много энергии сырья нет коррозии много места и времени. Укладываемся в объем биосферы планета земля без нее пчела это мусор

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

> И какой вывод о внутренней реализации ты можешь сделать из этих строк? Например, ты можешь сказать, что в объекте o присутствует член a? Ты можешь изменить оный a, буде, предположим, он присутствует, не меняя при этом члена d -- если я _не_захочу_ предоставлять тебе такой возможности?

В класическом ООП я должен сказать dog.friskTail() а не dog.getTail().frisk().

Если у dog есть метод getTail(), то значит ли ето, что у собаки _нет_ хвоста? Или позже можна будет заменить метод getTail() чтобы он возвращал обьект Tongue вместо Tail?

Только собака должна махать своим хвостом, и никто другой. И никого не должно волновать - есть ли у _етой_ собаки хвост или нет. Метод dog.getTail().frisk() гарантировано сбойнет, если у собаки нет хвоста, или она машет чем нибудь другим :-) .

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

> Пчелы, как продукт многовековой эволюции очень стабильны, в отличие от Линукса.

Но они и в миллиадры раз сложнее.

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

Нет, не сами себя! В "Непобедимом" они все-таки произростали на "кустиках". Ну в моменте когда они танк запустили в какое-то ущелье, так он потом сгорел от собственной защиты...

Хотя, если бы и саморазмножались, то Лему простительно - "Непобедимый" кажется писался до появления первого "червя", где с саморазмножением были проблемы...

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

>Чего еще придумать можно?

>Может достаточно, точнее, уже слишком многого хотите, ленивцы ???

Не, паря! Не в ту степь порулил. Функции наночастицы должны быть примитивны. А вот собравшись в рой они должны самоорганизоваться для реакции на внешнее воздействие. Сама ячей ка должна просто реагировать на поступившее событие. Мало того сама среагировать, но и передать дальше.
А система адекватного анализа объективного мира, этим пусть рой занимается.

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

> когда они танк запустили в какое-то ущелье, так он потом сгорел от собственной защиты...

все правильно, они ломали на уровне управления (хакали:), после чего противник переставал быть таковым

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

> А система адекватного анализа объективного мира, этим пусть рой занимается.

То-же самое сравнение. Только "рой" => уровень выше, образец для сравнения на новом уровне. За образец берется сам организм.

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

> Не, паря! Не в ту степь порулил. Функции наночастицы должны быть примитивны. А вот собравшись в рой они должны самоорганизоваться для реакции на внешнее воздействие.

Ну, так она тебе что-то и должна... Кстати, ты можешь не входить в круг её друзей.

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

Как ты это собираешься реализовать? Расскажи.

> А система адекватного анализа объективного мира, этим пусть рой занимается.

Какие ограничения наложишь на свойства и функции "наночастицы" ?

:-)

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

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

a, b = b, a

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

> ОО программирование требует тщательного, затратного, безошибочного проектирования

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

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

> Все наоборот. Это ООП-идолопоклонникам надо до функционального доучиваться. Неучи.

Хрен вам. Objective CAML рулит =)

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

> Там он говорит что единственный язык из существующих на планете который однозначно описывает событие в пространстве и времени это санскрит

Я думал это loglan/lojban и клоны.

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

>>"aha.m vadAmi sa.msk.rtam"

> а как его выучить самым простым способом не подскажешь?

Насчет простого способа --- не знаю, сам пока что еще буквы путаю :-)

А кое-какие учебники есть здесь: frank.deutschesprache.ru ("если на клетке слона написано 'буйвол'...", но тем не менее), и здесь: sanskrit.gde.to --- множество ссылок, учебник Wikner'а и санскритские тексты.

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

>> И в pAnini-stotra для него в 5 веке до нашей эры была дана грамматика в нотации, похожей на BNF.

> где об этом можно почитать?

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

--

SVK

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

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

int19h ★★★★
()
Ответ на: комментарий от Sun-ch

> Такой умный? Да? Череп не жмет?

Жмет. Больно. Но привыкаешь =)

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

Не говори. А главное слова какие обидные "сингулярность"

Помнится был я на одном семинаре, паренек втирал чето там про ассимптотику решений уравнения Шрёдингера, дык он токо пикнул разок про
"сингулярность", профессура ему чуть очки не расколотила.

Sun-ch
()
Ответ на: комментарий от int19h

> Я не понял, речь о русском? =)

Ага

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

> Помнится был я на одном семинаре, паренек втирал чето там про ассимптотику решений уравнения Шрёдингера, дык он токо пикнул разок про "сингулярность", профессура ему чуть очки не расколотила.

... а потом этот паренек с горя забросил науку, подался в админы, и сделал себе наколку "man man"?

Да, печальная история ...

int19h ★★★★
()

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

Лично я считаю, что Java - один из самых продуманных и внутренне непротиворичивых языков. В отличии от С++, например.

Спасибо. Тролль.

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

>> Этажом выше писал, названия помню неточно "Непобедимый", а вотрая "Раздвоение личности". Классная фантастика. Раздвоение личности прикольная книжка. Там мужику вот эти самые хреновинки отделили правое и левое полушария друг от друга. Или я с чем-то путаю. давно было.

это случаем не "сумма технологий"?

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

"Всё -- фигня, кроме пчёл. Кстати, пчёлы -- тоже фигня" (с) :)

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

...тогда, не читай.

P.S. Мазохист, блн

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

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

Мы это сделаем таким образом: A:=A+B; B:=A-B; A:=A-B;

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

> Мы это сделаем таким образом: A:=A+B; B:=A-B; A:=A-B;

А лучше через XOR, без возможного переполнения.

:-)

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

Открой для себя мир оптимизирующих компиляторов, для которых нет разницы между a ^= b ^= a ^= b; и a += b; b = a - b; a -= b;

:)

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

>Мы это сделаем таким образом: A:=A+B; B:=A-B; A:=A-B;

Ну и глупо. Результат не определен. Может получиться. Но может и переполнение произойти. А я сделаю так: a ^= b ^= a ^= b;

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

за такие предположения и в биореактор можно угодить.

PS. Тут гении ООП. Ну ладно пацаны, отдыхайте.

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

> А я сделаю так: a ^= b ^= a ^= b;

Ох уж эти сказочники... Иногда встречаются такие VM, на которых xor недоступен... :-P

> Но может и переполнение произойти.

Обычно я весьма чётко представляю диапазон значений, который может попадать в мои переменные. Если будет угроза переполнения - применю другой способ. Кстати, я не понял, у вас что арифметика с насыщением в компах? Пример длины типа и двух чисел, дающих ошибку при обмене можно?

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

Это цитата из Кернигана и Пайка? Тогда respect )))

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