[Warszawa-pm] Subclassing aplikacji

Piotr Roszatycki piotr.roszatycki w gmail.com
Śro, 9 Cze 2010, 04:51:24 PDT


W dniu 9 czerwca 2010 13:25 użytkownik piotr pogorzelski <pp w webtel.pl>napisał:

>
> mnie uwiera forma w jakiej pisane sa programy z moose,
> a moose to "perl6 in perl5" czyli anonsuje
> jaki bedzie perl6
>
> po prostu automagiczne sztuczki to lubie w cyrku
>
> kod mam rozumiec na pierwszy rzut oka -
> i z tym mam coraz wiekszy problem ;)
>

Takie sztuczki to były od dawna, wystarczy popatrzeć na Class::Classless
albo Class::Closure, które są ultramagiczne. Wg mnie to własnie Moose
uporządkowało te sztuczki i dzięki temu mamy taki standard de-facto (Mouse,
Coat, jakieś azjatyckie podróbki ;) i jedną uporządkowaną składnią i nie
trzeba wymyślać od zera wciąż tego samego. Mam na myśli obsługę atrybutów
(tych z OO) oraz konstruktorów, który każdy implementuje po swojemu: Moose,
Mojo, Object::Tiny, Class::XSAccessors, Spiffy, Class::MethodMaker,
Rose::Object i setki innych wynalazków na potrzeby jednej biblioteki.

Na miejscu Zbyszka przekonwertowałbym się spowrotem na Mouse, bo:

1. Składnia czytelniejsza od Class::XSAccessor. Zamiast korzystania z use i
magicznych struktur explicite deklaruje atrybuty i metody.

2. Nie muszę korzystać z kompilatora przy deploymencie aplikacji, bo
Mouse::PurePerl pozwoli odpalić mi serwis także na domyślnej instalce Perla
bez kompilatora.

3. Nie muszę korzystać z CPAN w ogóle, bo Mouse::Tiny pozwoli mi ograniczyć
zależności do jednego pliku z biblioteką.

-- 
.''`.    Piotr Roszatycki
: :' :    mailto:Piotr.Roszatycki w gmail.com
`. `'     mailto:dexter w debian.org
 `-
-------------- następna część ---------
Załącznik HTML został usunięty...
URL:  <http://mail.pm.org/pipermail/warszawa-pm/attachments/20100609/65e0ab2b/attachment.html>


Więcej informacji o liście Warszawa-pm