<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2015-01-14 11:06 GMT+00:00 Manlio Perillo <span dir="ltr"><<a href="mailto:manlio.perillo@gmail.com" target="_blank">manlio.perillo@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Il multiple dispatching è il mio preferito, perchè è una generalizzazione dei singolo dispatch +- overloading. Però è disponibile in pochissimi linguaggi, magari c'è la fregatura...</blockquote></div><br>Io vedo due problemi principali nel MD. In primo luogo, che dal punto di vista dell'implementatore (e qui me ne frego abbastanza) e' una cosa parecchio piu' complessa, se si vuole farla efficientemente. Vedi per esempio la discussione di Alexandrescu su come farla in C++... per farla efficiente e' veramente un dolore (e ci sono limitazioni). Se poi invece che una feature "un po' complicata da aggiungere" (vedri come fanno in C++ o come puoi fare in Python) e' pronta nel linguaggio e il programmatore tipo non e' il classico hacker lisp ... io vedo una ricetta per il disastro dal punto di vista della piattaforma.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Poi sono d'accordo con te che e' la cosa migliore possibile. Pero' gia' fino a qui puo' andare male in due punti (efficienza e pragmatica).</div><div class="gmail_extra"><br></div><div class="gmail_extra">Poi c'e' il classico problema che se non metti altri limiti (vedi per esempio un qualche tipo di restrizione semi-artificiosa tipo essere nello stesso package) rischi di avere problemi su come md di metodi "estesi" da persone differenti, senza contesto possano spaccare cose random. In un certo senso il problema e' che potenzialmente hai l'equivalente di poter aprire classi per modificarle (e abbiamo visto come funziona bene in Ruby... ewk), ma su cose per definizione fuor di namespace. </div><div class="gmail_extra"><br></div><div class="gmail_extra">Cioe', ci sono probabilmente modi di fare il tutto bene e tranquillo... ma ci vuole disciplina sia dall'implementatore (e va bene) sia soprattutto dal programmatore. Vanno trovati quali sono le limitazioni che rendono la feature sana, ma che al contempo non sono eccessivamente restrittive.<br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"> .<br>..: -enrico-</div>
</div></div>