The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Размышления будущем языка Perl 5"
Отправлено camel, 04-Дек-08 17:28 
>>Какие там затруднения у изучившего всю гору невнятной и разрозненной документации?
>
>man perl и остальные man perl*, описанные, кстати, в предыдущем, -- это
>очень разрозненно и невнятно.

именно так. language reference в perl отсутствует де-факто.

>Так примеры будут или как всегда?

Пожалуйста.

perlsyn

"Every simple statement must be terminated with a semicolon, unless it is the final statement in a block, in which case the semicolon is optional."

Правило с исключением и исключением на исключение. Следом: "BLOCK if EXPR" и "if EXPR BLOCK". Короче, можно продолжать до бесконечности. Или и сейчас будем спорить, что все в perl-е однозначно, последовательно и логично?

>Я вот сейчас прочитал ещё раз, на всякий случай, man perlfunc и
>не обнаружил каких-либо исключений. Может, у меня не тот man perlfunc?

Нет, просто вы фанатично отстаиваете свой язык, не замечая очевидных проблем.

>Ну, если мы будем искать сферических коней в вакууме, то в итоге
>скатимся сначала к assembler'у, а потом опять вернёмся к c/c++, а
>всё остальное от лукавого.

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

>>Как инструмент чего?
>Для раскалывания орехов, видимо.

Годится.

>>Может, расскажете про наследование в этом вашем perl-e? Или,
>>например, про разделение прав доступа к полям класса?
>man perltoot
>man perltooc

"Some languages provide a formal syntactic interface to a class's methods, but Perl does not. It relies on you to read the documentation of each class."

То есть наследования в perl-е нет. Или начнете доказывать, что это хорошо и все ООП зиждется на знании реализации класса-родителя?

"it's generally considered rather poor form in most object modules. In an object module, you should set up a protective veil to separate interface from implementation. So provide a class method to access class data just as you provide object methods to access object data."

В 21 веке перл-программисты пишут геттеры\сеттеры для публичных членов класса, даже если никакой особой логики за этим нет. Правда, есть угрозы переписать это все в 6ой версии, которая все никак не родится.

>Дык о чём тогда спорим, и зачем спрашивать про наследование и доступ
>к свойствам?

Спрашивать затем, чтобы натолкнуть вас на рассмотрение проблемных мест языка. На которые вы закрываете глаза.

>>Замечательно. Включите, пожалуйста, подсветку кода и расскажите, что имелось ввиду здесь:
>>@isatype{@isatype} = (1) x @isatype;
>
>Ничего. Даже так: ничего хорошего. Пока не заменить фигурные скобки на квадратные.
>И даже если заменить, всё равно хорошего мало.
>Но теперь вы можете смело начинать рассказывать про use strict, а также
>свести оный к тем самым исключениям.

Лучше смело расскажу о том, что это строка из какого-то стандартного или CPAN-овского модуля. Но не об этом. Я хотел услышать объяснения по семантике этой строки.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру