[Python] 2 neo pythonisti che affrontano un orda barbara di javisti - con quasi-rissa finale
Alan Franzoni
mailing a franzoni.eu
Ven 1 Apr 2011 15:32:19 CEST
2011/4/1 Enrico Franchi <enrico.franchi a 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
Maggiori informazioni sulla lista
Python