G. C. dalla provincia di Brescia ci chiede un parere sull'uso dell'aggettivo deprecato usato in informatica soprattutto in riferimento alla versione di un programma.
Deprecato in informatica
Il termine deprecato entra nel linguaggio informatico come calco formale dall’inglese deprecated, che indica una caratteristica di un programma in passato documentata e considerata ufficiale il cui uso è attualmente sconsigliato a favore di una versione più recente. Deprecato è impiegato prevalentemente come aggettivo singolare derivato dalla forma inglese; è tuttavia presente anche la retroformazione deprecare (l'aggiornamento però va a deprecare il file di configurazione), da cui il derivato deprecazione (il meccanismo della d., messaggi di d., errori di d., warning di d.)
Nonostante deprecato sia attestato sul web da diversi anni nell’ambito specialistico dell’informatica, sembra che il termine continui a generare non pochi dubbi. In molti casi infatti, deprecato viene considerato semplicemente come sinonimo di obsoleto, senza identificare un campo concettuale specifico che lo distingue. Inoltre, sembra non esserci uniformità nella scelta della traduzione in italiano di deprecated e ciò contribuisce a creare ulteriore ambiguità.
I principali dizionari generali registrano soltanto il significato proprio di deprecare (dal latino deprecari, comp. di de- e precari «pregare», nell’uso comune ‘disapprovare, biasimare’, lett. ‘pregare perché un male, una sciagura, un danno sia tenuto lontano’); l’uso del termine come tecnicismo va quindi cercato nei dizionari specialistici. Il Dizionario enciclopedico di Informatica Zanichelli (2009) lo definisce in questo modo: “deprecato, disattivato [SW] Nella documentazione del software, detto di un programma che [sic], considerato obsoleto e non essendo ancora stato eliminato, se ne sconsiglia l’uso a favore di una versione aggiornata. Il software deprecato viene mantenuto unicamente per mantenere la compatibilità con versioni precedenti”.
Come si nota, deprecato e obsoleto vengono qui impropriamente considerati come sinonimi. In effetti l’aggettivo italiano obsoleto viene spesso usato per tradurre non soltanto il termine inglese obsolete ma anche deprecated. Deprecato e obsoleto identificano però due concetti specifici diversi. Deprecato indica un programma superato, di cui si sconsiglia l’uso ma che è ancora comunque supportato per mantenere la compatibilità con versioni precedenti (è il caso per esempio delle versioni di Microsoft Office Word precedenti al 2007, ancora mantenute nonostante la versione più aggiornata 2010); un programma obsoleto potrebbe invece non essere più supportato dalle nuove versioni. Si potrebbe dire che in una specifica deprecato rappresenta la fase precedente di obsoleto.
Facendo riferimento al Wikizionario, il dizionario online di Wikipedia, troviamo infatti questa definizione di deprecato: “in una specifica [‘descrizione dettagliata del comportamento di un programma; le specifiche descrivono i requisiti del sistema, le sue caratteristiche e le sue funzionalità’], definizione che in passato era documentata e considerata ufficiale, di cui attualmente si sconsiglia l’uso, perché sostituita e/o in attesa di essere dichiarata obsoleta, ma che è ancora supportata per garantire la retrocompatibilità” (http://it.wiktionary.org/wiki/deprecato).
La stessa tesi è sostenuta in una dispensa universitaria rintracciata sul web (http://www.uniroma2.it/didattica/IINFO2/deposito/IINFO2_1.pdf) in cui si parla di tag obsoleti e deprecati: “Uno degli aspetti dei lavori del W3C per l’aggiornamento delle specifiche HTML è costituito dall’eliminazione di vecchi tag. Ciò avviene in due diversi momenti: con il primo i vecchi tag sono definiti deprecati (deprecated), con il secondo sono poi classificati come obsoleti. La differenza tra le due tipologie è data dal fatto che i tag deprecati continuano ad essere riconosciuti dai browser mentre i tag obsoleti non sono più supportati dalle nuove versioni dei browser” (Andrea Bertagnoli, Infrastrutture Informatiche Ospedaliere 2, a.a. 2005/2006, p. 26).
Interessante anche l’intervento di Licia Corbolante Che relazione c’è tra obsoleto, disapprovato e deprecato? (consultabile all’indirizzo http://blog.terminologiaetc.it/2009/02/28/che-relazione-c-tra-obsoleto-disapprovato-e-deprecato/): “In un contesto specifico relativo a caratteristiche del software o elementi di programmazione, però, la stessa traduzione non è più adeguata perché il termine inglese obsolete assume un significato specializzato: fa parte di un sistema concettuale dove coesiste con deprecated. In questo sistema, obsolete e deprecated non sono più sinonimi ma termini correlati, associati a due concetti diversi, e sono in relazione con altri concetti, rappresentati da altri termini, come nell’esempio:
Finalmente arrivo al punto: solo quando obsolete e deprecated sono stati documentati nel database come termini informatici associati a concetti specifici ci siamo accorti della traduzione italiana generica deprecated → obsoleto, passata fino a quel momento inosservata nelle stringhe di alcuni prodotti e potenzialmente in conflitto con obsolete → obsoleto. D’ora in poi in italiano useremo deprecato, termine non comune ma entrato nel linguaggio tecnico come calco dall’inglese. Le alternative disapprovato e non approvato, di comprensione forse più immediata per utenti meno tecnici, sono state invece scartate: non si sa mai che nello stesso sistema concettuale prima o poi vengano introdotti disapproved e not approved!”.
È necessario soffermarsi anche sul problema della scelta di traduzione. Deprecated viene tradotto in italiano, oltre che con i già discussi deprecato e obsoleto, con disattivato, obsolescente, disapprovato, sconsigliato, sostituito. Il Ragazzini 2014 (sezione Inglese-italiano) traduce deprecated con ‘deprecato (relativo a software o programmi superati il cui uso viene sconsigliato)’.
Nel Portale linguistico Microsoft è possibile effettuare una ricerca all’interno del database terminologico; la voce deprecated viene tradotta in italiano con termini diversi a seconda del prodotto a cui si riferiscono e che sembrano essere considerati tutti come sinonimi: obsoleto (SQL Server 2005 SP2); sostituito (Windows Server 2003 R2); deprecato (SQL Server 2008 R2); disapprovato (Office for Mac 2004); annullato (Dynamics CRM 5.0), eliminato (SQL Server 2005 SP2).
Disattivato, annullato ed eliminato non sembrano delle buone scelte in quanto identificano un concetto diverso; una caratteristica deprecated è da considerarsi ancora in uso, sebbene l’uso ne sia sconsigliato. Non è quindi stata disattivata né eliminata né tantomeno sostituita da una versione più aggiornata ma continua a coesistere con questa. Sconsigliato e disapprovato assumono una connotazione negativa, che rimanda al significato proprio di deprecato ma che non sembra permanere in questa accezione nell’ambito informatico, più neutrale. Oltretutto, è l’uso del programma a essere sconsigliato (o disapprovato) e non il programma stesso.
La forma disattivato è tuttavia quella scelta dal W3C (= World Wide Web Consortium, che è l’organizzazione ufficiale che si occupa di individuare e promuovere le direttive per lo sviluppo del web) per la traduzione in italiano delle specifiche di Html 4.01 (rilasciate il 24 dicembre 1999) nelle quali una serie di elementi e di attributi sono elencati come deprecated, intendendo che il loro uso è sconsigliato, dal momento che esistono costrutti più recenti che svolgono i medesimi compiti.
Obsolescente sembrerebbe essere semanticamente più vicino a deprecated; un modello obsolescente è un modello superato, disusato, in attesa di divenire obsoleto. Si tratta però di un termine di basso uso, non comune, che potrebbe generare ulteriore confusione nell’affiancamento con obsoleto. Superato, che a mio avviso poteva essere una buona alternativa, non sembra essere stato preso in considerazione come possibile traduzione.
Resta da definire la data della prima attestazione di deprecato come termine specialistico dell’informatica. La prima testimonianza rintracciata è in un manuale informatico del 1998 (l’anno si riferisce all’edizione italiana), nel quale si legge “language è il nome del linguaggio di script, deprecato a favore dell’attributo type”(Rick Darnell, Html 4 Tutto & Oltre, Apogeo, 1998, p. 285 e 781, traduzione di Adriano Donato, Lucia Brunetti, Daniela Parola e Marco Simoncini). Language e type vengono mantenuti nella forma originale inglese ma deprecated viene invece reso con l’italiano deprecato. Nell’appendice del libro si fa inoltre riferimento alle specifiche di Html 4.0 (la prima versione è stata pubblicata nel 1997 e revisionata nel 1998; le già citate specifiche Html 4.01 ne sono la sottoversione, rilasciata nel 1999) e tra le convenzioni terminologiche troviamo una prima definizione di deprecato: “un elemento o attributo è deprecato quando è sostituito da altri costrutti più recenti”.
Troviamo un ulteriore riferimento a deprecato in un altro manuale informatico del 1999: «La classe Thread non è la sola ad essere stata modificata; nel JDK 1.2 sono stati deprecati anche diversi metodi, classi e interfacce, e la descrizione completa di tali modifiche è inclusa nella documentazione. Un elemento “deprecato” di un’API è un elemento tuttora supportato per mantenere la compatibilità con le versioni precedenti, ma che verrà estromesso dalle versioni future del JDK» (Jamie Jaworski, Java 2. Con CD-ROM, Apogeo, 1999, p. 9, traduzione di Marco Simoncini, Giorgio Bovenzi, Giulio Taiana). Non sembra un caso che i due testi abbiamo in comune uno stesso traduttore Marco Simoncini.
Cercando tra i siti web (sebbene la ricerca sia complicata dal fatto che nei motori di ricerca non è possibile distinguere semanticamente le due accezioni di deprecato, quella più comune e quella specialistica), la prima testimonianza utile è del 2000, in un articolo di Umberto Zappi in cui si parla del linguaggio di programmazione C: “Le regole del linguaggio C, definiscono anche l'istruzione di salto GOTO, sebbene il suo uso sia deprecato, poiché esce dagli schemi della programmazione strutturata” (http://digilander.libero.it/uzappi/C/C-statement.html).
Si riporta infine la simpatica definizione di deprecato che Maurizio Codogno propone nel suo Gergo telematico (1993-2003), visibile in rete all’indirizzo http://xmau.com/gergo/index.html, che sembra quasi riallacciarsi con il significato più proprio del termine:
Deprecato
- Permesso dalla sintassi di un linguaggio di programmazione, ma con l’accorata preghiera di evitare di usarlo, perché è vecchio, scomodo, può confondere le idee, e verrà eliminato nella versione successiva del linguaggio. Sui primi tre punti non ho molto da commentare, ma sull’ultimo posso assicurare che è più facile che un cammello passi per la cruna di un ago piuttosto che un costrutto deprecato venga eliminato.
A cura di Lucia Francalanci
Redazione Consulenza Linguistica
Accademia della Crusca
Piazza delle lingue: Lingua e saperi
28 luglio 2014
Evento di Crusca
Collaborazione di Crusca
Evento esterno
Per concomitanza con le Feste, la visita all'Accademia della Crusca dell'ultima domenica del mese di dicembre è stata spostata al 12 gennaio 2025 (ore 11).