[Moscow.pm] А все таки классный язык Perl.
Ivan Petrov
i.petro.77.00 на gmail.com
Пн Дек 10 07:20:29 PST 2012
>> "Костыль" призванный устанить недостатки языка никогда не будет
>> полнофункциональным. Тем более когда в языке нет конструкций для
> правильного
>> отлавливания таких исключений.
> "в языке нет", а Mojolicious вполне ловит. чудеса да и только
> Ну так поймать исключение perl вполне может. Но вот поймать определенный тип
> исключений уже нет. Для этого нужно писать эмуляцию, которая еще и глючит в
> некоторых ситуациях.
eval {
...
};
if (ref $@ eq 'My::Exception::CoolClass') {
....
} elsif ($@) {
die;
}
> Впрочем, Ваша мысль мне так и осталась не понятной. Что же такого плохого в
> самих structured exceptions?
в них нет ничего плохого. впрочем хорошего в них я тоже не нашел
ничего :)
>> Вообще-то существуют и другие варианты.
> да понятное дело что существуют, разговор зашел то об этом варианте
> Нет, разговор шел не об этом.
написано было "неудобно везде писать $self->". я это понял именно в
контексте того что человеку нравится что язык за него это неявно
дописывает.
> эмм. b.to_i - это теплое
> а $self->b - это мягкое
> Я потерял нить. Так почему в мягком случае много boilerplate кода хорошо, а в
> теплом - плохо?
эмм. еще раз.
трудно читается код (ИМХО разумеется) когда в нем идет обращение к
переменным, определенным далее локальной области видимости.
когда человек видит
a = b;
и не видит b внутри функции, он не знает где искать его. толи в
глобальных переменных, толи внутри класса, толи в модульных
переменных.
когда человек видит
$a = $self->b;
то где что искать определено однозначно.
это мягкое.
эта проблема имхо никак не пересекается с проблемой
$a = '10';
$b = 20;
$a * $b;
ибо это уже - теплое
Подробная информация о списке рассылки Moscow-pm