[PIPython] wx vs all the others [WAS: no subject]

Massimo Cecconi massimo.cecconi
Gio 10 Mar 2005 16:30:40 CET



Valentino Volonghi aka Dialtone ha scritto:

> Massimo Cecconi wrote:
>
>> O_o .... ma se un'enciclopedia vivente?? :):)  ....complimenti!!
>>
>> Senti volevo chiederti due cose:
>>
>> cosa intendi per pythonica???
>
>
> Un'API pythonica e` quella che utilizza i coding styles specificati 
> nella PEP-8, quindi:
>
> nomi di classi camel case con iniziale maiuscola
> nomi di metodi, funzioni e variabili in lowercase con underscore, o in 
> camel case con iniziale minuscole
> E tante altre varie cose. Wx viola queste regole mettendo i metodi con 
> camel case e iniziale maiuscola, rendendo piu` difficile capire quali 
> sono classi e quali no.
> Inoltre il fatto (anche se questo sta cambiando con wxPython 2.5) di 
> dover legare gli eventi con EVT_QUALCOSA nel corpo della classe e` 
> abbastanza brutto.
> In generale poi tutta la faccenda del wxId etc. etc. Fa un ottimo 
> lavoro per rendere l'API piu` pythonica WAX ma non corregge la 
> questione dei nomi (mentre corregge tutto il resto), solo che essendo 
> ancora un altro layer sopra wx, che e` un layer sopra altri toolkit, 
> otteniamo che la libreria comincia a diventare poco responsiva ecc ecc.
>
>> nel finale hai parlato di threads giusto?? bene ecco a me serve 
>> proprio cercare di capire come funzionano perchè dalla documentazione 
>> ufficiale non sono riuscito ad imparare nulla!!!! poi la reputo 
>> scarsa e poco chiara (la doc).....
>
>
> Funziona quasi esattamente come l'API di java. deriva da 
> threading.Thread e implementa il metodo run, quindi istanzia la tua 
> classe che deriva  da Thread e chiama il metodo start. A questo punto 
> hai un thread che gira per i fatti suoi. Se devi solo chiamare una 
> funzione nel thread usa threading.Thread(target=funzione, argomenti) 
> che creera` il thread solo per eseguire la tua funzione.
>
> In generale sconsiglio l'uso dei thread, quantomeno in python, e 
> avvantaggerei i processi differenti. In python infatti il GIL 
> impedisce ai thread di scalare su macchine SMP (a meno che il codice 
> che usa i thread e` scritto in C come estensione e utilizza le macro 
> BEGIN_ALLOW_THREADS e END_ALLOW_THREADS). Purtroppo i thread sono 
> utili per gestire calcoli lunghi e operazioni bloccanti, non per 
> dividere l'esecuzione del programma in piu` rami. Infatti rendono 
> l'architettura enormemente complessa e necessitano di sforzi fuori dal 
> comune e molta attenzione per garantire la stabilita` di un software 
> scritto con il loro ausilio. I processi invece sono molto piu` sicuri 
> dei thread e possono scalare su multipli processori e addirittura su 
> molteplici computer.
>
Ops!! O_o mi sono dimenticato di dire che sono molto newbie ed 
oltretutto autodidatta con unica esperienza di programmazione il PHP 
appreso sempre da autodidatta!!

Quindi sinceramente non ho capito molto o diciamo nulla di quello che 
hai scritto (non per colpa tua sia chiaro :):)  )
Il fatto è che io sto facendo un programmino che deve essere diviso in 
modo che da un lato avrò una griglia che si deve auto aggiornare quando 
compirò determinate azioni tramite dei form posizionati dal lato opposto 
(della schermata).

Si lo so che coì forse non è chiaro ma non saprei come fare altrimenti 
per spiegare quello che mi occorre :(:(

Insomma cosa devo fare per gestire una cosa simile??

>
>> Tornando a questa discussione io oramai mi sono orientato sulle wx 
>> perchè personalmente reputo scomodo il file xml che non riesco a 
>> modificare opportunamente a mano qualora ce ne fosse la 
>> necessità.......nonstante Glade è sicuramente più completo di wxGlade 
>> ad esempio oppure di wxDesigner (che sto provando in questi giorni)  
>> naturalmente è assolutamente un parere personale e sindacabile in 
>> toto :):):)
>
>
> Questo sinceramente non e` un problema. Ti consiglio di restare su wx 
> perche` ormai ti sei costruito il tuo know-how. Ma si puo` generare il 
> codice che costruisce l'interfaccia GTK2 partendo da glade con questo 
> piccolo software:
>
> http://primates.ximian.com/~sandino/python-glade/


Si ma questo piccolo software come dovrei usarlo?? non ho capito nulla 
di quello che è scritto in quel link!! cosa devo scaricare??

Arigrazie ancora :):)



More information about the Python mailing list