Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
N Il giorno 30/nov/2014 14:20, "Nicola Larosa" ha scritto: > > Marco Ippolito wrote: > > Comunque è un tool in più... meglio averlo che non averlo. > > Che cosa non-pythonica che hai detto. +1 Carlos ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
ciao Carlos, sarà effettivamente una cosa poco pythonica. Stavo cercando una spiegazione razionale al fatto che manuali e libri ne parlano, pur non essendoci, a quanto pare, evidenti motivi per usare @staticmethod in modo esteso. Marco Il 30 novembre 2014 14:36, Carlos Catucci ha scritto: > N > Il giorno 30/nov/2014 14:20, "Nicola Larosa" ha scritto: >> >> Marco Ippolito wrote: >> > Comunque è un tool in più... meglio averlo che non averlo. >> >> Che cosa non-pythonica che hai detto. > > +1 > > Carlos > > > ___ > 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] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
2014-12-01 8:20 GMT+01:00 Marco Ippolito : > > Stavo cercando una spiegazione razionale al fatto che manuali e libri > ne parlano, pur non essendoci, a quanto pare, evidenti motivi per > usare @staticmethod in modo esteso. Nel Kerningam & Ritchie viene citato il costrutto goto in C. Questo perche' e' presente, nel linguaggio, per cui, in teoria, si potrebbe usare. Io in 25 anni che programma di cui una buona parte (nella parte iniziale sopratutto) ho usato il C e mai mi sono trovato nell'ipotetica condizione per cui avrei dovuto usarlo. Quello che voglio dire e' che un manuale deve presentarti tutte le opzioni, poi sta a te scegliere se usare io meno una feature. Carlos -- EZLN ... Para Todos Todo ... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
La chiave di tutto ciò sta nell'esperienza. Più hai esperienza, e più interagisci con persone che hanno esperienza, e più riesci a districarti in tutti questi aspetti che sembrano banali ma, per chi come me, non è molto che programma, sono importanti. Per questo che ringrazio te, Carlos, e gli altri, per tutti i consigli che ci date. Marco Il 1 dicembre 2014 08:45, Carlos Catucci ha scritto: > > 2014-12-01 8:20 GMT+01:00 Marco Ippolito : >> >> >> Stavo cercando una spiegazione razionale al fatto che manuali e libri >> ne parlano, pur non essendoci, a quanto pare, evidenti motivi per >> usare @staticmethod in modo esteso. > > > Nel Kerningam & Ritchie viene citato il costrutto goto in C. Questo perche' > e' presente, nel linguaggio, per cui, in teoria, si potrebbe usare. Io in 25 > anni che programma di cui una buona parte (nella parte iniziale sopratutto) > ho usato il C e mai mi sono trovato nell'ipotetica condizione per cui avrei > dovuto usarlo. > Quello che voglio dire e' che un manuale deve presentarti tutte le opzioni, > poi sta a te scegliere se usare io meno una feature. > > Carlos > -- > EZLN ... Para Todos Todo ... > > ___ > 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] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
2014-12-01 8:58 GMT+01:00 Marco Ippolito : > Per questo che ringrazio te, Carlos, e gli altri, per tutti i consigli > che ci date. > Il bello delle comunita', come questa ML, e' che ci si aiuta tra noi. Carlos -- EZLN ... Para Todos Todo ... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
2014-12-01 7:45 GMT+00:00 Carlos Catucci : Nel Kerningam & Ritchie viene citato il costrutto goto in C. Questo perche' > e' presente, nel linguaggio, per cui, in teoria, si potrebbe usare. Io in > 25 anni che programma di cui una buona parte (nella parte iniziale > sopratutto) ho usato il C e mai mi sono trovato nell'ipotetica condizione > per cui avrei dovuto usarlo. Strano. Io e' parecchio che sviluppo in C, lo ho usato, lo uso e lo vedo usare. Non solo, penso che sia *evidente* che non usandolo si complica la gestione degli errori in modo mostruoso. Di fatto non uso goto (e non ne sento bisogno) se ho gestione dell'eccezioni oppure affary tipo maybe. D'altra parte SPwGS e' del '74 e dovrebbe essere ormai assodato. In particolare, il goto di C e' piuttosto safe. Non e' certo il goto dei vecchi basic. E non ci sono molti costrutti che ci fanno a cazzotti (come in C++; ma tanto li ho le eccezioni e vado pure meglio). -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
2014-12-05 15:46 GMT+01:00 enrico franchi : > In particolare, il goto di C e' piuttosto safe. Non e' certo il goto dei > vecchi basic. E non ci sono molti costrutti che ci fanno a cazzotti (come > in C++; ma tanto li ho le eccezioni e vado pure meglio) Perdonami ma io i problemi che evidenzi a NON usarlo mai visti. Carlos -- EZLN ... Para Todos Todo ... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
> >In particolare, il goto di C e' piuttosto safe. Non e' certo il goto dei >vecchi basic. E non ci sono molti costrutti che ci fanno a cazzotti (come in >C++; ma tanto li ho le eccezioni e vado pure meglio) > >Perdonami ma io i problemi che evidenzi a NON usarlo mai visti. > Ai tempi dell'università, il "goto" ci era stato caldamente consigliato di non usarlo. Della serie: "esiste, ma guai a voi se lo usate". Walter ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
2014-12-05 17:23 GMT+01:00 Walter Valenti : > Ai tempi dell'università, il "goto" ci era stato caldamente consigliato > di non usarlo. > Della serie: "esiste, ma guai a voi se lo usate". > Professori seri, non ce ne sono piu' ;) Carlos -- EZLN ... Para Todos Todo ... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
> >> >>In particolare, il goto di C e' piuttosto safe. Non e' certo il goto dei >> vecchi basic. E non ci sono molti costrutti che ci fanno a cazzotti (come >> in C++; ma tanto li ho le eccezioni e vado pure meglio) >> >>Perdonami ma io i problemi che evidenzi a NON usarlo mai visti. >> > > > Ai tempi dell'università, il "goto" ci era stato caldamente consigliato > di non usarlo. > Della serie: "esiste, ma guai a voi se lo usate". > > Walter Questa cosa del goto in C e' stata gia' discussa in lista qualche anno fa. Non ho idea di cosa si insegni nei corsi accademici, ma goto in C si usa eccome, anzi e' un ottimo modo per migliorare la leggibilita' e la qualita' del codice. Francamente ci sono svariati costrutti che rabbrividerei al solo pensiero di farli senza goto (mi ritroverei con dei blocchi annidati da competizione). Il kernel linux, apache, nginx, i vari BSD, python stesso sono strapieni di goto. Poi ovvio se si usa il goto al posto di una funzione (come si faceva in basic) stai facendo male. Se usi il goto quando hai altro (come le eccezioni in C++ come diceva enrico) stai facendo male. Ma il c "moderno" (sempre che voglia dire qualcosa visto che il linguaggio non si e' praticamente mai evoluto) senza goto sarebbe un incubo. -- Roberto De Ioris http://unbit.it ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
> 2014-12-05 17:36 GMT+01:00 Roberto De Ioris : > >> >> Poi ovvio se si usa il goto al posto di una funzione (come si faceva in >> basic) stai facendo male. Se usi il goto quando hai altro (come le >> eccezioni in C++ come diceva enrico) stai facendo male. Ma il c >> "moderno" >> (sempre che voglia dire qualcosa visto che il linguaggio non si e' >> praticamente mai evoluto) senza goto sarebbe un incubo. > > > a me fu insegnato che se lo usavi avevi sbagliato algoritmo > > beh ti hanno insegnato qualcosa che si discosta parecchio dalla vita di tutti i giorni (almeno negli ultimi 15 anni) :) Prendi ad esempio l'implementazione di marshal.c in Python. Non puoi non dire che goto renda il tutto piu' leggibile e chiaro. Poi oh, i tempi cambiano, magari tra 10 anni tutti si mettono a usare longjmp/setjmp -- Roberto De Ioris http://unbit.it ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
2014-12-05 16:23 GMT+00:00 Walter Valenti : > Ai tempi dell'università, il "goto" ci era stato caldamente consigliato > di non usarlo. > Classico effetto "mi hanno detto che non va bene". In particolare tutto nacque dal paper di Dijkstra. Per inciso, Dijkstra stesso si e' espresso in modo piu' moderato sullo stesso punto in seguito. Il fatto e' che quel paper viene sempre citato, non e' stato in generale letto o capito da chi lo cita. E ovviamente tutte le condizioni al contorno non vengono *minimamente* tenute in considerazione. Come appunto dicevo, nella pratica si usa. Le alternative sono peggiori. Specie perche' il goto di C ha relativamente poco in comune Il punto e' che in C non hai le eccezioni. Il che vuole dire che il classico pattern res1_acq res2_acq res3_acq do_something do_something do_something clean_res1 clean_res2 clean_res3 diventa piuttosto tricky quando ci devi appunto ficcare in mezzo il fatto che ogni operazione dopo res1_acq deve pulire res1, ogni operazione dopo res2_acq deve pulire res2 (e per quanto detto prima, pure res1) e cosi' via. La struttura usando goto risulta *parecchio* semplice e leggibile (e si puo' anche sfruttare l'effetto a cascata). Appunto, come diceva Roberto, e' una pratica talmente diffusa e ovvia che e' veramente strambo parlarne. Basta leggere un po' di codice in giro (e si parla di progetti piuttosto di peso, non roba scritta da principianti). > Della serie: "esiste, ma guai a voi se lo usate". Tenendo conto che la maggior parte delle persone che fanno il primo corso di programmazione sono in difficolta' pure con il while, capisco la posizione. E anche tenendo conto che i programmi che si fanno in questi contesti sono sufficientemente semplici, specialmente allocano molte poche risorse... probabilmente files e memoria e fine della fiera. Dopo di che, sfortunatamente, questo dogma resta, evidentemente senza capirne il fondamento. Peccato che di tutte le cose piu' o meno utili insegnate in universita' questo sia indelebile... mentre tanta altra roba viene persa. Credo che il motivo sia che non si e' dovuto lavorare piu' di tanto in C... puo' essere? -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
2014-12-05 17:36 GMT+01:00 Roberto De Ioris : > > Poi ovvio se si usa il goto al posto di una funzione (come si faceva in > basic) stai facendo male. Se usi il goto quando hai altro (come le > eccezioni in C++ come diceva enrico) stai facendo male. Ma il c "moderno" > (sempre che voglia dire qualcosa visto che il linguaggio non si e' > praticamente mai evoluto) senza goto sarebbe un incubo. a me fu insegnato che se lo usavi avevi sbagliato algoritmo Carlos -- EZLN ... Para Todos Todo ... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
2014-12-05 17:49 GMT+01:00 Roberto De Ioris : > beh ti hanno insegnato qualcosa che si discosta parecchio dalla vita di > tutti i giorni (almeno negli ultimi 15 anni) :) > Parliamo di 25 anni fa, lavoravo su WS Unix Motif Poi C usato meno solo per cose piccole, moduletti veloci. Carlos -- EZLN ... Para Todos Todo ... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Il troppo stroppia (era: Re: Quando è opportuno usare @staticmethod?)
Il giorno 5 dicembre 2014 15:53, Carlos Catucci ha scritto: > 2014-12-05 15:46 GMT+01:00 enrico franchi : >> In particolare, il goto di C e' piuttosto safe. Non e' certo il goto dei >> vecchi basic. E non ci sono molti costrutti che ci fanno a cazzotti (come in >> C++; ma tanto li ho le eccezioni e vado pure meglio) > Perdonami ma io i problemi che evidenzi a NON usarlo mai visti. D'accordissimo con Enrico, *non* usandolo la gestione degli errori si complica, è molto usato (e comodo), inutile dire il contrario [gianmt@localhost gtk+]$ grep -rw goto * | wc -l 514 [gianmt@localhost glib]$ grep -rw goto * | wc -l 1308 ciao -- Gian Mario Tagliaretti GNOME Foundation member gia...@gnome.org ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python