0. Glossario

Quanto segue è il GLOSSARIO della mia Tesi, che ho terminato di scrivere nel 2002. Tutti i riferimenti, pertanto, risalgono ad allora. Le note inserite dopo la pubblicazione saranno evidenziate con la data di inserimento della nota stessa. Tutti i capitoli pubblicati sono raggiungibili dall’INDICE

Questa opera è pubblicata sotto una Licenza Creative Commons.

Licenza Creative Commons

This opera is licensed under a Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Unported License.

—*—

Algoritmo: Procedura costituita da una successione finita di operazioni aritmetiche e/o logiche. Un algoritmo viene progettato per assolvere un determinato compito (nell’informatica musicale, ad esempio, per sintetizzare o elaborare un suono), e tradotto in un linguaggio di programmazione; “è una descrizione formale di come ottenere un risultato a partire da certi materiali di partenza. Non per caso viene sovente utilizzata la metafora delle ricette di cucina, che non è perfettamente aderente, ma rende l’idea. La ricetta del pesto alle genovese è la descrizione precisa di ingredienti (sale, olio, basilico, formaggio grana e pecorino, qualche volta noci e pinoli) e della sequenza delle operazioni da compiere su tali input per ottenere in output una morbida salsa. Un algoritmo matematico piuttosto semplice è quello che dice come scomporre un numero in fattori primi: si parte dai numeri pri­mi più bassi e si verifica per quali esso sia divisibile con resto intero, cosi appurando, per esempio, che 42 è fatto di 2×3x7”.1

Apache: Server web per Linux (e ora anche per UNIX e Windows). Apache è il server Web più usato in assoluto. Un server Web è un programma che riceve le richieste sulla Rete dai browser Web (client) come Netscape o MS Explorer e “serve” (ovvero restituisce) i documenti HTML al browser.

Applicazione - Programma applicativo: Un programma per computer progettato per eseguire un compito specifico come la contabilità, l’analisi di dati scientifici, l’elaborazione testi, o l’impaginazione. In generale, i programmi applicativi si distinguono dal software di sistema (il sistema operativo che fa funzionare il computer), dalle utility di sistema (programmi che eseguono compiti come la produzione di copie di backup o il ripristino di file cancellati) e dai linguaggi di programmazione (usati per creare nuove applicazioni)2.

Arpa: (Advanced research projects agency) agenzia per i progetti di ricerca avanzata. Aveva lo scopo di gestire i progetti finanziati dal ministero della difesa americano.

Assemblatore: (Assembler) Programma di servizio che traduce le istruzioni di un altro programma scritto in linguaggio simbolico (assemblativo) in codici del linguaggio macchina di un determinato processore.

Assemblativo: (Assembly) Linguaggio di programmazione in cui le istruzioni in codice macchina vengono sostituite con codici mnemonici. Si confonde spesso con il linguaggio macchina dal quale differisce perché le istruzioni sono brevi sigle alfabetiche di significato più facilmente comprensibile anziché codici numerici.

Basic: Acronimo di “Beginners All-purpose Simbolic Instruction Code”. Linguaggio ad alto livello semplice e molto noto. Il progenitore del Visual Basic.

Beta: così è definito un programma nella sua versione ancora instabile in corso di revisione.

Beta Test: Periodo di prova di un software nel quale non si garantisce la stabilità e che ha il compito di individuare eventuali bug attraverso l’utilizzo costante degli utenti finali.

Beta tester: Utenti dei programmi beta impegnati nella revisione di un programma.

Blue-box: apparecchi per fare telefonate gratis all’insaputa le compagnie te­lefoniche.

Bug: Errore di programmazione che può causare un funzionamento errato del software. Il termine ha origine nel 1945 ad Harvard, quando G. M. Hopper rimuove una falena di cinque centimetri dall’interno di un computer sperimentale, in tilt proprio a causa della presenza dell’insetto. Da questo incidente nasce la consuetudine di dire che un computer contiene un bug (”insetto”, appunto) quando non funziona correttamente3.

