|
|
|
|
Strumenti |
13-09-2007, 15:18 | #321 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
"decoratore" è il nome carino che si da ad un preprocessore.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! Ultima modifica di PGI-Bis : 13-09-2007 alle 15:23. Motivo: ho fatto uno scrivi e copia e incolla e invia... |
13-09-2007, 15:28 | #322 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Ma è una funzione, non una macro.
Per maggiori informazioni: http://www.python.org/dev/peps/pep-0318/
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
13-09-2007, 15:37 | #323 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Non è preprocessing . Sono stato tratto in inganno dalla somiglianza con l'uso prevalente delle annotazioni Java.
[ps] Ma perchè si sono inventati quella sintassi alternativa? Mi pare di capire che non sia altro che una concatenazione di invocazioni di funzione. O sbaglio?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
13-09-2007, 15:53 | #324 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Quote:
Quote:
Nel caso che ho riportato questo: Codice:
@log(Log) def Pippo(self, Pluto, Topolino, Minnie, *Args, **Keys): pass Codice:
def Pippo(self, Pluto, Topolino, Minnie, *Args, **Keys): pass Pippo = log(Log)(Pippo) In particolare una funzione, Pippo, viene definita, ma poi viene data in pasto a un'altra funzione, log, che la manipola e restituisce a sua volta una funzione che prende il posto di Pippo. Quest'atrocità linguistica si traduce nel fatto che log restituisce una funzione wrapper che opera alcune alterazioni alla funzione originale. Comunque la prima forma è decisamente più leggibile, e siccome Python è un linguaggio che fa della leggibilità il suo punto di forza, sono stati introdotti i decoratori.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
13-09-2007, 16:05 | #326 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Sapendo cos'è un decoratore sicuramente. Altrimenti sarebbe arabo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
13-09-2007, 16:10 | #327 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Hai centrato il punto della leggibilità. Che vale per tutte le lingue che si dichiarino "più leggibili". Non ti trascino nel solito girone di teorie e pinzillacchere.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
13-09-2007, 16:14 | #328 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Avevo intuito l'ironia.
Vero!
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
13-09-2007, 18:47 | #329 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3305
|
Quote:
Cosa mai può conoscere il linguaggio oltre alla sintassi stessa? |
|
13-09-2007, 19:01 | #330 |
Senior Member
Iscritto dal: Feb 2001
Messaggi: 824
|
vorrei dire due cose, piccole piccole: vedo che voi rispetto a me siete nani e giganti insieme. Io, forse, una formichina. Cmq dibattito interessante, penso ora di capire la differenza tra informatica e ingegneria informatica. Aggiungo che forse bisognerebbe aprire un altro topic per il dibattito su tutti questi linguaggi, paradigmi etc...
Su Torvalds, si può dire lo stesso che di Gates e Jobs: non erano "le persone giuste al momento giusto", ma solo "le persone al momento giusto". Torvalds era uno studente nella media: il caso ha voluto che il suo kernel giocattolo incuriosì la comunità e fece da goccia che fa traboccare il vaso. I tempi erano maturi per cominciare a costruire quel qualcosa che sarebbe stato Linux, sorvolando sulla opinabile qualità. Certo che Linux ha messo in moto tante idee e persone e un modo nuovo di fare prodotti (software), inesistente tutt'ora in altre categoria (mai sentito parlare di progetti per auto o elettronica open-source?). Certo, l'open source c'era già prima di Torvalds e di Linux, ma sono stati loro, per fattori come dire...congiunturali, a scatenare il processo: del resto il kernel GNU Hurd non mi pare abbia avuto successo. Quindi quando Torvalds tira fuori teorie assurde o si incacchia mostra solo quello che è sempre stato, per me. Per concludere il paragone, chiarisco perchè ho chiamato dentro anche Gates, che non aveva niente di eccezionale tra le mani, ma il fatto che il suo dos fosse distribuito con i primi pc ibm compatibili lo fece diventare leggendario (le cose sono andate un pelino diverse, ma credo che il succo sia questo). Idem per Jobs, che di informatica non capiva nulla o quasi ma aveva ottime intuizioni di marketing, nonchè di immagine, e che da alcuni viene considerato cmq un santone o goru dell'informatica. Uomini...al momento giusto, senza particolari meriti oltre quello di fare ciò che c'era da fare quando andava fatto. Non vi conosco, ma da come scrivete (pgi-bis, cdimauro), immagino che se ci fosse stati voi le cose sarebbero andate meglio. Non è stato così purtroppo.
__________________
Il Poeta assomiglia a questo principe // Dei nembi, che frequenta la tempesta // E ride dell'arciere; a lui, esiliato // Sulla terra, fra gli schiamazzi, le ali // Da gigante impediscono il cammino. (Baudelaire - l'albatro) Ultima modifica di wireless : 13-09-2007 alle 19:05. |
13-09-2007, 23:15 | #331 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Io sono il verme nella mela mangiata dal gigante sulle cui spalle è seduto il nano. Striscio a terra, ogni tanto mi azzuffo con uno scarrafone, insomma si tira a campare come tutti, sperando sempre che non arrivi quel bastardo di un passero: e ho tre uova a carico, e ci ho il mutuo sul nido e zac, jonny il bruco non l'ha più visto nessuno.
Posso tuttavia dire con serenità che fossi stato io lo sviluppatore di Linux le cose sarebbero andate meglio: oggi avremmo GNU/Hurd.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
14-09-2007, 07:39 | #332 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
EDIT: completamente travisato il messaggio di wireless.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys Ultima modifica di cdimauro : 15-09-2007 alle 06:55. |
14-09-2007, 09:55 | #334 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Mumble mumble. Non credo. Sono le reazioni ad essere diverse.
EDIT: Diciamo che a me ha ispirato il pezzo che ha aggiunto dopo. RI-EDIT. Sì, avevi ragione: avevamo letto due cose completamente diverse. Anzi, ho del tutto travisato io.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys Ultima modifica di cdimauro : 15-09-2007 alle 06:56. |
14-09-2007, 10:04 | #335 | |||
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7077
|
Quote:
Quote:
ma anche volendo questo non risolve il problema dei copia-incolla, al massimo il fatto che il linguaggio è amorfo lo può limitare Quote:
|
|||
14-09-2007, 10:11 | #336 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53967
|
|
14-09-2007, 10:13 | #337 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Quote:
Io ho semplicemente riportato la mia esperienza con Python in merito. Quote:
scanf("%d", 0xC0DEDBAD); /* BOOOM! */
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
14-09-2007, 10:30 | #338 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7077
|
Quote:
ho fatto l'esempio del D, come avrei potuto fare qualche esempio in Java o in altri linguaggi che semplificano _realmente_ la vita al programmatore e non solo per finta potrebbero essere casini o comportamenti voluti.. sta di fatto che in pascal non si può fare mentre in C sì |
|
14-09-2007, 10:47 | #339 | |||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Quote:
Quote:
Ed è un errore che in Pascal NON puoi commettere. Quote:
Anche in Pascal puoi passare l'indirizzo che vuoi a una procedura (o funzione) che si aspetta un parametro VAR, ma devi costruirtelo a manina (leggi: lo devi fare proprio apposta e con la piena consapevolezza di quel che stai facendo). Questo te lo lascio come esercizio.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
14-09-2007, 10:59 | #340 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Visto che l'esempio non è arrivato, te lo faccio io (ma astrattamente).
Immagina di dover implementare una coda. Con un linguaggio non amorfo hai tre possibilità: - ti scrivi un pezzo di codice che lo fa per un certo tipo di dato (da conservare) e, quando ti serve per un altro tipo di dato fai un copia & incolla selvaggio sostituendo al vecchio tipo quello nuovo che ti serve; - progetti la classe (o le funzioni) in modo da accettare un puntatore al dato e la sua dimensione (da passargli ogni volta a manina); - prendi l'esempio precedente e progetti una classe astratta per gestire il dato come coppia puntatore e dimensione del dato (questo da passare una sola volta al costruttore); i suoi discendenti la implementeranno e passeranno al costruttore della classe astratta la dimensione del tipo di dati che gestiscono. Con un linguaggio amorfo è sufficiente scrivere una sola volta il codice per gestire una coda, e qualunque dato gli verrà passerato lo memorizzerà così com'è. Perché non c'è alcun controllo, da parte del compilatore, sul tipo di dati (in genere i dati sono tutti implementati come puntatori a oggetti).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:37.