W dniu 9 czerwca 2010 13:25 użytkownik piotr pogorzelski <span dir="ltr">&lt;<a href="mailto:pp@webtel.pl">pp@webtel.pl</a>&gt;</span> napisał:<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br>
mnie uwiera forma w jakiej pisane sa programy z moose,<br>
a moose to &quot;perl6 in perl5&quot; czyli anonsuje<br>
jaki bedzie perl6<br>
<br>
po prostu automagiczne sztuczki to lubie w cyrku<br>
<br>
kod mam rozumiec na pierwszy rzut oka -<br>
i z tym mam coraz wiekszy problem ;)<br></blockquote><div><br></div><div>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.</div>
<div><br></div><div>Na miejscu Zbyszka przekonwertowałbym się spowrotem na Mouse, bo:</div><div><br></div><div>1. Składnia czytelniejsza od Class::XSAccessor. Zamiast korzystania z use i magicznych struktur explicite deklaruje atrybuty i metody.</div>
<div><br></div><div>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.</div><div><br></div><div>3. Nie muszę korzystać z CPAN w ogóle, bo Mouse::Tiny pozwoli mi ograniczyć zależności do jednego pliku z biblioteką.</div>
<div> </div></div>-- <br> .&#39;&#39;`.    Piotr Roszatycki<br>: :&#39; :    mailto:<a href="mailto:Piotr.Roszatycki@gmail.com">Piotr.Roszatycki@gmail.com</a><br>`. `&#39;     mailto:<a href="mailto:dexter@debian.org">dexter@debian.org</a><br>
  `-<br>