Bugs report: segnalazione di errori di programmazione e della loro correzione.

Debuggare: (Debugging) correzione degli errori di programmazione.

C: linguaggio di programmazione che utilizza costrutti e strutture ad alto livello, ma che ha capacità di controllo a basso livello tipiche del linguaggio assembly.

Client: indica un programma software, oppure un computer che si rivolge ad una sorgente di informazioni, il server.

Cracker: termine che indica il pirata-vandalo informatico. Il cracker ha gli stessi strumenti e le conoscenze tecniche degli hacker, che usa per rompere le sicurezze dei sistemi per furto o vandalismo. La parola è nata nell’85 dagli hacker per difendersi dall’uso improprio da parte dei giornalisti della parola hacker. Di solito i cracker tendono a riunirsi in “società segrete” e non rivelano all’esterno le loro tecniche.

Codice Sorgente: il codice sorgente di un programma è quella sequenza di istruzioni (codice di linguaggio) che una volta compilata, attraverso un apposito programma detto compilatore, dà origine al programma eseguibile (in codice macchina). Il ruolo del compilatore è paragonabile a quello dell’interprete che sta in mezzo a due soggetti che parlano lingue diverse. Nel modello proprietario la sequenza di istruzioni espressa in codice di linguaggio costituisce segreto industriale ed il programma è già “tradotto” per la macchina. Se distribuiti in forma aperta, la disponibilità dei sorgenti consente qualsiasi controllo e/o modifica del programma.

Compilatore: Programma che trasforma il codice scritto in un linguaggio di programmazione in linguaggio macchina e viceversa.

Credit list: lista di coloro che hanno contribuito alla realizzazione di un progetto. Generalmente è allegato ai programmi sotto forma di file.

Dec: Digital equipment corporation.

ENIAC: Negli USA il primo fu l’ENIAC di Eckert e Mauchly, è circa mille volte più veloce dei suoi predecessori viene completato nel 1945 nel laboratorio dell’Università di Pennsylvania.

Fortran: Uno dei primi linguaggi ad alto livello orientato alle applicazioni scientifiche. Contrazione dei due termini “FORmula TRANslation” a sottolineare la possibilità di tradurre le formule matematiche.

Free Software: Il termine inglese free significa sia gratis che libero. Free in questo contesto è da intendere sempre come libero. Infatti il “Free Software” viene distribuito sia gratuitamente che dietro compenso. Ma a differenza del software gratuito ma proprietario è accompagnato dai sorgenti e da licenze che consentono delle libertà che gli altri copyright non riconoscono.

Hacker4: “[…]1. Una persona a cui piace esplorare i dettagli dei sistemi programmabili e i modi per estendere le loro caratteristiche, in contrasto con la maggioranza degli utenti che preferisce imparare solo il minimo necessario. 2. Qualcuno che programma appassionatamente (persino ossessivamente) o che ami programmare piuttosto che limitarsi a teorizzare sulla program­mazione. 3. Una persona in grado di apprezzare i valori del­l’hacking (vedi). 4. Una persona abile a programmare velocemen­te. 5. Un esperto in un particolare programma, o che lo usa con particolare frequenza o ci lavora su; come in “Unix hacker”. (Le definizioni dalla 1. alla 5. sono correlate e le persone che le soddisfano sono assimilabili.) 6. Un esperto o un appassionato di qualun­que tipo. Uno può essere un hacker dell’astronomia, per esempio. 7. Uno che ama la sfida intellettuale di superare o aggirare creativamente le limitazioni. 8. [deprecato] Un ficcanaso maligno che cerca di scoprire informazioni riservate infilandosi da tutte le parti. Da qui “hacker delle password”, “hacker di rete”. Il termine corretto in questo senso è cracker.

