Re: [Python] Python vs UML

2008-02-14 Per discussione Giovanni Porcari

Il giorno 14/feb/08, alle ore 20:03, [EMAIL PROTECTED] ha scritto:

 Non c'e` specifica migliore di questa:

 assert somma(4, 5) == 9

 A te il compito arduo di scrivere la funzione che ho usato poco sopra.



LO SO... LO SO...

def somma(a,b):
 return b*b - a*a

  somma(4,5)
9

Ah... che bello! Soddisfa il test :D


G
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-14 Per discussione dialtone


On 7 Feb, 02:55 pm, [EMAIL PROTECTED] wrote:

Toh... compare un linguagigo di modellazione per specifiche hardware.
Per l'hardware va bene e per il software no?


Ma e` chiaro... Realizzare l'hardware ha dei costi non indifferenti.

Come pensi di simulare il funzionamento dell'hardware senza realizzarlo
se non hai un modello?

Di contro il software e` estremamente flessibile e non si capisce 
perche`

dovrei cercare di irrigidirlo invece di usare una strada che mi permetta
di sfruttarne la flessibilita`.

Per inciso, chiunque abbia competenze di Product Lifecycle Management
sa benissimo quanto sia cruciale per loro l'accorciamento del tempo
di sviluppo di un nuovo prodotto e l'introduzione di strumenti digitali
che rendesse possibile lo studio fisico sul modello virtuale ha ridotto
i costi in modo assurdo. Un modello di automobile per un crash-test e`
capace di costare 2-4 milioni di euro e devono farne parecchi di crash- 
test.

Se riesco a fare CAE sul modello riduco il numero di modelli fisici che
dovro` realizzare, potenzialmente portandolo a uno.

L'idea e` chiaramente quella di ridurre il costo del
prodotto e erroneamente viene applicata anche al software. Nel software
non c'e` differenza tra modello e prodotto, sono la stessa cosa. 
Realizzare

il modello del modello e` abbastanza inutile se permetti.

Ecco perche` non va bene paragonare le case al software o i prodotti 
fisici

al software. Il software NON e` fisico. E` software ed e` di per se` un
modello e un prototipo di se stesso.

C'� una grossa azienda che produce software molto grosso e ha sedi di
tutto il mondo. Essa vende un programma fantastico che però quasi 
subito

accusa dei malfunzionamenti. Fatti gli accertamenti del caso, si scopre
che c'� un pezzo di codice che non si comporta a dovere.



Supponiamo poi che il progettista e lo sviluppatore siano persone
diverse (che non � una roba cos� poco diffusa come potreste pensare)
come fa il progettista a discolparsi? Con dei fogli di stampante su cui
ha scritto degli appuntini per lo sviluppatore? O magari affermando 
che

lui gliel'aveva detto al programmatore come si faceva?


Il progettista non e` molto bravo perche` invece di scrivere dei fogli
di carta doveva scrivere parecchi test di integrazione e
di sistema ecc. ecc.

Il programmatore invece doveva scrivere dei test unitari su cio` che 
scriveva.


Non c'e` specifica migliore di questa:

assert somma(4, 5) == 9

A te il compito arduo di scrivere la funzione che ho usato poco sopra.

Poi d'accordo che il progettista non sempre scrive dei test ma nel caso
collabora con chi lo fa (gli ingegneri QA, i deployment engineer e via 
dicendo) ed e` in grado di dire quali siano i test necessari e quali no.


Con l'UML _COMUNQUE_ non si sarebbe scoperto che il programmatore 
briccone

aggiungeva 1 a tutte le somme e moltiplicava per 3 tutte le differenze.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-14 Per discussione dialtone




On 6 Feb, 04:21 pm, [EMAIL PROTECTED] wrote:

La mia esperienza � quella espressa all'inizio. Non esiste dire che
l'UML fa schifo. Come non ha senso dire Java fa schifo, Perl fa schifo,
il minestrone fa schifo. Come gi� detto ci sono diversi campi di
applicazione. Personalmente l'ho usato solo *una* volta, e con 
profitto,

durante lo svolgimento del tirocinio. Tutte le altre volte (siti web e
robe del genere) mi sono fatto due pallini a penne in un foglio e ho
risolto egregiamente.


Non capisco perche` non si possa dire che qualcosa faccia schifo. Magari
non lo faceva quando e` nato ma con l'evoluzione inizia a fare schifo o
a essere inadatto un po' per tutto. D'altronde se pure i Javisti stanno
cercando un sostituto di Java con Scala un motivo ci sara` credo.

Diverso e` il discorso se sia o meno una cosa che fa schifo a te, nel 
senso
che se a te basta Java allora siamo tutti contenti. Ci sono persone a 
cui
Java non piace ma non per partito preso, piuttosto perche` l'hanno 
usato,
poi hanno imparato altri linguaggi e hanno visto che riuscivano ad 
essere
piu` produttivi per fare sostanzialmente qualsiasi cosa e allora la 
conseguenza e` che ad oggi il linguaggio vecchio non sia piu` adatto. 
Poi

si puo` provocare un po' dicendo che fa schifo.

Qualuno ha fatto notare che If the implementation is hard to explain,
it's a bad idea;. Ma purtroppo la mondo esistono cose complicate da
spiegare a voce e/o con codice vario. Se devo fare un'applicazione che
regola il braccio meccanico che esegue un'operazione laser sugli occhi,
l'UML serve.


Diceva Einstein che hai veramente capito una cosa solo quando riesci a
farla capire anche a tua nonna. Devo ancora conoscere un argomento che
non si possa imparare facilmente nel suo concetto. Sono riuscito a 
spiegare
come funziona un JIT a una dottoressa di lingue orientali, penso di 
poter
riuscire a spiegare come funziona un'applicazione che esegue 
l'operazione

laser sugli occhi.

Resta oscuro il motivo per cui UML porterebbe a software piu` robusto e
con meno bachi. Da quando il livello di dettaglio di UML e` tale da 
impedire

i bachi?
Prima di tutto potrei non sapere che linguaggio di programmazione 
usare:


Capo:  Hey tu? Ci serve un programma che permetta di utilizzare questo
fantastico dispositivo embeddato all'interno di un vibratore che
regoli la frequanza degli impulsi.

Io: Ah, si ok, in cosa lo scrivo? c, c++ o  turbo pascal?
Capo: Non lo so, non ci � ancora arrivato, per� mi assicurano che � a
oggetti


E` a oggetti cosa significa? Il vibratore e` un oggetto non e` a 
oggetti.
Io: Hey! Ma se non è ancora arrivato come faccio a sviluppare 
qualcosa?

Ho il codice?
Capo: Col cazzo, eccoti gli schemini UML. Tu devi estendere la classe
Vibro implementando qualcosa per la regolazione dell'intensit�


Non funziona cosi`... Nei dispositivi embedded ci sono una serie di 
problemi

di basso livello che vanno affrontati altro che UML. Se quando ti arriva
l'amplificatore scopri che invece di 2MB di EPROM ce n'e` solo la meta` 
cosa
fai col codice che hai scritto? Lo butti via, altro che UML. Se quando 
arriva
scopri che non puoi usare glibc (per dire) ma devi usare tiny-libc-from- 
vattelapesca-srl il codice lo puoi buttare via. Se quando arriva... (e 
via dicendo, ci sono un milione di problemi nelle tecnologie

embedded, che mica per niente si chiamano embedded visto che software e
hardware sono mortalmente accoppiati).

Quindi mooolto prima che inizi l'implementazione, tutti i diagrammi
vengo analizzati da diverse persone, in diretto rapporto con il
commitente e con esperti del settore, ad esempio medici e ingegneri
biomedici. Perci� il progetto subir�  svariate modifiche. Iniziare a
scrivere codice ora, sarebbe una cosa piuttosto noiosa. Dato che molto
di esso verr� cancellato e/o profondamente modificato.


E` assurdo ragionare di architettura quando non hai la piu` pallida idea
di quello che potrai farci sull'hardware che ti danno. Nel campo 
embedded

la sperimentazione e` fondamentale, UML non aiuta.

Tanto peggio e` il pensiero di aver realizzato qualcosa avendo scritto 
un
diagramma UML. L'UML e` un disegno, anche quando lo traduci in codice 
hai

solo lo scheletro, nessuna funzionalita` e niente di niente.

Mentre scrivi codice sarai COSTRETTO (perche` capita sempre) a cambiare
architettura e se ogni volta devo tornare a UML l'iterazione inizia a 
impiegare settimane invece che minuti.
Poi supponiamo che questo software si faccia. E che il braccio 
meccanico
regoli male l'intensità del laser decapitando il paziente e 
distruggendo

l'intera ala ovest dell'ospedale. Di chi � la colpa?  Si prendono
specifiche, progetto UML e implementazione. E si controlla se il
progetto rispetta le specifiche, e se l'implementazione rispetta il
progetto.


Come fa l'UML a stabilire in che modo viene regolata la potenza del 
laser?


Se nel codice il programmatore ha scritto:

laser.power = input_from_user + MegaWatt(2000)

