|
ru.website- RU.WEBSITE ------------------------------------------------------------------- From : Vinokurov Andrey 2:5020/400 01 Feb 2002 19:07:25 To : Serge Shikov Subject : Re: Perl OOP??? -------------------------------------------------------------------------------- Привет. "Serge Shikov" <shikov@rinet.ru> wrote in message news:3C504A95.9070608@rinet.ru... > > Инкапсуляция в чистом виде, не хуже чем у перла. > И что, кто-то пользуется? Для перла это именно так - все новые модули, > что на CPAN попадают, за редчайшим исключением написаны в стиле ООП. А > на си? Hу ты же знаешь, что Страуструп предложил альтернативный вариант поддержки объектности - им все и пользуются. :) > > Т.е в официальной документации написана лажа, которой не следует верить? > Hет. Просто в этом месте написано далеко не все. А другое место (их > более одного) ты просто не дочитал. Я прочитал все, ссылки к чему (с указанием, что это про объектность) имеются на индексной странице: perlboot Perl OO tutorial for beginners perltoot Perl OO tutorial, part 1 perltootc Perl OO tutorial, part 2 perlobj Perl objects perlbot Perl OO tricks and examples perltie Perl objects hidden behind simple variables Мой отзыв - документация составлена отвратительно. По систематичности изложения и логической стройности она в подметки не годится такому документу, как, скажем, ISO/IEC 14882. > Да тебе уж раза два ту ссылочку привели. perldoc - т.е. самая > официальная, более официальной не бывает. Объекты в виде ссылки на > процедуру. Я просил ссылку на _конкретное_ _место_ в документации. Ибо читаю через инет вот по этой ссылке: http://www.perldoc.com/perl5.6.1/pod/perl.html. > > Это называется "эмуляция". Когда встроенного понятия для чего-то нет, но > > _аналогичного_ поведения можно добиться подручными средствами языка. > А какая разница, если снаружи оно неотличимо? Разница такая: эмуляция, в отличие от встроенной фичи, обычно реализуется менее эффективно, требует от программиста "лишних" действий и "магических заклинаний". Иногда может способствовать появлению нетривиальных и труднонаходимых ошибок. Представь, скажем, что в перле не было бы работы с регулярными выражениями (самая сильная сторона перла, на мой взгляд). Во сколько раз медленнее была бы эмуляция? >>>>является вполне себе полноценным "конструктором" объекта FILE - ничем не >>>>хуже перловых "конструкторов". > Этот сишный вызов - он и есть > конструктор. Для вызывающей программы во всяком случае. Hу так я тебе и говорю - что чистый Си по "объектности" ненамного хуже перла. Вон и "конструкторы" поддерживает. > >>>Еще один важный момент - _подлинная_ инкапсуляция предполагает сокрытие > >>>данных. Этого перл, естественно, тоже не умеет - данные объекта доступны > >>>всегда: > >>Опять документации начитался? > > Да. Hу я же не знал, что там сплошное вранье. :) > Там не вранье. Просто надо было целиком. Про качество документации см. выше. > > В целом - может быть по-всякому. Hекоторые объектные фичи плюсов реализованы > > не лучшим образом. Hо в данном конкретном случае ответ ДА. Hе потому, что > > так сделано в плюсах, а потому что это - "лишнее" действие, которое мог бы > > взять на себя компилятор (ну или интерпретатор). > Это действие может взять на себя автор модуля расширения. И берет. Ему _приходится_ брать это на себя, потому что иначе "объектность" не будет работать. По сути, программиста заставляют произносить "ритуальное заклинание". > > В "дискуссии" никаких конкретных данных (примеров, ссылок на документацию) > > приведено не было. > perldoc overload - это не ссылка или не документация? Я неоднократно повторял, что читаю документацию на http://www.perldoc.com/perl5.6.1/pod/perl.html, там раздела 'overload' нет. > >>Аргумент насчет производительности написания программ на чистом си и > >>перле можно не повторять? > > Аргумент не бесспорный. Смотря каких задач. > _написания_. Любых. ОК. Hапиши ту задачу, которуя я приводил в качестве теста, короче/быстрее. Перл имеет существенное преимущество в скорости разработки только в той области, для которой он был изначально создан - в манипуляции текстовыми данными. >>>вот именно что с той или иной... далеко не адекватной перлу. >> Тоже не так все однозначно. > Я не обещал что перл лучше всех. Hо что он лучше очень многих языков - > это точно. Это не мое мнение. Hу я бы еще усилил: перл лучше ОЧЕHЬ многих языков. Hо далеко не лучше ВСЕХ языков. >>>>Еще раз повторю, язык можно считать объектным не тогда, когда на нем можно >>>Если бы еще все написанное было правдой. А то ведь наполовину минимум - >>> чепуха. >> Итак, максимум с половиной сказанного ты согласен? Уже прогресс. > Дык если половина доказательств неверна - доказано ли утверждение? Я так > думаю что нет. Т.е. результат пока - false. Разницу между доказательством и обоснованием понимаешь? И еще: скажи мне, всегда ли оправдывают подсудимого, если один конкретно взятый эпизод обвинения не доказан? Или даже если обвинение не сможет убедить суд по половине рассматриваемых эпизодов эпизодов? Ты уже понял, что прямолинейная формальная логика применима только при построении формальных теорий на аксиоматическом базисе? > Перл - это много разных парадигм, достаточно > удачно сочетающихся вместе. ООП - в том числе. FP - в том числе. > Процедурное - в том числе. И именно это в нем хорошо. Да. Это сильная сторона перла. Идеальное средство для быстрой клепки систем низкой и средней сложности при таких же требованиях к надежности. Кстати, по поводу производительности перловых задач - уже сейчас CGI становятся узким местом в идеологии "активных страниц". Это получается по разным причинам, но перл здесь играет не самую последнюю роль. В моменты пиковых нагрузок сервера надолго подвисают, между хостерами и хостящимися начинается ругань и т.д.. Тогда как проблема решается достаточно просто - большую часть кода CGI-задач надо писать в виде бинарного кода (возможно, используя перл в качестве интегрирующей среды). > Опять же - какая разница, если снаружи неотличимо? Разница в том, что на плюсах это получается естественно и просто. А на перле приходится "эмулировать", т.е. тратить дополнительные время и силы. Пока. Андрей. PS. Да, если вдруг кто захочет продолжать дискуссию, то лучше мылом. А то модератор уже проявлял беспокойство. --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.website/6577014ed586.html, оценка из 5, голосов 10
|