Il termine hacker va inoltre a connotare l’appartenenza alla comunità mondiale definita da Internet […]. Ciò comporta che le persone descritte devono abbracciare consapevolmente una delle versioni dell’etica hacker (vedi etica hacker). È meglio essere definiti hacker dagli altri piuttosto che descrivere se stessi in questo modo. Gli hackers si considerano in qualche modo come un élite (una meritocrazia basata sull’abilità), nonostante ciò i nuovi membri sono accolti volentieri.”

Hackerare: programmare appassionatamente.

Higham institute: club studentesco chiamato scherzosamente così perché si trovava in Higham street a Cambridge.

History file: cronologia delle versioni di un software che include l’indicazione dei singoli miglioramenti e dei relativi responsabili. Generalmente è allegato ai programmi sotto forma di file.

IBM: Acronimo di “International Business Machine”. E’ stata per lunghissimo tempo l’azienda leader, a livello mondiale, nella produzione e nella distribuzione di computer, per molti, è ancora sinonimo di computer.

Implementare: Creare, completare, perfezionare un programma seguendo una procedura che parte dallo studio, per arrivare al programma funzionante e alla definitiva messa in opera.

Ingegneria sociale: processo di estrazione di informazioni importanti o riservate da coloro che le detengono. L’ingegneria sociale si basa su alcuni presupposti psicologici, come la tendenza delle persone a rispondere a domande dirette che non si aspettano o la tendenza ad aiutare qualcuno che sembra essere in difficoltà. Gli hacker spesso adottano tecniche di ingegneria sociale per raccogliere informazioni nelle fasi iniziali.

Intelligenza Artificiale: Intelligenza Artificiale, la branca dell’informatica che si occupa della simulazione dell’intelligenza umana per mezzo dei computer.

Kernel: è il nucleo essenziale di un sistema operativo responsabile della connessione tra le componenti fisiche di base e tutte le altre parti del sistema stesso. Ha in pratica la funzione di svolgere le operazioni fondamentali, come ad esempio la ripartizione dei carichi di lavoro elaborativo della CPU (”Central Processing Unit”, parte del calcolatore dove vengono processate le informazioni), ma gestisce anche le funzioni hardware del sistema.

LAN: Local Area Network. Sistema di cavi, apparati con i relativi software e protocolli che consente lo scambio di informazioni in formato elettronico tra personal computer e server. Il termine indica un sistema che si estende su limitate superfici (tipicamente un palazzo).

Linguaggio macchina: linguaggio di programmazione che consiste in sequenze di cifre binarie (O e I) direttamente interpretabili dal processore.

Lock hacking: hackeraggio delle serrature e/o abile superamento di blocchi fisici (porte, schedari, cassette di sicurezza, ecc.)

Mac (Progetto): Multiple access computing (elaborazione ad accesso multiplo) gruppo di studio per realizzare l’utilizzo multiutente, denominato “time-sharing” (a partizione di tempo) sistema in cui più periferiche fanno capo ad un elaboratore centrale. Finanziato dal ministero della difesa attraverso l’Arpa.

Mcws: Midnight computer wiring society (associazione di mezzanotte per il ca­blaggio del computer), un’organizzazione creata ad hoc da alcuni hacker del MIT che, in caso di necessità, avrebbe aggirato i regolamenti dei laboratori informatici, contro le manipolazioni non autorizzate dei com­puter.

MIT: Massachusetts institute of technology, dell’Università di Cambridge, sede dell’Ia lab, laboratorio per l’Intelligenza Artificiale.

Modalità hacker: Termine di gergo che si riferisce alle “modalità” in cui si può trovare un computer e, per estensione, ad indicare alcune condizioni della vita reale.