UML ci puo` fare 

Re: [Python] Python vs UML

2008-02-14 Per discussione Valentino Volonghi
2008/2/14 Giovanni Porcari [EMAIL PROTECTED]:
  LO SO... LO SO...

  def somma(a,b):
  return b*b - a*a

somma(4,5)
  9

  Ah... che bello! Soddisfa il test :D

Ricordami di non usare software scritto da te :P.

for a, b, c in [(1,2,3), (4,5,9), (19, 1, 20), (0, 0, 0)]:
   assert somma(a, b) == c

:P

-- 
Valentino Volonghi aka Dialtone
Now running MacOS X 10.5
Home Page: http://www.twisted.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-14 Per discussione dialtone
On 3 Feb, 09:00 pm, [EMAIL PROTECTED] wrote:
e se devi definire le interfacce prima di scrivere il codice per
parallelizare l'implementazione di alcune componenti del software ?

Si scrivono dei test e si fanno riunioni in piccoli gruppi di sviluppo
che si prendono carico di un sottosistema. Si danno le specifiche e ci
si integra in modi diversi a seconda del caso (dipende se esiste una
piattaforma comune su cui si integrano tutti oppure se il gruppo crea
delle API che documenta e che poi usi per integrare in una base che
stai costruendo ecc ecc).
Scrivi tutti gli stub dei moduli ?

No, mentre scrivo i test faccio i moduli.
Riesci ad avere una visione d'insieme di una grande applicazione a 
mente ?

Solitamente si, magari ci si mette un po' per farsela ma se non hai
idea di quello che stai costruendo mi chiedo come fai a costruirlo
bene.
IMHO e' solo questione del modello di sviluppo che si segue... si
probabilmente quando si parla di Agile non c'e' proprio bisogno di
uml, ma se cominciamo a vedere un approccio Waterfall dove chi fa
l'analisi e' una persona diversa da chi fa il progetto che e' diversa
dalle persone che implementano l'applicazione... allora formalizzare i
flussi di informazioni fra tutte queste persone potrebbe avere un
senso... dato che il codice si scrive alla fine

L'approcio Waterfall e` fallimentare e superato gia` da decenni, ma 
neanche
dagli approci agili ma addirittura dall'approcio a spirale. 
Semplicemente
non funziona quindi perche` dovrei usarlo per misurare la bonta` di un 
approcio
allo sviluppo?
Tutto serve ad uno scopo se lo usi in un'ambito diverso sembra una
minchiata e questo e' normale :)

UML puo` servire per comunicare col management, FORSE, ma il punto e` 
che non
riesce a convogliare tutte le informazioni che dovrebbe ed e` 
impossibile farlo
tra l'altro con gli strumenti noti fin'ora. L'unico modo per comunicare 
quelle
informazioni e` che il management sia parte del processo di sviluppo e 
non
un semplice supervisore.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-07 Per discussione Francesco Guerrieri
Aggiungo un indispensabile contributo a questa discussione:

avete letto la vignetta su stacktrace?

http://stacktrace.it/2008/01/silver-bullets/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-07 Per discussione [EMAIL PROTECTED]
CUT

 Non so chi ti ha dato l'idea del 'codice critico - UML',


 Nessuno, e infatti non volevo dire quello. Ho solo fatto un esempio a
 caso.
 Ma mi chiedo che accidenti di esempi fai.

 Vedi sopra: è solo un esempio.

Esempio che ha una GROSSA somiglianza con gli esempi che fanno nei corsi
universitari di ingegneria del software ecc. Nel mondo reale è leggermente
diverso...


 Sempre tipicamente, questa roba la modelli in verilog etc

 Toh... compare un linguagigo di modellazione per specifiche hardware.
 Per l'hardware va bene e per il software no?

Stai scherzando, vero? O sul serio pensi che hardware e software possano
essere trattati alla stessa maniera?

CUT


 C'è una grossa azienda che produce software molto grosso e ha sedi di
 tutto il mondo. Essa vende un programma fantastico che però quasi subito
 accusa dei malfunzionamenti. Fatti gli accertamenti del caso, si scopre
 che c'è un pezzo di codice che non si comporta a dovere.

 Supponiamo poi che il progettista e lo sviluppatore siano persone
 diverse (che non è una roba così poco diffusa come potreste pensare)
 come fa il progettista a discolparsi? Con dei fogli di stampante su cui
 ha scritto degli appuntini per lo sviluppatore? O magari affermando che
 lui gliel'aveva detto al programmatore come si faceva?

Ok, ora è certo: stai scherzando! ;-)

1) La separazione *netta* tra progettista e sviluppatore non è nemmeno
così diffusa come puoi pensare.
2) Se un pezzo di codice non si comporta a dovere, che gliene può
fregare al progettista?
3) Se pure non fosse un pezzo di codice, ma un errore di progetto, in
cosa potrebbe aiutare UML?


-- 
Antonio Valente

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-07 Per discussione Enrico Franchi

On Feb 7, 2008, at 3:55 PM, Java wrote:

 Toh... compare un linguagigo di modellazione per specifiche hardware.
 Per l'hardware va bene e per il software no?

E' chiara la differenza fra hardware e software con annessi e connessi?
Chiedo perché se lo fosse, dovresti renderti conto che in primo luogo  
quello che va bene per il software non va bene per l'hardware  
(aggiungo che, anche se forse nei corsi universitari di Ing Sw non lo  
dicono spesso che ci sono *grosse* differenze anche nel modo in cui  
approcciare diversi tipi di progetti software, costi accettabili,  
defect rate accettabili, tipi di difetti accettabili, tipi e quantità  
di ritardo accettabile).

In aggiunta il punto è che essere 'contrari' ad un dato linguaggio di  
modellizzazione voglia essere contrario a *tutti*, al concetto di  
'modellizzazione' (ivi inclusa quella per ambiti non informatici etc  
etc etc).

Tipicamente l'hardware ha in se e per se un livello di astrazione  
bassino; viceversa il software non necessariamente. Tipicamente Python  
ha un livello di astrazione non certamente più basso di UML (per  
quanto ovviamente un linguaggio di programmazione come Python è  
adattissimo per esprimere determinati tipi diagrammi UML, mentre altri  
no -- al che bisogna chiedersi se questi altri diagrammi sono o meno  
utili, per cui vedere se usare UML per quelli, se usare un altro  
formalismo oppure se si possono non fare e basta --).

Poi si pongono problemi di *costo* di realizzazione. Un prototipo  
software è direttamente eseguibile (un diagramma UML no).
*Costruire* dell'hardware, disfarlo, cambiarlo è costosissimo: con il  
software molto meno (specie se in un linguaggio in cui i cambiamenti  
sono facili).
Tipicamente fai prima a scrivere un programma in verilog che a  
bruciarti un PLA (ammesso che il problema che stai risolvendo sia  
proprio semplice, se no con un PLA vai poco lontano). Etc etc.

Comunque io fossi in te mi chiederei se pensi *davvero* che hw e sw  
siano la stessa cosa.


 C'è una grossa azienda che produce software molto grosso e ha sedi di
 tutto il mondo. Essa vende un programma fantastico che però quasi  
 subito
 accusa dei malfunzionamenti. Fatti gli accertamenti del caso, si  
 scopre
 che c'è un pezzo di codice che non si comporta a dovere.
 Supponiamo poi che il progettista e lo sviluppatore siano persone
 diverse (che non è una roba così poco diffusa come potreste pensare)
 come fa il progettista a discolparsi? Con dei fogli di stampante su  
 cui
 ha scritto degli appuntini per lo sviluppatore? O magari affermando  
 che
 lui gliel'aveva detto al programmatore come si faceva?

Scusa, ma questa è stra-fuffa. E' una situazione ipotetica in primo  
luogo, sufficientemente generica da voler dire tutto e nulla.
Aggiungo che in un caso del genere, i primi a saltare sono quelli del  
reparto qualità (se esiste), poi quelli del testing (che evidentemente  
hanno cazzeggiato).
Questo sempre nel mondo fantastico dei ruoli distinti e del 15 teste e  
un senior e 10 neolaureati.

Comunque, tornando a noi, dopo averti ringraziato dei tuoi insights  
sul mondo del software,  non posso che ribadire quello che ti fa  
notare anche Antonio.





___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Francesco Guerrieri
2008/2/5 Crash Override [EMAIL PROTECTED]:

 Dal tuo grado di nervosismo nello scrivere e dal tuo italiano si capisce
 chi sei e cosa fai nella vita.
 1) ti consiglio di imparare a scrivere in italiano perchè nella vita è
 sempre utile
 1a) forse non sai neanche parlarlo correttamente, ed esprimersi bene
 nella vita è utile te l'assicuro
 2) I ruoli esistono e non puoi eliminarli anche se fondametalmente nutri
 per loro molta invidia

 Ciao e divertiti con i tuoi amici di quinta elementare

 p.s.: rispondo con il tuo stesso tono solo che in un italiano più corretto


Non c'è alcun motivo per scrivere una mail con questo tono.
Sarebbe molto meglio evitare messaggi di questo genere per non rovinare
l'atmosfera di
questa mailing list.

Francesco
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Enrico Franchi

On Feb 4, 2008, at 2:23 PM, Marco Mariani wrote:

 Se ti interessa focalizzare il tuo scetticismo nei confronti di XP:

Ci ho dato una lettura rapida. Il primo è ben scritto: ma non mi pare  
ponga argomenti decisivi.

E' molto una cosa tipo: ho incontrato un team di coglionazzi che  
facevano XP. Non hanno cavato un ragno da un buco. XP è pericoloso.
Io nelle stesse condizioni avrei detto: erano un team di coglionazzi.  
Primo perchè XP lo si può anche fare male (e nel caso aiuta avere  
almeno la prima volta un consulente capace di dare una mano a  
riguardo, invece che uno che osteggia il metodo -- il che non può che  
peggiorare la faccenda --).

In secondo luogo se uno ha un team di scimmie ammaestrate è  
completamente ovvio che non può fare XP. Ma il problema non è XP: il  
problema sono le scimmie ammaestrate. Le scimmie ammaestrate in un  
altro metodo riescono a uscirne? Può essere. Ma non essendo io una  
scimmia ammaestrata non è detto che l'altro metodo faccia un gran bene  
a me.

Fra le altre varie cose ci si dimentica di alcuni fattori: i progetti  
che falliscono malamente sono *tantissimi*. Spesso proprio per  
problemi di metodo. Per cui io partirei dal presupposto: l'ingegneria  
tradizionale ha grossi problemi (sono tutti li da constatare).  
Possiamo fare di meglio? Si. No. Che ipotesi dobbiamo aggiungere per  
fare di meglio?

Poi magari viene fuori anche che Scrumm è meglio di XP. O che AUP è  
meglio di entrambi. O che c'è un terzo metodo geniale, o ancora che il  
vecchio V-model da risultati migliori a patto che A) B) C). Ma questi  
sono tutti discorsi su cui trarre risultati *concreti* è difficile.  
C'è troppa variabilità sui membri del progetto, sui clienti, sul  
management, gestione dei tempi etc etc etc.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Crash Override

Roberto Bettazzoni ha scritto:

Ciao a tutti,
butto i miei 2 centesimi

In sintesi:
concordo sull'inutilità di UML per lo sviluppo, soprattutto
se usi un linguaggio come Python.

Y3s ha scritto:
  

Il giorno 03/feb/08, alle ore 21:38, Crash Override ha scritto:


Enrico Franchi ha scritto:
  

On Feb 3, 2008, at 8:30 PM, giuseppe saviano wrote:

  


ho capito che la progettazione uml in alcuni casi risulta limitante;
nella stessa serie di messaggi si parlava poi di list comprehension
... altri esempi?

  
Non è che è limitante, è che tutt'ora devo trovare un caso in cui sia  
davvero utile.




  
Forse non avete ben chiari i vari ruoli dei membri che contribuiscono 
al successo di un progetto software. Avete mai sentito parlare di 
Architect, Designer? O conoscete solo il programmatore?
  

si, si, anche evangelista, analista, tester, coach, QA manager
  ... di ruoli ce n'è a volontà
Qualche volta corrispondono ad un mestiere vero, altre sono solo fuffa

IMHO il tutto è piuttosto lineare.
Se un gruppo di persone vuole una cosa ed un gruppo di persone sa farla, questi
devono comunicare nel linguaggio più efficente allo scopo.
UML, Python, Italiano, Inglese, SQL, C++ ... non importa.
Qui si parla di comunicazione tra le persone, non di comunicazione con la 
macchina.
L'unico che comunica con la macchina è il programmatore mediante il codice.

Nella mia esperienza UML non è il più efficente modo di comunicare con gli 
umani.
Io preferisco l'italiano o l'inglese.

A proposito dei ruoli:
se sei nell'esercito, e il tuo sergente ti dice che il tenente ti comunica che 
il
capitano ha ricevuto un ordine dal colonnello che il generale vuole che si 
avanzi
di 100 metri ... sei sicuro che siano proprio le parole del generale?
I ruoli gerarchici o sequenziali non aiutano certo la comunicazione.


  
Allora quando costruiamo una casa esistono solo i muratori? E se un 
muratore costruisce bene le mura allora la casa può farla senza progetto? 
  


Da un po' di tempo si vocifera che il codice sia il progetto (non la casa) e
che il muratore sia l'interprete (non il programmatore).


  

La domanda forse sarebbe:
Quali sono i vostri titoli di studio? Che fate nella vita? Ma è meglio 
tralasciare...
  


Il titolo di studio ... stupendo, come se in questo campo fosse qualificante
... ma daii

Scegli:
Giro, vedo gente, scrivo codice
Mi chiamo Taz, risolvo problemi,

si, concordo, è meglio tralasciare
:-)
Roberto




___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

  
Dal tuo grado di nervosismo nello scrivere e dal tuo italiano si capisce 
chi sei e cosa fai nella vita.
1) ti consiglio di imparare a scrivere in italiano perchè nella vita è 
sempre utile
   1a) forse non sai neanche parlarlo correttamente, ed esprimersi bene 
nella vita è utile te l'assicuro
2) I ruoli esistono e non puoi eliminarli anche se fondametalmente nutri 
per loro molta invidia


Ciao e divertiti con i tuoi amici di quinta elementare

p.s.: rispondo con il tuo stesso tono solo che in un italiano più corretto


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Domenico Chierico
On Feb 5, 2008 2:02 PM, Gian Mario Tagliaretti [EMAIL PROTECTED] wrote:
 2008/2/5 Crash Override [EMAIL PROTECTED]:

 Ciao,

 disclaimer
 La seguente è solo un' opinione personale e non riflette in alcun modo
 il pensiero dei gestori della ML.
 /disclaimer

 1) Usa nome e cognome se vuoi un minimo di credibilità, il tuo nick fa
 molto dodicenne e passi per un troll qualunque.

Dai pero' il mio e' carino .. posso tenerlo? :) heheheeh

 2) Come ha già detto Francesco Guerrieri questa ML, anche su argomenti
 caldi, è sempre stata civile, pregasi farla rimanere tale.

 3) Non inviare mail in HTML, grazie. g
 4) Quotare decentemente i messaggi è sintomo di rispetto verso i
 lettori di una ML pubblica, hint: non basta scrivere in fondo invece
 che sopra.

beh si si e' giusto.. tanto alla fine ogniuno ha le sue teorie quindi
scaldarsi cosi' tanto non e' proprio utile a nessuno :).

   p.s.: rispondo con il tuo stesso tono solo che in un italiano più corretto

 p.s. la frase qua sopra *NON* é Italiano corretto, riprova e controlla.


vi offendete se posto in inglese cosi' se faccio figuracce posso
sempre dire che e' colpa del mio ingelese scolastico :))
Se mi valutate l'italiano mi mettete troppo a disagio :)


su su ... alla fine si chiacchiera in ml ... non si prende nessuna
decisione fondamentale :)

ciao
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Gian Mario Tagliaretti
2008/2/5 Crash Override [EMAIL PROTECTED]:

Ciao,

disclaimer
La seguente è solo un' opinione personale e non riflette in alcun modo
il pensiero dei gestori della ML.
/disclaimer

1) Usa nome e cognome se vuoi un minimo di credibilità, il tuo nick fa
molto dodicenne e passi per un troll qualunque.
2) Come ha già detto Francesco Guerrieri questa ML, anche su argomenti
caldi, è sempre stata civile, pregasi farla rimanere tale.
3) Non inviare mail in HTML, grazie. g
4) Quotare decentemente i messaggi è sintomo di rispetto verso i
lettori di una ML pubblica, hint: non basta scrivere in fondo invece
che sopra.

  p.s.: rispondo con il tuo stesso tono solo che in un italiano più corretto

p.s. la frase qua sopra *NON* é Italiano corretto, riprova e controlla.

ciao
-- 
Gian Mario Tagliaretti
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Marco Bonifazi
 http://www.amazon.com/Applying-UML-Patterns-Craig-Larman/dp/0137488807

Intervengo per dire che di tale libro ne esiste anche una versione italiana.
http://addison.it/site/show.php?curr_sec=catalogosub_sec=cat_sk_libroISBN=8871922700

Volevo dare un mio parere, da non esperto, ma studente appena laureato
e lavoratore da un po'.

C'ho studiato su 'sto libro, e l'impressione che ho di UML non e' di
un qualcosa di ingessato, bensi' come qualcosa di opzionale, utile per
dare una visualizzazione standardizzata a concezioni astratte e comuni
di un progettista software.

Mi pare utile avere, ad esempio, esemplificazione grafica dei design pattern.
Che poi in Python le cose si semplifichino in maniera drastica (e
spesso neanche si vengano a proporre) e' vero, ma la struttura di
parti critiche del software, nel mio caso, si semplifica e si comunica
abbastanza bene se riesco a tradurla su carta con strumenti
standardizzati.

Nel libro sopra, si parla di usare UML in sessioni temporali
assolutamente limitate nel tempo di sviluppo del progetto, si parla di
fotografare diagrammi tracciati collettivamente su una lavagna, si
parla insomma di attivita' che sono di supporto, ma non il fulcro
della progettazione, si parla di creare e aggiornare gli Use Cases in
poche mattinane, Modelli di Dominio e di classe nelle parti
arzigogolate, di usare Collaboration Diagram e Sequence Diagram, etc.
nelle interazioni tipo, nelle parti piu' critiche (secondo gli assiomi
abbracciare il cambiamento e affrontare il rischio subito), nei passi
iniziali delle diverse iterazioni della progettazione.

Mi trovo d'accordo con queste modalita'.

Non riesco a capire quindi perche' tutta quest'attenzione su UML,
quasi uno dovesse passare la vita a programmare in UML (e non in
Python :-)), e quindi neanche la demonizzazione.

Lo trovo un utile strumento di progettazione in team, specie se visto
come strumento di applicazione di concetti mentali e non come fine.

Un paragone che mi viene in mente e' il Latino al liceo: una lingua
morta, una cosa apparentemente inutile. Pero' poi mi sono accorto che
certe costruzioni di frase le avevo trasportate da Latino a Italiano
senza accorgermente e che la struttura linguistica che il Latino
applicava in forma di frase m'era rimasta in mente.

-- 
Marco Bonifazi
http://www.bonifazi.eu
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Marco Mariani
Marco Bonifazi wrote:

 Non riesco a capire quindi perche' tutta quest'attenzione su UML,
 quasi uno dovesse passare la vita a programmare in UML (e non in
 Python :-)), e quindi neanche la demonizzazione.
   

Cerco di riassumere brevemente.

Il fatto che Python e altri linguaggi dinamici siano particolarmente 
espressivi, fa si' che il design a livello medio sia espresso meglio 
dal codice stesso (*), che non da un diagramma.

Avere una finestra piu' ampia sul problema senza uscire dal codice, 
permette un refactoring e design emergente a un livello piu' alto di 
quanto non avresti in linguaggi piu' bondage.

Sulle parti delicate (architettura su larga scala, scalabilita', 
concorrenza, security) non mi sembra che UML sia del tutto inutile, 
anche in Python. Se proprio fa venire il mal di pancia, almeno i 
diagrammi di attivita' e sequenza.


(*) non vale se il codice e' scritto in fortranese.


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Marco Mariani
Enrico Franchi wrote:

 Ci ho dato una lettura rapida. Il primo è ben scritto: ma non mi pare  
 ponga argomenti decisivi.

 E' molto una cosa tipo: ho incontrato un team di coglionazzi che  
 facevano XP. Non hanno cavato un ragno da un buco.

A dir la verita', gli autori sostengono che a non aver cavato un ragno 
con C3, il progetto pilota della metodologia XP, siano Kent Beck e 
soci.. salvo poi pubblicizzare il successo clamoroso del software.

http://www.c2.com/cgi/wiki?IsEarlierCancellationFailure


 Io nelle stesse condizioni avrei detto: erano un team di coglionazzi.  
 Primo perchè XP lo si può anche fare male (e nel caso aiuta avere  
 almeno la prima volta un consulente capace di dare una mano a  
 riguardo, invece che uno che osteggia il metodo -- il che non può che  
 peggiorare la faccenda --).
   

Si', se XP non funziona vuol dire che non lo stai facendo bene, l'ho 
sentito spesso.

Se non sei guarito e' perche' non hai abbastanza fede, eccetera :-)

 Possiamo fare di meglio? Si. No. Che ipotesi dobbiamo aggiungere per  
 fare di meglio?

 Poi magari viene fuori anche che Scrumm è meglio di XP. O che AUP è  
 meglio di entrambi. O che c'è un terzo metodo geniale, o ancora che 
 il  vecchio V-model da risultati migliori a patto che A) B) C). Ma 
 questi  sono tutti discorsi su cui trarre risultati *concreti* è 
 difficile.

La mia impressione e' che i risultati piu' concreti, dentro e fuori dai 
libri, vengano indubbiamente dall'applicazione di metodi agili, ma non 
estremi.



___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Enrico Franchi

On Feb 5, 2008, at 3:38 PM, Marco Mariani wrote:

 Si', se XP non funziona vuol dire che non lo stai facendo bene, l'ho
 sentito spesso.

Il problema è che stai usando la tesi per dimostrare la tesi: io mi  
limito a dire che i successi della programmazione agile sono troppi  
per fare finta che non funzioni. Non a caso quelli che dicono che non  
funziona tipicamente portano ad esempio un caso (o n casi) in cui non  
ha funzionato.

Ora applicando questo discorso in modo più generale ottengo che  
siccome molti progetti software falliscono/sono scritti male etc etc  
etc non è possibile fare progetti software decenti. Il che è  
ovviamente un assurdo.

In particolare, quando applichi un nuovo modello di sviluppo (quale  
che sia) devi avere:
1) un team convinto nell'applicarlo
2) un team con buone skill, che sia formalmente in grado di arrivarci  
in fondo. nel senso che anche con il miglior spremirape, il sangue  
dalle rape non ce lo cavi.

Questo è al di la di XP, Agile, etc etc etc. Vuoi introdurre gestione  
della qualità standardizzata in un processo UP? Se il team non ne ha  
voglia e introduce le procedure solo in modo svogliato e di facciata,  
non cambi nulla. Fai solo perdere più tempo avendo gente che impiega  
tempo per fingere di seguire il nuovo processo. Ma non per questo dico  
che la gestione della qualità 'non funziona'.

Il problema è che tutti noi siamo biased, volenti o nolenti. A seconda  
di questo siamo molto più attivi/vogliosi di trovare controesempi che  
di trovare success-stories (o viceversa). E siamo pure disposti a  
generalizzare illecitamente quello che abbiamo trovato. Invece ci  
vuole oggettività. Cosa difficile, per inciso.

Nota che XP (e la maggior parte dei metodi agili) sono pensati *anche*  
per essere introdotti gradualmente; sono metodi flessibili e più un  
insieme di tecnica che un 'canone standardizzato' alla RUP. Non tutte  
le tecniche funzionano in tutti i progetti. Alcune tecniche possono  
essere adattate, migliorate alla situazione, eliminate. E tutto questo  
è detto chiaramente. Chi prende XP e lo mette in pratica come seguendo  
un copione sta facendo di tutto meno che fare XP.

BTW, io non sono un fan sfegatato di XP.

 La mia impressione e' che i risultati piu' concreti, dentro e fuori  
 dai
 libri, vengano indubbiamente dall'applicazione di metodi agili, ma non
 estremi.

Sono abbastanza d'accordo. 'Estremizzare' un metodo agile è in pratica  
contro la sua stessa natura.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Giorgio Zoppi
Non mi era successo di sentire una discussione di SE, cosi interessante
complimenti :).
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Java
Giorgio Zoppi ha scritto:
 Non mi era successo di sentire una discussione di SE, cosi interessante
 complimenti :).
   
e il bello è che io che ho causato il putiferio, osando spezzare 
un'arancia in difesa del povero modello unificato, me ne resto fuori a 
leggere le mail che affermano che se non lo so fare (non ho viglia di 
impararlo, è complicato etc etc) allora fa schifo :-D


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Enrico Franchi

On Feb 6, 2008, at 12:06 AM, Java wrote:

 me ne resto fuori a
 leggere le mail che affermano che se non lo so fare (non ho viglia  
 di
 impararlo, è complicato etc etc) allora fa schifo :-D

Non mi pare di avere letto alcuna di queste mail.
Ad ogni modo sono sicuro che portando anche la tua esperienza non puoi  
che alzare il livello della discussione.

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-05 Per discussione Simone
Marco Bonifazi ha scritto:

 Mi pare utile avere, ad esempio, esemplificazione grafica dei design pattern.
 Che poi in Python le cose si semplifichino in maniera drastica (e
 spesso neanche si vengano a proporre) e' vero, ma la struttura di
 parti critiche del software, nel mio caso, si semplifica e si comunica
 abbastanza bene se riesco a tradurla su carta con strumenti
 standardizzati.

Il che contrasta con lo Zen di Python:

- If the implementation is hard to explain, it's a bad idea;
- If the implementation is easy to explain, it may be a good idea.

Da non programmatore quale sono, devo dire che mi sono molto servite più 
queste due frasi :)

Simone
Chiacchiera con i tuoi amici in tempo reale! 
 http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com 

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-04 Per discussione Marco Mariani
Giorgio Zoppi wrote:

 IMHO e' solo questione del modello di sviluppo che si segue... si
 probabilmente quando si parla di Agile non c'e' proprio bisogno di
 uml, ma se cominciamo a vedere un approccio Waterfall dove chi fa
 l'analisi e' una persona diversa da chi fa il progetto che e' diversa
 

 Sta cosa dello sviluppo agile ed Extreme Programming non lo mai capita,
 ma in Italia ce qualcuno in questa ml. che lo fa realmente?
 Se si quanto fate durare le iterazioni? Ce qualcuno che fa UP Agile?
 Secondo me se non è fatto bene puzza di code-and-fix.
   

Se ti interessa focalizzare il tuo scetticismo nei confronti di XP:

http://www.stickyminds.com/getfile.asp?ot=XMLid=3248fn=XDD3248filelistfilename1%2Epdf
http://www.amazon.co.uk/Extreme-Programming-Refactored-Case-Against/dp/1590590961/ref=sr_1_1?ie=UTF8s=gatewayqid=1202131161sr=8-1
http://www.amazon.co.uk/Questioning-EXtreme-Programming-Pete-McBreen/dp/0201844575/ref=sr_1_1?ie=UTF8s=gatewayqid=1202131150sr=8-1


Non me ne vogliano gli amici dell'XPUG di Bologna :-)


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Giorgio Zoppi
2008/2/3, giuseppe saviano [EMAIL PROTECTED]:
 ciao a tutti,
 è un po' che lurko e vorrei fare i complimenti a questa bella community!

 soprattutto alcuni fra gli ultimi post, mi hanno letteralmente aperto
 agli occhi su quanto python sia un vero e proprio modo di pensare,
 oltre che un linguaggio.

 ed in particolare mi ha colpito:

   hem rimasugli di UML e Ingegneria del software.
 
  Sigh, non si rendono nemmeno conto di quanto male faccia insegnare
  UML. :(

Questa affermazione non la capisco,sarò
che sono ignorante, mi dispiace. UML è ottimo per documentare il codice
e l'interazione tra  i sottosistemi, e anche per pensare a pattern.
Quando lavori da solo è un po una rottura usarlo.
ciao,
Giorgio.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Y3s

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 ;-)

 nella stessa serie di messaggi si parlava poi di list comprehension
 ... altri esempi?


Altri esempi di cosa? Di roba pythonica? Prova ad aprire una shell  
e digitare:

  import this


--
Antonio Valente


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Enrico Franchi

On Feb 3, 2008, at 8:30 PM, giuseppe saviano wrote:

 ho capito che la progettazione uml in alcuni casi risulta limitante;
 nella stessa serie di messaggi si parlava poi di list comprehension
 ... altri esempi?

Non è che è limitante, è che tutt'ora devo trovare un caso in cui sia  
davvero utile.
No, il fatto che il management si ecciti se gli porti dei plichi di  
documentazione non conta.

In pratica UML è una cosa che piace molto ai patiti del big design up  
front (ci vuole pure un linguaggio in cui esprimerlo sto design, no?).

Nei linguaggi inerentemente dinamici, la programmazione agile è parte  
del DNA di quasi ogni programmatore.

Aggiungo: Don't Repeat Yourself; perchè esprimere qualcosa in UML  
quando ho Python? Faccio prima ed è pure eseguibile. Mica sviluppiamo  
in Java, qui.
Poi c'è tutto il discorso sulla ridondanza dell'informazione, etc etc  
etc.

Nota, non è che sono *contro* UML: sono contro la maggior parte degli  
usi che se ne fanno; specialmente sono contrario ad usarlo come  
strumento di design. 
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Java
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.

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%.

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

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...

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

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


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Crash Override

Enrico Franchi ha scritto:

On Feb 3, 2008, at 8:30 PM, giuseppe saviano wrote:

  

ho capito che la progettazione uml in alcuni casi risulta limitante;
nella stessa serie di messaggi si parlava poi di list comprehension
... altri esempi?



Non è che è limitante, è che tutt'ora devo trovare un caso in cui sia  
davvero utile.
No, il fatto che il management si ecciti se gli porti dei plichi di  
documentazione non conta.


In pratica UML è una cosa che piace molto ai patiti del big design up  
front (ci vuole pure un linguaggio in cui esprimerlo sto design, no?).


Nei linguaggi inerentemente dinamici, la programmazione agile è parte  
del DNA di quasi ogni programmatore.


Aggiungo: Don't Repeat Yourself; perchè esprimere qualcosa in UML  
quando ho Python? Faccio prima ed è pure eseguibile. Mica sviluppiamo  
in Java, qui.
Poi c'è tutto il discorso sulla ridondanza dell'informazione, etc etc  
etc.


Nota, non è che sono *contro* UML: sono contro la maggior parte degli  
usi che se ne fanno; specialmente sono contrario ad usarlo come  
strumento di design. 
___

Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

  
Forse non avete ben chiari i vari ruoli dei membri che contribuiscono al 
successo di un progetto software. Avete mai sentito parlare di 
Architect, Designer? O conoscete solo il programmatore?
Allora quando costruiamo una casa esistono solo i muratori? E se un 
muratore costruisce bene le mura allora la casa può farla senza progetto?
Se vi riferite esclusivamente a Python forse in parte potreste aver 
ragione... Dico forse perchè la mia conoscenza di Python non è molto 
approfondita (sicuramente si tratta di un linguaggio non difficilissimo).

La domanda forse sarebbe:
Quali sono i vostri titoli di studio? Che fate nella vita? Ma è meglio 
tralasciare...



___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Enrico Franchi

On Feb 3, 2008, at 8:44 PM, Giorgio Zoppi wrote:

 Questa affermazione non la capisco,sarò

La spiego.

 che sono ignorante, mi dispiace. UML è ottimo per documentare il  
 codice
 e l'interazione tra  i sottosistemi, e anche per pensare a pattern.

Documentare il codice con UML?

1. per l'interazione tra i sottosistemi ci potrebbe pure stare.  
peccato che non sia necessario; oltre tutto ci sono tante di quelle  
parti lasciate scoperte (volutamente) dallo standard che anche li  
bisogna praticamente sempre definirsi il proprio dialetto.

2. per documentare il codice, direi proprio di no. In primo luogo  
perchè UML diventa particolarmente rognoso quando si scende nei  
dettagli: la documentazione del codice spesso non prescinde dai  
dettagli, ergo eccoci con UML in difficoltà. In secondo luogo nel  
tempo in cui ci va a fare un diagramma (anzi, i due o tre diagrammi  
necessari per una data fase) UML si ripulisce il codice fino a  
renderlo sostanzialmente auto-esplicativo, tramite l'uso di  
nomenclatura *chiara*, docstrings, tests ed eventualmente se tutto  
questo non bastasse commenti mirati.

3. pensare a pattern è diverso da *conoscere* i pattern. pensare a  
pattern è come dire pensare a mattoncini: se qualcuno mi dicesse che  
penso a mattoncini io gli tirerei due schiaffoni. Non si *pensa* a  
pattern; quando si conoscono *bene* i pattern si *vedono* nel problema  
i pattern. Ma questo è un modo a posteriori di usare i pattern;  
viceversa pensare a pattern usa unità di ragionamento e struttura  
troppo rigide.

Ora potresti provare a spiegarmi perché UML è ottimo (lasciando stare  
il fatto che lo usano tutti). Io sinceramente non sono mai riuscito a  
capire questa cosa. O meglio: posso capirla quando penso al mondo  
business, ai manager, ai commerciali, all'inventare un problema e  
vendere i costosi strumenti necessari per risolverlo. Posso capirla  
quando penso a linguaggi completamente ingessati, team di progettisti,  
analisti e programmatori virtualmente disgiunti. E ho presente anche  
il fatto che un numero spropositato di progetti finisce in un bagno di  
sangue. D'altra parte sono completamente aperto a ricredermi.


 Quando lavori da solo è un po una rottura usarlo.

Anche quando lavoro in gruppo. Certo, se per una serie di ragione i  
miei compari non sono in grado di leggere il codice e la  
documentazione e hanno bisogno di rappresentazioni grafiche... ok.  
Anche UML ha un suo senso. Viceversa preferisco del buon codice,  
scritto bene, non più complesso del necessario e una buona suite di  
test che mostri anche come il codice va usato e come non va usato.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Y3s

Il giorno 03/feb/08, alle ore 21:41, Enrico Franchi ha scritto:


 On Feb 3, 2008, at 8:44 PM, Giorgio Zoppi wrote:

 Questa affermazione non la capisco,sarò

 La spiego.

 che sono ignorante, mi dispiace. UML è ottimo per documentare il
 codice
 e l'interazione tra  i sottosistemi, e anche per pensare a pattern.

 Documentare il codice con UML?

 1. per l'interazione tra i sottosistemi ci potrebbe pure stare.
 peccato che non sia necessario; oltre tutto ci sono tante di quelle
 parti lasciate scoperte (volutamente) dallo standard che anche li
 bisogna praticamente sempre definirsi il proprio dialetto.

E in ogni caso è poco espressivo.

 2. per documentare il codice, direi proprio di no. In primo luogo
 perchè UML diventa particolarmente rognoso quando si scende nei
 dettagli: la documentazione del codice spesso non prescinde dai
 dettagli, ergo eccoci con UML in difficoltà. In secondo luogo nel
 tempo in cui ci va a fare un diagramma (anzi, i due o tre diagrammi
 necessari per una data fase) UML si ripulisce il codice fino a
 renderlo sostanzialmente auto-esplicativo, tramite l'uso di
 nomenclatura *chiara*, docstrings, tests ed eventualmente se tutto
 questo non bastasse commenti mirati.

Quoto


 3. pensare a pattern è diverso da *conoscere* i pattern. pensare a
 pattern è come dire pensare a mattoncini: se qualcuno mi dicesse che
 penso a mattoncini io gli tirerei due schiaffoni. Non si *pensa* a
 pattern; quando si conoscono *bene* i pattern si *vedono* nel problema
 i pattern. Ma questo è un modo a posteriori di usare i pattern;
 viceversa pensare a pattern usa unità di ragionamento e struttura
 troppo rigide.

Quoto. Diverso è parlare a pattern, dove e quando possibile).



--
Antonio Valente


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Lawrence Oluyede
 e se devi definire le interfacce prima di scrivere il codice per
 parallelizare l'implementazione di alcune componenti del software ?

Basta parlarsi. Secondo me le CRC cards (o un semplice pezzo di carta)
sono 100 volte più utili dell'ingessato UML

 Scrivi tutti gli stub dei moduli ?
 Riesci ad avere una visione d'insieme di una grande applicazione a mente ?

Dipende da quanto grande, e poi ci sono gli architetti per questo. E
di certo non si preoccupano dei nomi dei metodi.

 IMHO e' solo questione del modello di sviluppo che si segue... si
 probabilmente quando si parla di Agile non c'e' proprio bisogno di
 uml, ma se cominciamo a vedere un approccio Waterfall dove chi fa
 l'analisi e' una persona diversa da chi fa il progetto che e' diversa
 dalle persone che implementano l'applicazione... allora formalizzare i
 flussi di informazioni fra tutte queste persone potrebbe avere un
 senso... dato che il codice si scrive alla fine

Il waterfall è un problema per la maggioranza dei casi, e non sono io
a dirlo :-D


-- 
Lawrence, stacktrace.it - oluyede.org - neropercaso.it
It is difficult to get a man to understand
something when his salary depends on not
understanding it - Upton Sinclair
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Giorgio Zoppi
2008/2/3, Domenico Chierico [EMAIL PROTECTED]:
 On Feb 3, 2008 9:41 PM, Enrico Franchi [EMAIL PROTECTED] wrote:

   Quando lavori da solo è un po una rottura usarlo.
 
  Anche quando lavoro in gruppo. Certo, se per una serie di ragione i
  miei compari non sono in grado di leggere il codice e la
  documentazione e hanno bisogno di rappresentazioni grafiche... ok.
  Anche UML ha un suo senso. Viceversa preferisco del buon codice,
  scritto bene, non più complesso del necessario e una buona suite di
  test che mostri anche come il codice va usato e come non va usato.
 

 e se devi definire le interfacce prima di scrivere il codice per
 parallelizare l'implementazione di alcune componenti del software ?

 Scrivi tutti gli stub dei moduli ?
 Riesci ad avere una visione d'insieme di una grande applicazione a mente ?


Il problema è che le applicazioni esplodono soprattutto quelle scritte
in linguaggi come C# e
Java: lo dico per esperienza. In Python non ho scritto mai piu di 1000
righe di codice.
Cio' accade soprattutto quando si è in tanti a lavorare, perche ognuno vuole
mettere le sue ganzate: questo o quel design pattern quel modo di
procedere invece che
un'altro. Cosi uno si trova a passare i pomeriggi a fare debug scritto
dagli altri (se riuscite
a capire un sistema fatto da tanto solo dall'analisi statica, cambio
mestiere...vado
a fare l'educatore), mentre se fosse solo un po' piu documentato magari con UML
il pomeriggio lo passerebbe a fare shopping o cmq sa come e' fatto il
sistema si mette l'anima in pace e quando ci sono problemi di
performance sa dove andare a parare per eliminare i colli di
bottiglia. Un'altra
cosa che accade spesso in progetti opensource, non nel kernel di Linux
che è ben
commentato o nei sorgenti di Python (per esempio la parte sul garbage collection
è una favola..quasi quasi è piu la doc che il codice), è che spesso ti
trovi davanti
ad grandi parti  di codice C o Java, dove non c'e un commento o solo
commenti stupidi:
esperienza di un paio di mesi fa davanti a JBoss per dare una
struttura gerarchica
agli EJB, preferivo sparire e cambiare mestire. Infatti si è passati a
Python e SCA di IBM.

 IMHO e' solo questione del modello di sviluppo che si segue... si
 probabilmente quando si parla di Agile non c'e' proprio bisogno di
 uml, ma se cominciamo a vedere un approccio Waterfall dove chi fa
 l'analisi e' una persona diversa da chi fa il progetto che e' diversa

Sta cosa dello sviluppo agile ed Extreme Programming non lo mai capita,
ma in Italia ce qualcuno in questa ml. che lo fa realmente?
Se si quanto fate durare le iterazioni? Ce qualcuno che fa UP Agile?
Secondo me se non è fatto bene puzza di code-and-fix.
In generale comunque usare linguaggi piu snelli come Python,
semplifica di molto
il ciclo di sviluppo. Due mesi fa ho scritto un parser soap, che
prelevava i pacchetti
dalla rete, con libpcap in Python, in una giornata..in C o in Java
c'avrei messo mezza
settimana.


 Tutto serve ad uno scopo se lo usi in un'ambito diverso sembra una
 minchiata e questo e' normale :)
 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Manlio Perillo
Y3s ha scritto:
 Il giorno 03/feb/08, alle ore 22:00, Domenico Chierico ha scritto:
 
 On Feb 3, 2008 9:41 PM, Enrico Franchi [EMAIL PROTECTED]  
 wrote:

 Quando lavori da solo è un po una rottura usarlo.
 Anche quando lavoro in gruppo. Certo, se per una serie di ragione i
 miei compari non sono in grado di leggere il codice e la
 documentazione e hanno bisogno di rappresentazioni grafiche... ok.
 Anche UML ha un suo senso. Viceversa preferisco del buon codice,
 scritto bene, non più complesso del necessario e una buona suite di
 test che mostri anche come il codice va usato e come non va usato.

 e se devi definire le interfacce prima di scrivere il codice per
 parallelizare l'implementazione di alcune componenti del software ?

 Scrivi tutti gli stub dei moduli ?
 Riesci ad avere una visione d'insieme di una grande applicazione a  
 mente ?
 
 Il punto è: che bisogno c'è di usare una cosa inutile e complessa  
 come uml? perchè non utilizzare semplicemente un linguaggio altamente  
 espressivo, che ha anche il vantaggio di fornirti un prototipo  
 eseguibile?
 
 
 IMHO e' solo questione del modello di sviluppo che si segue... si
 probabilmente quando si parla di Agile non c'e' proprio bisogno di
 uml, ma se cominciamo a vedere un approccio Waterfall dove chi fa
 l'analisi e' una persona diversa da chi fa il progetto che e' diversa
 dalle persone che implementano l'applicazione... allora formalizzare i
 flussi di informazioni fra tutte queste persone potrebbe avere un
 senso... dato che il codice si scrive alla fine

 
 Waterfall? Gli anni '80 sono passati da un po' eh ;-)
 Comunque, nessuno nega che la formalizzazione dei flussi di  
 informazioni tra persone diverse dello stesso team o tra team diversi  
 sia necessaria, ma io (e penso altri) non capisco perchè uml. Non  
 capisco i vantaggi di uml rispetto a un altro linguaggio più  
 espressivo. Probabilmente perchè avere un diagramma fa più fico nelle  
 riunioni?
 

Pensa che ho avuto una discussione simile nell'ambito SQL su cosa fosse 
meglio usare: un diagramma E/R o del semplice codice pseudo SQL.


La mia tesi a favore del codice SQL era la facilità di modifica e 
versionamento (specialmente se condiviso) mentre un diagramma grafico è 
una rottura da gestire.

La sua tesi era che non si deve scrivere codice nella fase di design 
(ok, ma un diagramma E/R non è codice?).


Manlio Perillo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Enrico Franchi

On Feb 3, 2008, at 10:38 PM, giuseppe saviano wrote:

 no, intendevo altri esempi di costrutti python non esprimibili con uml

IMHO non hai ben chiaro cosa sia UML e come si usi.

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Y3s

Il giorno 03/feb/08, alle ore 22:36, Manlio Perillo ha scritto:



 Waterfall? Gli anni '80 sono passati da un po' eh ;-)
 Comunque, nessuno nega che la formalizzazione dei flussi di
 informazioni tra persone diverse dello stesso team o tra team diversi
 sia necessaria, ma io (e penso altri) non capisco perchè uml. Non
 capisco i vantaggi di uml rispetto a un altro linguaggio più
 espressivo. Probabilmente perchè avere un diagramma fa più fico nelle
 riunioni?


 Pensa che ho avuto una discussione simile nell'ambito SQL su cosa  
 fosse
 meglio usare: un diagramma E/R o del semplice codice pseudo SQL.


Però già un diagramma E/R è diverso: è più semplice e non c'è bisogno  
di imparare un nuovo formalismo, bastano 2 o 3 convenzioni, poi tutti  
riescono a scrivere una tabellina di campi. Mentre UML è un vero  
formalismo, ingessato, poco flessibile, non si impara certo in 10  
minuti. Quello che dico è: se dobbiamo insegnare a uno un linguaggio  
come UML, non conviene insegnargli un linguaggio reale?
Comunque tra diagramma E/R e codice SQL generico penso sia davvero  
una questione di gusti!


 La mia tesi a favore del codice SQL era la facilità di modifica e
 versionamento (specialmente se condiviso) mentre un diagramma  
 grafico è
 una rottura da gestire.


 La sua tesi era che non si deve scrivere codice nella fase di design
 (ok, ma un diagramma E/R non è codice?).


Infatti.

--
Antonio Valente


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Enrico Franchi

On Feb 3, 2008, at 10:35 PM, Giorgio Zoppi wrote:

 Il problema è che le applicazioni esplodono soprattutto quelle scritte
 in linguaggi come C# e Java: lo dico per esperienza.

Quoto, ovviamente. Per Java intendo. C# non me lo filo, per cui non mi  
esprimo.
Mi sono spesso interrogato sulla tendenza a sovraingegnerizzare di  
progettisti Java.

 In Python non ho scritto mai piu di 1000
 righe di codice.

Eh...

 Cio' accade soprattutto quando si è in tanti a lavorare, perche  
 ognuno vuole
 mettere le sue ganzate: questo o quel design pattern quel modo di
 procedere invece che
 un'altro. Cosi uno si trova a passare i pomeriggi a fare debug scritto
 dagli altri

Questo è vero. Ma va anche detto che ci sono *tanti* metodi che  
possono essere usati.
Il pair programming risolve abbastanza alla svelta (a meno che  
casualmente non si formi sempre una coppia di due con gli stessi  
vizi...).
In generale anche la peer review risolve.


 (se riuscite
 a capire un sistema fatto da tanto solo dall'analisi statica, cambio
 mestiere...vado
 a fare l'educatore)

Se ti può interessare, a margine, ho anche lavorato a tools di analisi  
statica automatizzata. :P
Ma è meglio che non dica quale sia la mia opinione a riguardo.

 , mentre se fosse solo un po' piu documentato magari con UML
 il pomeriggio lo passerebbe a fare shopping o cmq sa come e' fatto il
 sistema si mette l'anima in pace e quando ci sono problemi di
 performance sa dove andare a parare per eliminare i colli di
 bottiglia.

Se riesci a capire dove sta il collo di bottiglia di un sistema  
guardando la descrizione (necessariamente astratta) in UML, tanto di  
cappello.
Io non sono minimamente in grado (esattamente come mi rendo conto che  
la pura intuizione è fuorviante).
Preferisco usare un buon profiler e arrivare al punto.


 Un'altra cosa che accade spesso in progetti
 opensource, non nel kernel di Linux che è ben
 commentato o nei sorgenti di Python (per esempio la
 parte sul garbage collection è una favola..quasi
 quasi è piu la doc che il codice), è che spesso ti
 trovi davanti ad grandi parti di codice C o Java,
 dove non c'e un commento o solo commenti stupidi:
 esperienza di un paio di mesi fa davanti a JBoss
 per dare una struttura gerarchica agli EJB,
 preferivo sparire e cambiare mestire. Infatti si è
 passati a Python e SCA di IBM.

Bene. Sempre felice quando si passa a Python.

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Enrico Franchi

On Feb 3, 2008, at 10:42 PM, Y3s wrote:

 Però già un diagramma E/R è diverso: è più semplice e non c'è bisogno
 di imparare un nuovo formalismo, bastano 2 o 3 convenzioni, poi tutti
 riescono a scrivere una tabellina di campi.

Sono abbastanza d'accordo. Tra l'altro quello dei DB è uno dei pochi  
campi in cui mi trovo bene con gli schemi.

Anche usando sintassi pseudo-relazionali, avere le keys grafiche aiuta  
a focalizzare le interdipendenze.

 Mentre UML è un vero
 formalismo, ingessato, poco flessibile, non si impara certo in 10
 minuti.

E poi ti possono vendere un bel case da K$ a licenza...
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Giorgio Zoppi
 Oh, grazie del link.
 Ma se si vuole consigliare qualcosa di buono, perchè non linkare il
 libro di Fowler?
 http://www.amazon.com/UML-Distilled-Standard-Addison-Wesley-Technology/dp/0321193687/ref=pd_bbs_sr_1?ie=UTF8s=booksqid=1202078809sr=1-1

 Per quanto in completo e totale disaccordo, non è mae nemmeno questo:
 http://www.amazon.com/UML-Unified-Process-Object-Oriented-Addison-Wesley/dp/0321321278/ref=pd_bbs_sr_1?ie=UTF8s=booksqid=1202078755sr=8-1

 Cosa vuole dire? Che sono abbastanza realisti, non sono degli
 invasati. E no, non mi hanno convinto che il loro metodo sia buono, ma
 almeno l'esposizione è lucida e ben fatta.

Gia che siete in vena di link, a me è piaciuto molto questo:
Applying UML and Patterns.

http://www.amazon.com/Applying-UML-Patterns-Craig-Larman/dp/0137488807
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Enrico Franchi

On Feb 3, 2008, at 9:31 PM, Java wrote:

 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.

Beh, per quanto tempo ci perda IBM ci fanno pure un sacco di soldi.  
Presente Rational Rose?
Insomma, oste, come è il vino?

 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%.

Ma che discorso! Tra l'altro un kernel è un *pessimo* esempio per un  
uso sensato di UML.

Sono perfettamente convinto che se ti faccio vedere l'ottimizzatore di  
un compilatore non lo capisci nemmeno al 10%. E se te lo faccio vedere  
con qualche documentazione in UML continui a non capirlo. Ma non per  
un limite tuo: perchè (probabilmente) non hai li le tue skills. Tra  
l'altro avrei molta poca fiducia di un programmatore che non è in  
grado di comprendere il codice, a prescindere dal fatto che capisca UML.

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

Ma via, non scherziamo. Un 'linguaggio universale'. Se non lo studi  
non lo capisci; e allora quale è il vantaggio?
Che si presta ugualmente male a descrivere i vari linguaggi di  
programmazione?

 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...

Che lo si possa inserire chi dice nulla. Sul fatto che sia davvero  
necessario ho dei seri dubbi.
Sul fatto che sia parzialmente antitetico allo spirito stesso di XP  
sono invece piuttosto d'accordo.
In particolare è *ovvio* che è integrabile in XP; come è ovvio che  
elementi di XP possono essere presi e innestati in altri processi di  
sviluppo.
XP è *estremamente* flessibile.

Questo non vuole dire che UML sia semplicemente un overkill.

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

Oh, grazie del link.
Ma se si vuole consigliare qualcosa di buono, perchè non linkare il  
libro di Fowler?
http://www.amazon.com/UML-Distilled-Standard-Addison-Wesley-Technology/dp/0321193687/ref=pd_bbs_sr_1?ie=UTF8s=booksqid=1202078809sr=1-1

Per quanto in completo e totale disaccordo, non è mae nemmeno questo:
http://www.amazon.com/UML-Unified-Process-Object-Oriented-Addison-Wesley/dp/0321321278/ref=pd_bbs_sr_1?ie=UTF8s=booksqid=1202078755sr=8-1

Cosa vuole dire? Che sono abbastanza realisti, non sono degli  
invasati. E no, non mi hanno convinto che il loro metodo sia buono, ma  
almeno l'esposizione è lucida e ben fatta.

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

Quindi aspetta... 1 mosche non possono sbagliare?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Enrico Franchi

On Feb 3, 2008, at 10:32 PM, Domenico Chierico wrote:

 No no ma infatti sono d'accordo che probabilmente il diagramma delle
 classi e' la parte piu' inutile dell'uml ... secondo me soprattutto
 nelle universita l'uml e' spiegato e insegnato in modo insensato.

Vediamo un po' sto UML... tutta la parte di UseCase (che per inciso è  
il pezzo più utile dell'ambaradan) è un'inutile formalizzazione di una  
cosa molto naturale.
E' precisamente il pezzo in cui si vede quanto la descrizione testuale  
sia *molto* più importante del disegnino. A questo punto, seghi i  
disegnini, rendi il tutto più umano e meno formale invece che 'use- 
case' hai delle stories: più leggibili, comprensibili e comode.

Ma diciamola... anche le macchine a stati mi è capitato di usarle. Ma  
tipicamente fuori dal formalismo dell'UML, quando e se ce ne è  
bisogno, senza irrigidirmi alla UP o peggio RUP.

La parte di architettura di UML è aperta: ovvero in pratica ti devi  
reinventare il tutto tu.

Il diagramma delle classi concordo: è inutile o quasi (se non a  
posteriori, come informazione aggiuntiva se ad uno proprio garba  
vedere le cose grafiche).

Ma quindi di utile cosa ci sarebbe?

 be sicuramente e' poco applicabile oramai pero' per certi tipi di
 progetto la via vecchia e' sempre attuabile.

Per i progetti che vanno fatti fallire, dai. Anche se vuoi stare in  
modalità ingessata, allora UP è venti volte migliore.


 Be in conclusione la cosa secondo me da chiarire e' che l'UML non e'
 un linguaggio pensato per la documentazione del codice, e'
 semplicemente una formalizzazione per la modellazione ,  ha senso solo
 e' soltato se e' generato prima (molto prima) di mettere le mani su
 una tastiera, e soprattuto non e' compito di un programmatore creare
 l'uml. Dovrebbe essere, sempre per come l'ho inteso io, un mezzo
 standard per far comunicare architetti e sviluppatori, analisti e
 architetti etc etc...

Questa è in effetti la funzione classica che assume (e che ha nelle  
intenzioni dei suoi creatori).
Il punto è che buona parte di noi qui sono assolutamente pro XP. Dal  
che segue che tutto sto rigidume 'eBiz' ci fa un po' onco.

 Io la vedo cosi' non uso molto UML ma quando e' servito e' stata una
 gran cosa... certo e' si potrebbe anche creare qualcosa di meglio, non
 e' che sia cosi' bello ... ma io conosco solo quello.. :)

Non credo si possa creare qualcosa di strettamente migliore (ovvero,  
si può, ma potrebbe essere UML 3.0 o un'altra cosa ma poco importa).  
Il punto è proprio la presunzione dello strumento. Ci si è inventati  
un problema e si ha creato lo strumento quasi adatto per risolverlo.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Domenico Chierico
ba secondo me la questione non sta proprio in questi termini... per me
uml e' solo una maniera formalizzata di fare i soliti disegnini 

al fine che chiunque se vuole studia e li capisce poi decidi tu cosa
ti serve disegnare...

e' un linguaggio per descrivere i risultati della fase di modellazione
.. non e' uno strumento per modellare i problemi.

Invece di fare lo use case con il quadrato hanno deciso che si usa il
cerchio chiunque lo vede capisce .. tutto qua .. secondo me spesso si
cerca di usare l'uml per cose per cui non ha senso.

Ora che tu ti trovi meglio a scrivere per esteso o io a fare i pallini
o un'altro fara' le crocette e' una questione di personale gusto ...

Uml e' solo uno dei linguaggi per fare disegnini e schemini .. io
solitamente lo uso sulla carta.

that's all .. per me
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Y3s

Il giorno 04/feb/08, alle ore 00:02, Enrico Franchi ha scritto:


 On Feb 3, 2008, at 10:32 PM, Domenico Chierico wrote:

 No no ma infatti sono d'accordo che probabilmente il diagramma delle
 classi e' la parte piu' inutile dell'uml ... secondo me soprattutto
 nelle universita l'uml e' spiegato e insegnato in modo insensato.

 Vediamo un po' sto UML... tutta la parte di UseCase (che per inciso è
 il pezzo più utile dell'ambaradan) è un'inutile formalizzazione di una
 cosa molto naturale.
 E' precisamente il pezzo in cui si vede quanto la descrizione testuale
 sia *molto* più importante del disegnino. A questo punto, seghi i
 disegnini, rendi il tutto più umano e meno formale invece che 'use-
 case' hai delle stories: più leggibili, comprensibili e comode.


E se chi le scrive ha il giusto senso dell'umorismo anche molto più  
simpatiche e di conseguenza leggere da leggere (doh!)

CUT

 Ma quindi di utile cosa ci sarebbe?

Il case da K$ dell'altro post forse? ;-)


--
Antonio Valente


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Enrico Franchi

On Feb 3, 2008, at 9:38 PM, Crash Override wrote:

 Forse non avete ben chiari i vari ruoli dei membri che  
 contribuiscono al successo di un progetto software. Avete mai  
 sentito parlare di Architect, Designer? O conoscete solo il  
 programmatore?

Non ti senti arrogante ad uscirtene con una frase del genere?

 Se vi riferite esclusivamente a Python forse in parte potreste aver  
 ragione... Dico forse perchè la mia conoscenza di Python non è molto  
 approfondita (sicuramente si tratta di un linguaggio non  
 difficilissimo).

Ma quale è il punto? Stiamo in una ML di Python o sbaglio.
Per inciso, se uso un linguaggio demenziale, potrebbe cambiare proprio  
tutto alla radice. Cambia la quantità di informazione semantica  
portata dal codice stesso, cambia l'utilità di determinati strumenti.  
Si cambia anche linguaggio, per inciso.

Che so... quando lavoro in Prolog mi verrebbe da ridere a usare UML  
(poi a me Prolog non è che stia molto simpatico). Ma idem per Haskell  
(che invece mi sta molto simpatico), eh.

Guarda caso UML è culo e camicia con Java. Insomma, perchè sbattermi  
con uno schema UML quando in un tempo comparabile ho un prototipo  
funzionante con una buona suite di test unitari e funzionali. E magari  
pure qualche pezzo dei test di integrazione.

 Quali sono i vostri titoli di studio? Che fate nella vita? Ma è  
 meglio tralasciare...

Dottore in Matematica e Informatica. Ma penso che possiamo tralasciare  
cose tristi come sbandierare curriculum, pubblicazioni, etc etc etc,  
sono d'accordo. Ed è un giochino in cui non mi faccio trascinare.

Tra l'altro spiegami cosa dovrebbe avere a che fare il titolo di  
studio con la competenza in un discorso di questo tipo. In Università  
insegnano quasi nulla di quello che è necessario 'qua fuori'. Sulle  
cose *teoriche* sono *molto* forti. Idem sul formare determinate  
abilità di ragionamento e tutto. Sugli aspetti tecnologici spesso no:  
e giustamente, per inciso. 
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Giorgio Zoppi
 Uml e' solo uno dei linguaggi per fare disegnini e schemini .. io
 solitamente lo uso sulla carta.
Ma infatti vanno fatti su carta.
Trovo che gli strumenti case siano scomodi, costosi e perdi tempo.
Molto spesso il reverse engineering non funziona. Io alla fanzoppi lo
faccio spesso, sperando di avere qualche lume sul progetto..ma è
sempre difficile fare ispection con tali strumenti.
Te nel tuo gruppo devi comunicare e questo lo puoi fare parlando,
scrivendogli un trattato
usare le CRC cards (ce un libro chiamato Object Thinking della MS
Press, bellino su questo),
oppure facendo dei diagrammi di sequenza.
La modellazione del dominio la fai a priori: è il modo in cui pensi ad
oggetti importante
non lo strumento formale. Lo strumento formale come UML ti serve per
scambiare informazioni e ricevere informazioni IMHO ed non
necessariamente dovrebbe essere al pc. Personalmente cmq sono un fan
dei diagrammi di sequenza.
Cheers,
Giorgio.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Enrico Franchi

On Feb 4, 2008, at 12:12 AM, Y3s wrote:

 E se chi le scrive ha il giusto senso dell'umorismo anche molto più
 simpatiche e di conseguenza leggere da leggere (doh!)

Si, vero. :)

 Il case da K$ dell'altro post forse? ;-)

Solo dopo averlo scritto. :P

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Domenico Chierico
On Feb 4, 2008 12:19 AM, Giorgio Zoppi [EMAIL PROTECTED] wrote:
 Personalmente cmq sono un fan
 dei diagrammi di sequenza.
 Cheers,
 Giorgio.

si si i diagrammi di sequenza so un po pallosi da fare ma quando devi
farti capire e' la via :)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python vs UML

2008-02-03 Per discussione Roberto Bettazzoni
Ciao a tutti,
butto i miei 2 centesimi

In sintesi:
concordo sull'inutilità di UML per lo sviluppo, soprattutto
se usi un linguaggio come Python.

Y3s ha scritto:
 Il giorno 03/feb/08, alle ore 21:38, Crash Override ha scritto:
 Enrico Franchi ha scritto:
 On Feb 3, 2008, at 8:30 PM, giuseppe saviano wrote:

   
 ho capito che la progettazione uml in alcuni casi risulta limitante;
 nella stessa serie di messaggi si parlava poi di list comprehension
 ... altri esempi?
 
 Non è che è limitante, è che tutt'ora devo trovare un caso in cui sia  
 davvero utile.

Anch'io vengo da una storia di UML imposto dal management in una grossa
applicazione J2EE
... lasciamo stare, brutti ricordi

Però, ultimamente, ho visto due applicazioni dell'UML

- Dove lavoro ora chi scrive embedded lo utilizza con successo per documentare
l'unione di Hw e Sw. Sembra che sia piuttosto utile allo scopo.
(è una parte che non conosco bene, lo riferisco solo per dovere di notizia).

- In una applicazione sviluppata congiuntamente da un team C++ ed uno Python
abbiamo visto che 2 o 3 semplici diagrammi in UML, che congelavano le 
interfacce
senza scendere in dettagli, evitavano una marea di discussioni.
Non che fosse vitale dal punto di vista del design, o tecnico in generale,
ma è stato utile: il team C++ non voleva vedere del codice pitonico e molti
serpidi non capivano il C++. L'UML è stato un compromesso accettabile per 
entrambi.


 Forse non avete ben chiari i vari ruoli dei membri che contribuiscono 
 al successo di un progetto software. Avete mai sentito parlare di 
 Architect, Designer? O conoscete solo il programmatore?

si, si, anche evangelista, analista, tester, coach, QA manager
  ... di ruoli ce n'è a volontà
Qualche volta corrispondono ad un mestiere vero, altre sono solo fuffa

IMHO il tutto è piuttosto lineare.
Se un gruppo di persone vuole una cosa ed un gruppo di persone sa farla, questi
devono comunicare nel linguaggio più efficente allo scopo.
UML, Python, Italiano, Inglese, SQL, C++ ... non importa.
Qui si parla di comunicazione tra le persone, non di comunicazione con la 
macchina.
L'unico che comunica con la macchina è il programmatore mediante il codice.

Nella mia esperienza UML non è il più efficente modo di comunicare con gli 
umani.
Io preferisco l'italiano o l'inglese.

A proposito dei ruoli:
se sei nell'esercito, e il tuo sergente ti dice che il tenente ti comunica che 
il
capitano ha ricevuto un ordine dal colonnello che il generale vuole che si 
avanzi
di 100 metri ... sei sicuro che siano proprio le parole del generale?
I ruoli gerarchici o sequenziali non aiutano certo la comunicazione.


 Allora quando costruiamo una casa esistono solo i muratori? E se un 
 muratore costruisce bene le mura allora la casa può farla senza progetto? 

Da un po' di tempo si vocifera che il codice sia il progetto (non la casa) e
che il muratore sia l'interprete (non il programmatore).


 La domanda forse sarebbe:
 Quali sono i vostri titoli di studio? Che fate nella vita? Ma è meglio 
 tralasciare...

Il titolo di studio ... stupendo, come se in questo campo fosse qualificante
... ma daii

Scegli:
Giro, vedo gente, scrivo codice
Mi chiamo Taz, risolvo problemi,

si, concordo, è meglio tralasciare
:-)
Roberto




___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python