[Python] Python vs UML

Y3s y3s a katamail.com
Dom 3 Feb 2008 21:43:23 CET


Il giorno 03/feb/08, alle ore 21:31, Java ha scritto:

> Y3s ha scritto:
>> Il giorno 03/feb/08, alle ore 20:30, giuseppe saviano ha scritto:
>>
>> <CUT>
>>
>>
>>> ho capito che la progettazione uml in alcuni casi risulta limitante;
>>>
>>
>> In alcuni casi?!? Sempre direi...UML è IMHO una roba di cui non ho
>> mai capito il senso. Se devo spiegare un concetto ad altre persone è
>> molto più facile e comprensibile un pezzo di codice ben scritto
>> (soprattutto se è python). Se lo devo spiegare a un non tecnico,
>> avere uno schema pieno di riquadri, linee e freccette non aiuta di
>> certo...mentre per la documentazione, codice ben scritto si documenta
>> al 90% da sè. I commenti servono proprio a spiegare il 10% rimanente.
>> Insomma, non trovo una sola applicazione utile di UML, se non quella
>> di vendere tanti libri e rompere le scatole a chi vorrebbe produrre
>> invece di perdere del tempo ;-)
>>
>>
> Mah...
> Vai e dillo alla IBM (Microsoft Hp etc etc)che con l'uml ci  
> "perdono" un
> sacco di tempo. Ti do una dritta generale: quando un'azienda fa
> qualcosa, è perché ci guadagna, non perché ci perde del tempo.

UML viene spinto dai manager non certo da quelli che lavorano ;-)  
Immagino che praticamente tutti gli sviluppatori eviterebbero  
volentieri se possibile.
In ogni caso, IBM, microsoft, hp, ecc. fanno software da ben prima  
che venisse inventato UML. O Java. O qualunque tecnologia  
"irrinunciabile". E non mi pare che guadagnassero meno.


> Poi cerchiamo anche di separare un po le cose. Una cosa è quando  
> fai il
> tuo programmino o sitini internet. Un'altra è quando devi  
> progettare una
> grossa applicazione alla quale trovi impegnati diversi team. Come
> esercizio  potresti provare ad analizzare i codice dell'ultimo kernel
> linux. Vediamo se lo capisci al 90%.

Come tutti sanno, linux è pieno di UML, vero? UML come strumento di  
progettazione è del tutto inutile, come ampiamente dimostrato da  
praticamente tutti i software open source, linux incluso.
In ogni caso, se Linus (intendo ovviamente la community) avesse  
scritto tutti i diagrammi UML prima di cominciare lo sviluppo di  
linux, probabilmente non mi avrebbe semplificato la comprensione del  
kernel (che è un software particolarmente complesso e dipendente da  
dettagli di basso livello), ma sicuramente non avremmo avuto alcun  
"linux" funzionante per chissà quanti anni. Ti consiglio di leggere  
il famoso saggio "La cattedrale e il bazaar", di E. Raymond,  
reperibile facilmente in rete.


> L'UML fa da "linguaggio universale" che chiunque può prendere capire e
> implementare.

Chiunque studi UML. Come chiunque studi python (o qualunque altro  
linguaggio altamente espressivo). Con la differenza che se scrivo in  
python ho anche un prototipo funzionante.


> Lo si può usare *anche* come documentazione inserito all'interno di
> processi di sviluppo agili tipo XP programming e simili. Ma magari
> avrete da ridire anche su di questi...

Continuo a non capire perchè devo mettermi a disegnare quadretti e  
freccette per documentare qualcosa. Se ho bisogno di una  
documentazione tecnica ho codice e commenti, se invece ho bisogno di  
documentazione per i manager, scrivo una mezza paginetta in inglese/ 
italiano/quant'altro.

> Per maggiori dettagli sull'UML:
> http://it.wikipedia.org/wiki/Unified_Modeling_Language

Conosco UML, grazie. (com'era la pubblicità? se lo conosci lo eviti?)


> Per l'elenco di aziende che si divertono a perdere tempo:
> http://www.omg.org/cgi-bin/apps/membersearch.pl (schiacciare "search")

Che poi sarebbe proprio da vedere come e quanto viene utilizzato  
all'interno delle aziende. Cosa impossibile da fare per software closed.

--
Antonio Valente




More information about the Python mailing list