giovedì 1 novembre 2012

Parole informatiche: bit (e dintorni)

I termini che, nel linguaggio tecnico informatico, indicano le unità più piccole in cui può essere espressa l'informazione nascondono alcune divertenti curiosità etimologiche.
L'unità più piccola dell'informazione viene indicata con il termine "bit", che può essere considerato una contrazione dell'espressione "binary unit" ("unità binaria") quanto dell'espressione "binary digit" ("cifra binaria").
Questa duplice possibilità di lettura si collega al doppio significato di questa parola informatica.
Un bit è, infatti, prima di tutto, la quantità di informazione necessaria e sufficiente per distinguere tra due eventi possibili che hanno la stessa probabilità di verificarsi: ad esempio, l'esito del lancio di una moneta, che può essere "testa" oppure "croce", oppure lo stato di una lampadina, che può essere accesa o spenta, e così via.  Parlare di questa accezione del termine "bit" vuol dire parlare di teoria di informazione.
Se abbandoniamo questo complicato ambito ingegneristico e passiamo ad occuparci di semplici numeri, potremmo decidere di esprimerli secondo il sistema binario: allora utilizzeremo ancora il termine "bit" per indicare ciascuna delle cifre utilizzate per scrivere i numeri. Perché? Semplicemente perché ogni cifra può essere uno zero o un uno, per cui ritroviamo anche in questo caso il concetto di alternativa tra due possibili eventi (in questo caso valori) di uguale probabilità.
Ma il termine "bit" non è soltanto una contrazione di "binary unit" e "binary digit", visto che in lingua inglese "a bit" significa "un pezzettino", "un poco", come testimonia questa famosa canzone dei Supertramp.


Quale più azzeccato gioco di parola poteva essere scelto per indicare l'unità elementare dell'informazione?
Il primo a utilizzare il termine "bit" con significato informatico fu, nel 1948, il padre della teoria dell'informazione, Claude Shannon, il quale ne attribuì la creazione allo scienziato John Tukey, che pare abbia anche ideato il termine "software". Si racconta che durante un pranzo tra scienziati nell'inverno tra il 1943 e il 1944 vennero proposti vocaboli come "bigit" e "binit", ma alla fine Tukey ebbe l'idea fulminante: "Perché non lo chiamiamo semplicemente bit?".

Ogni informatico sa che una combinazione più bit, ad esempio utilizzabile per codificare un carattere di testo, costituisce un byte.
Ma da dove viene quest'altra parola? Bè, se "bit" significa "pezzettino", da un pezzettino a un boccone il passo e breve, e, guarda caso, in inglese "boccone" si traduce "bite". La stretta somiglianza tra i due termini "bit" e "bite", poi, rappresentò un motivo in più per scegliere questa parola per indicare una combinazione di otto bit.
Dato che tipicamente un byte contiene otto bit, un termine che possiamo considerare più o meno sinonimo di "byte" è "octet" (in italiano "ottetto"): non ci sorprende il fatto che in Francia il termine "byte" sia pressoché inutilizzato, e i colleghi informatici d'oltralpe preferiscano parlare di "octets".
La parola "byte" fu coniata nel 1956 dall'informatico Werner Buchholz, durante la progettazione di Stretch, il primo computer a transistor prodotto dalla IBM.

Se un boccone corrisponde a otto bit, come possiamo chiamare una combinazione di quattro bit? Ovvio: bocconcino. Se la parola "bite" ("boccone") fu volutamente storpiata in "byte", analogamente il termine "nibble" ("bocconcino") venne deformata in "nybble".
Il primo utilizzo della parola "nybble" risale al 1977, da parte di un gruppo di ricerca attivo in Citibank per formulare un protocollo standard di comunicazione.
Un "nybble" (o "nibble", dato che è molto comune anche la dizione con la "i" normale) rappresenta la metà di un byte, ed è spesso utilizzato per codificare una cifra esadecimale oppure una cifra in codice BCD (Binary-Coded Decimal).

Raccogliendo da internet altri vocaboli indicanti combinazioni di bit di varia lunghezza, ho provato a stilare la seguente curiosa tabellina (ho escluso però i termini che indicano combinazioni di bit la cui lunghezza dipende dallo specifico computer sul quale vengono utilizzate).


1 bit
sniff
2 bit
crumb, quad, quarter, tayste, tydbit, morsel, semi-nybble
4 bit
nybble
5 bit
nickle, nickel
10 bit
deckle, dyme
16 bit
playte, plate
32 bit
dynner, dinner, quadlet

5 commenti:

  1. Penso che ormai 32 bit siano una cena molto leggera!

    RispondiElimina
  2. Adesso ho scoperto un nuovo termine, usato da quelli di Go (Rob Pike &co, Google): rune.

    RispondiElimina
  3. Ci sono anche le word e le double word...

    RispondiElimina
  4. Bellissimo blog...
    date un'occhiata anche al mio...
    www.automaticando.com

    RispondiElimina