magica
2003-11-16 14:28:22 UTC
Mi riallaccio al filone sull'indirezione, aperto da Giovanni Drogo.
Vediamo se almeno siamo d'accordo su che cos'è l'"indirection" (stiamo
parlando di software) prima di decidere se in italiano il termine si
può rendere, oltre che col calco (ma forse è qualcosa di più di un
calco) indirezione, anche in altro modo.
Se ben ricordo, la prima volta che ho visto usare indirection, è stato
nel manuale originale del C++: quello di Ellis-Stroustrup, per
intenderci (può darsi sia stato usato prima anche nei manuali del C,
ma non ricordo).
Lì era usato per indicare "l'operatore di <<indirezione>>", cioè un
operatore che, applicato a una variabile (contenente un indirizzo) o a
un'espressione (il cui risultato è un indirizzo) permette di ottenere
il valore di ciò che è indirizzato.
Questo è in accordo col significato del termine indirection in
inglese, cioè, secondo il Merriam-Webster. "indirect action or
procedure".
Quindi, nella nostra accezione, l'indirection è l'azione che consente
di accedere al valore di qualcosa non usando il suo nome (quindi non
in modo diretto), ma usando il nome di qualcos'altro (quindi in modo
indiretto).
Un po' come quando dico "ho bevuto due bicchieri di troppo"
riferendomi, col termine bicchiere, non al bicchiere stesso, ma a
qualcosa cui il bicchiere rimanda, ad esempio vino (senza però usare
la parola vino, ma la parola bicchiere).
Ora si può dire indirezione in italiano? Beh, se si si sa che cosa
significa, dipende dai gusti, direi. Anche se "direzione",
nell'accezione di azione che consente di accedere direttamente, non i
risulta sia usato.
Nella mai risposta a Giovanni ho suggerito di usare "indirizzamento
indiretto", ma mi sa che ho peccato di ipercorrettismo. Direi che il
solo "indirizzamento" va benissimo.
P.S.
Riguardo alle chiavi esterne dei database, non concordo con Max e
javalab. Concettualmente non ha a che vedere con l'indirection (i
database relazionali sono basati su relazioni). Certo è vero che la
chiave esterna, in una tabella, è una colonna (o più colonne) di tale
tabella che fa (fanno) riferimento alla colonna (o alle colonne) che
costituisce (costituiscono) la chiave primaria di un'altra tabella. Ma
il fatto è che questo riferimento è costituito dal fatto che i dati
contenuti nella chiave esterna devono corrispondere a quelli contenuti
nella chiave primaria. Nulla a che vedere col fatto che il nome di
qualcosa si usato per indicare qualcos'altro.
P.P.S. per javalab
Nel linguaggio che porta il tuo nick, un esempio di indirection è
quello che si ottiene usando quello che viene chiamato spesso,
erroneamente (probabilmente a causa dell'ambiguo modo in cui viene
dichiarato) nome di un oggetto.
Ciao.
Gian Carlo
Vediamo se almeno siamo d'accordo su che cos'è l'"indirection" (stiamo
parlando di software) prima di decidere se in italiano il termine si
può rendere, oltre che col calco (ma forse è qualcosa di più di un
calco) indirezione, anche in altro modo.
Se ben ricordo, la prima volta che ho visto usare indirection, è stato
nel manuale originale del C++: quello di Ellis-Stroustrup, per
intenderci (può darsi sia stato usato prima anche nei manuali del C,
ma non ricordo).
Lì era usato per indicare "l'operatore di <<indirezione>>", cioè un
operatore che, applicato a una variabile (contenente un indirizzo) o a
un'espressione (il cui risultato è un indirizzo) permette di ottenere
il valore di ciò che è indirizzato.
Questo è in accordo col significato del termine indirection in
inglese, cioè, secondo il Merriam-Webster. "indirect action or
procedure".
Quindi, nella nostra accezione, l'indirection è l'azione che consente
di accedere al valore di qualcosa non usando il suo nome (quindi non
in modo diretto), ma usando il nome di qualcos'altro (quindi in modo
indiretto).
Un po' come quando dico "ho bevuto due bicchieri di troppo"
riferendomi, col termine bicchiere, non al bicchiere stesso, ma a
qualcosa cui il bicchiere rimanda, ad esempio vino (senza però usare
la parola vino, ma la parola bicchiere).
Ora si può dire indirezione in italiano? Beh, se si si sa che cosa
significa, dipende dai gusti, direi. Anche se "direzione",
nell'accezione di azione che consente di accedere direttamente, non i
risulta sia usato.
Nella mai risposta a Giovanni ho suggerito di usare "indirizzamento
indiretto", ma mi sa che ho peccato di ipercorrettismo. Direi che il
solo "indirizzamento" va benissimo.
P.S.
Riguardo alle chiavi esterne dei database, non concordo con Max e
javalab. Concettualmente non ha a che vedere con l'indirection (i
database relazionali sono basati su relazioni). Certo è vero che la
chiave esterna, in una tabella, è una colonna (o più colonne) di tale
tabella che fa (fanno) riferimento alla colonna (o alle colonne) che
costituisce (costituiscono) la chiave primaria di un'altra tabella. Ma
il fatto è che questo riferimento è costituito dal fatto che i dati
contenuti nella chiave esterna devono corrispondere a quelli contenuti
nella chiave primaria. Nulla a che vedere col fatto che il nome di
qualcosa si usato per indicare qualcos'altro.
P.P.S. per javalab
Nel linguaggio che porta il tuo nick, un esempio di indirection è
quello che si ottiene usando quello che viene chiamato spesso,
erroneamente (probabilmente a causa dell'ambiguo modo in cui viene
dichiarato) nome di un oggetto.
Ciao.
Gian Carlo