[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