Артём Н. -> debian-russian@lists.debian.org @ Thu, 05 Jul 2012 20:09:51 +0400:
>> >> Я бы ещё добавил, что ОО-парадигма рождается из желания перейти от >> >> классической модели императивного вычислителя, как единого конечного >> >> автомата, к модели многих изолированных конечных автоматов, >> взаимодействующих >> >> через чётко ограниченные интерфейсы. Точно так же в электронике от >> "паука" >> >> на рассыпухе, пришли сначала к модульным схемам, а потом к ИС. >> АН> Ну и? Это естественный, эволюционный процесс. Разве должно быть иначе? >> Естественный эволюционный процесс развивается параллельно по нескольким >> веткам. В данном случае это существенно. АН> По каким? Я не очень понял, что здесь существенно... Существенно здесь то, что направлений улучшения возможно более одного, и естественный эволюционный процесс обычно более одного и задействует. В результате получается разнообразие видов, а не одна накачанная амеба. >> >> В такой интерпретации ясно, что если в неком языке императивный >> >> вычислитель явно не просматривается, то и от ОО-модели этот язык не >> >> особо выиграет. >> АН> Почему не выиграет? >> Потому что их приткнуть либо некуда, либо незачем. АН> Для функциональных, опять же, понятно: есть функция. Объекты не АН> требуются. Инкапсуляция обеспечивается функцией. Наследование АН> заменяется агрегацией. Полиморфизм... Тоже может быть. Я очень АН> плохо знаком с функциональной парадигмой. Полиморфизм поведенческий, а агрегация плюс полиморфизм - это уже больше, чем наследование. Наследование оказывается как-то не очень нужным. >> АН> Объекты могут быть независимыми сущностями (собственно, так и есть, >> АН> если они строго через интерфейсы взаимодействуют). Как объект >> АН> реализован внутри - не важно (например, это может быть >> АН> функциональная программа), порядок их взаимодействия тоже не очень >> АН> важен (или он регулируется самими объектами). Ну, возможно назвать >> АН> это какой-нибудь сопрограммой, например, а не объектом. Но суть от >> АН> этого разве поменяется? >> >> Все это можно сделать. Увеличение пользы где? Если у тебя >> функциональная программа уже есть, то зачем тебе объект в виде >> функциональной программы? Чего тебе в языке до введения объектов не >> хватало? АН> Хз. Просто я толком не знаю других парадигм. Объект мне кажется АН> достаточно простым и ясным. Например, функция не хранит данные, как АН> объект... Тоже может. Слово closure (в русском переводе - замыкание) тебе не встречалось? Нет, функция на C такого не умеет, а на нормальных языках с функциями - умеют. >> И так далее. В итоге ты начинаешь вносить в язык, обладающий >> достаточной выразительной силой, парадигму, которая выразительную силу >> языка не увеличивает, а при неаккуратном употреблении и уменьшает. А >> смысл? АН> Сейчас вы говорите так. А если вспомнить про Perl..? :-) Там это удалось сделать достаточно аккуратно, и главное, не в обязательном порядке. Но это довольно редкий случай. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87vci1toym....@wizzle.ran.pp.ru