[Python] sviluppare applicazioni android tramite python

Carlos Catucci carlos.catucci a gmail.com
Mer 28 Dic 2011 11:35:27 CET


Carlos ma che due balle con sta storia che Python è meglio a

> prescindere e tutto il resto è merda, Python è un buon linguaggio per
> alcuni usi, punto a capo e guardiamo avanti.
>

Python e' un linguaggio adattissimo per lo scripting (tra le varie cose).
Javascript e' un linguaggio di scripitng (lo dice anche il nome). Ergo
visto che tra i linguaggi di scripting Python e' de facto meglio .... il
sillogismo completalo tu.

Chiaro che se devo fare calcolo parallelo so che esistono opzioni di gran
lunga migliori.


> Valutare la complessità di un software certo è difficile, per progetti
> "complessi" Python diventa ingestibile, la IDE qualunque sia ad un
> certo punto non riesce più a venirti incontro per le caratteristiche
> del liguaggio, per altri linguaggi su cui costantemente si sputa sopra
> (vedi .NET) la IDE in vece ti da una grossa mano ed il progetto
> diventa più gestibile.


ho usato .NET (C# per l'estttezza) per progetti complessi. Bene la
famigerata mano che dici non la ho vista. A darmi una mano in gestione di
progetti complessi e' il fatto di scrivere bene il codice, usare un buon
applicativo di versioning, avere analisi fatte bene, etc. L'iDE e' comodo
per disegnare maschere (e qui infatti, parlo di ambito ClientServer, quindi
PyQt, PyGtk e WxPython non esiste uno strumento adeguato, ma non c'entra il
linguaggio) e per eseguire un debugging integrato (che pero' con prodotti
come Eclipse o Wing Ide riesci a fare lo stesso). Ma ho vist progetti anche
relativamente semplici imputtanati da project manager che non avevano le
idee chiare, e questo in qualsiasi linguaggio io abbia lavorato (e sono
diversi).



> Sono state fatte analisi sulla velocità dello
> sviluppo vs la complessità di mantenimento e Python sopra una certa
> complessità non è più così "comodo" (termine orribile) come per
> progetti più piccoli.
>

Non so chi abbia fatto le analisi e che paraemtri abbia considerato. Io ho
dovuto gestire cose complesse (tipo riscrivere un applicativo che emulasse
le funzionalita' di Skype con alcune funzionalita' aggiuntive ma ch girasse
su server del cliente). A parte le difficolta' intrinseche del progetto (ad
esempio avevano scelto WxPython come framework da usare, ma il cliente
sotto Windows voleva un look 'n' feel mac style perche' i mockup erano
stati fatti con un Mac e nessuno aveva spiegato al cliente che WxPython si
adatta al SO ospite e ci siamo dovuti riscrivere TUTTI i widget a mano) e
il fatto che abbiamo embeddato alcune cose (esempio la parte di gestione
delle video chiamate era gestita tramite wraper su applicazione nativa in
C) il progetto, fatto oltretutto in tempi strettissimi perche' chi gestiva
il progetto aveva AMPIAMENTE sottostimato il tutto, con tre gruppi di
sviluppatori che seguivano le varie parti (chi si occupava della GUI, chi
della parte server e chi della parte di trasmissione dati video e audio)
non abbiamo avuto problemi. Poi magari siamo solo stati fortunati.


> Questo non vuol dire che non sia un bel linguaggio ma quando si esce
> dall'ottica hobbistica e si entra in quella aziendale, le scelte non
> possono essere solo per quello che è più bello o quello che mi piace
> di più, ci sono aziende che per il software che producono trovano
> Python ideale, e questo è buone e giusto, altre aziende che fanno
> software diversi, il che non vuol dire migliori, non lo possono usare.
>

Io ho visto usare Python in tantissimi ambiti, e non usarlo in altri. Ne
primi casi non ho acora visto problemi, nei secondi ho visto problemi che
potevano essere evitati se si fosse usato. Poi ripeto, ci sono sicuramente
ambiti particolari (parallel processing, embedded su PLC, real time) dove
le prestazioni o altro di Python non si prestano. Pero' direi che e' un
linguaggio che permette di fare cose in maniera semplice ed efficiente piu'
di altri. Ci homesos meno tempo a scrivere un estrattore di dati (legge da
SqlServer e scrive su Postgress) in Python che non a fare la stessa cosa
con C#.


>
> Parlo per esperienza diretta e non per sentito dire, in azienda da noi
> sono state fatte delle scelte che a volte sono risultate sbagliate
> altre volte azzeccate, si cerca di imparare dai propri errori, abbiamo
> un software scritto in Python che è nato come prototipo, poi visto che
> era ben fatto e che i clienti lo apprezzavano è stato portato avanti
> come software in produzione, ora dopo qualche decina di migliaia di
> righe di codice funziona benissimo per carità, metterci le mani però
> non è più così "divertente", tanto che si sta pensando di riscriverlo
> in .NET
>

Che sia stato sbagliato l'apporccio non e' possible? Voglio dire, se nasce
come prototipo, non e0 stato pendsato per esserre mantenuto come pregetto
complesso. Io se prgetto un applicativo complesso, lo progetto in un modo.
Se devo far vedere una demo di cosa POTREBBE fare un applicativo, da
realizzare a seguire, dopo la demo, se il cliente e' interessato, con sue
specifiche, lo progetto diversamente.


> Se l'azienda vuol prendere le decisioni giuste ogni strumento ha i
> suoi vantaggi, punto, non c'è il bello e il brutto, c'è il funziona o
> non funziona per quell'applicazione


bene io che non funziona ne ho iincontrati tanti, ma fino ad ogggi era con
linguaggi differenti. Forse perche' da quando uso prevalentemente Python
per fare le cose i pogetti non li faccio gestire da persone non preparate.


> Buon natale :)
>

Feliz navidad

Carlos
-- 
If you have no voice, SCREAM! If you have no legs, RUN! If you have no
hope, INVENT!
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20111228/92c57f39/attachment.html>


Maggiori informazioni sulla lista Python