Open Source: (sorgenti aperti) un software per poter essere definito Open Source deve fare uso di una delle licenze certificate come conformi dalla Open Source Initiative, organizzazione esclusivamente destinata alla gestione della campagna Open Source e della sua certificazione di marchio, che prevedono come fondamentale e comune condizione il rilascio dei codici sorgenti (da qui Open Sources); nelle intenzioni iniziali “Open Source” doveva essere una certificazione (una forma speciale di marchio che potesse applicarsi secondo i termini ai prodotti altrui) registrata ma non è stato possibile ufficializzarlo. Il marchio attualmente in via di registrazione è “OSI Certified”; il termine Open Source è stato introdotto dall’ala ‘moderata’ della comunità hacker, più permissiva riguardo al mercato per renderlo ad esso accettabile e per evitare il termine free di Free Software usato dagli hackers più radicali con il suo doppio significato (libero e gratuito) e la sua valenza provocatoria e anticommerciale.

Porting: modifica di un programma in modo tale che sia disponibile per diversi sistemi operativi.

Progetto Mac: (Multiple access computing: elaborazione ad accesso multiplo) gruppo di studio presso il MIT, per realizzare l’utilizzo multiutente, denominato time-sharing (vedi voce) finanziato dal ministero della difesa, attraverso l’Arpa (Advanced research projects agency).

Public Domain: (pubblico dominio) un programma di pubblico dominio è un programma sul quale l’autore abbia rinunciato a tutti di suoi diritti di copyright. In sostanza non ha una licenza; Chiunque può usarlo come meglio crede, può trattarlo come personale proprietà. Si può perfino ri-licenziare, rimuovendo quella versione dal pubblico dominio, o togliendo il nome del suo autore e trattarlo come opera propria.

Real programmer: I “Real programmer”, così furono chiamati i primi programmatori, precursori degli hacker, provenivano dai settori dell’ingegneria, della matematica e della fisica. Programmavano in “linguaggio macchina” ossia con sequenze di O e I, operazione lunga e complicata che richiedeva la conoscenza perfetta dell’architettura del calcolatore, dei codici di tutte le istruzioni ed il controllo mentale di molti altri elementi.

Release: Nuova versione di un programma, di un sistema operativo o di un driver, sviluppato con funzionalità aggiunte o problemi risolti.

Server: Può essere due cose, fra loro collegate: un software che consente ad un computer di offrire un particolare servizio ad un altro computer sul quale gira il corrispondente client ma anche il computer che esegue il software server.

Spacewar: primo videogioco della storia.

S&P: Signal and power subcommittee (sottogruppo del Tmrc) i suoi membri gestivano l’impianto per il controllo del plastico ferroviario del club. L’attrezzatura a disposizione dei modellisti era stata in gran parte regalata dalla compagnia telefonica Western Electric, tramite piano di donazioni alle università. Usando quell’attrezzatura i membri dell’S&P approntarono un “impianto mostruosamente ingegnoso” che consentiva il controllo dei singoli treni in qualsiasi punto del plastico.

Subroutine: Sottoprogramma. Porzione di programma che, pur essendo scritta una sola volta, viene utilizzata ripetutamente durante l’esecuzione del programma, permettendo così di accorciarlo, talvolta in modo notevole. Una routine può essere parte di un’altra routine.

Tech Square: edificio del MIT che ospitava i computer.

Time-sharing: (a partizione di tempo), denominato utilizzo multiutente. sistema in cui più periferiche fanno capo ad un elaboratore centrale.

Tmrc: (Tech model railroad club), organizzazione studentesca che si dedicava al modellismo ferroviario. divisa in due gruppi. Il primo riproduceva meticolosamente i modellini dei treni e le scenografie. Il secondo girava intorno al Signal and power subcommittee (S&P).

Tx­0: uno dei primi computer funzionanti a transistor.

1 Carlini, 2002.

2 http://www.pcpratico.it/servizi/glossario/ [Nota 2011: link non più attivo]

3 Simpson’s Contemporary Quotations; Time, 16 aprile 1984, cit in “Internet Timeline - Cronologia della Rete” http://www.attivissimo.net di Paolo Attivissimo.

4 Raymond “Jargon File” 4.2.2 20/08/2000

Lascia un Commento

Devi aver fatto il login per inviare un commento

Usiamo i cookie per assicurarti la migliore esperienza di navigazione nel nostro sito web.
Ok