2011/4/1 Enrico Franchi <enrico.fran...@gmail.com>: > Simone Federici wrote: > >> ma sapete quali sono gli errori più clamorosi di design di java? >> object ha un metodo clone ma non implementa clonable > > +1
Che è un gotcha con grosse ragioni storiche ereditato da Java 1.0 e mantenuto per non danneggiare la retrocompatibilità. Ma quale linguaggio non ha di questi problemi? Comunque che sia un errore e che sia mantenuto per questo motivo è assodato, non mi pare che la community Java sostenga che il funzionamento attuale sia ideale. >> l'interfaccia serializable non è un interfaccia ma un marcatore. >> a questo punto era meglio implement NotSerializable :-) > > E la reiterano. RandomAccessCollections o come si chiama. Le marker interface erano utili nell'era pre-annotations. Sono d'accordo che crearne di nuove per codice privo di requisiti di retrocompatibilità sia un errore, ma non dimentichiamoci della storia. E anche in Python, putroppo, si continuano a fare errori di design. Vediamo il recente package IO? http://www.python.org/dev/peps/pep-3116/ Comodamente, l'interfaccia ha sempre le funzioni read() e write(), così se uno stream è solo leggibile o solo scrivibile un metodo esisterà ma solleverà sempre un'eccezione. Ripeto, il problema secondo me non è sbagliare. Tutti sbagliano. Il problema è a) continuare a sbagliare b) credere di non aver sbagliato c) non osservare e imparare da errori & successi altrui. -- http://www.franzoni.eu - public@[mysurname].eu Latest blog post: Using twisted trial as a test runner with zc.buildout http://bit.ly/fAYiQl _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python