Home English Version


I Linguaggi per parlare alla macchine

Come tutte le macchine, l' elaboratore è capace di eseguire soltanto quello che gli è stato detto di fare e soltanto nel modo che gli è stato indicato.

Il "programma" è appunto una serie di istruzioni che la macchina deve eseguire passo passo per svolgere automaticamente il proprio lavoro e che vengono registrate nella sua memoria prima dell'inizio del lavoro stesso.

Istruire un elaboratore, cioè programmarlo, vuol dire identificare tramite uno schema estremamente elementare e dettagliato, il diagramma a blocchi, tutte le operazioni matematiche e logiche che la macchina deve eseguire in un certo ordine, prevedendo anche le eventuali alternative che si possono presentare nella risoluzione del problema.

Questo schema viene poi convertito nelle effettive istruzioni elementari che devono essere eseguite dalla macchina. Preparare un programma è quindi un lavoro lungo e gravoso, ma poi l'elaboratore non ha più bisogno dell'intervento umano e può procedere automaticamente con la velocità consentita da i suoi circuiti elettronici, eseguendo lo stesso programma anche migliaia di volte in un giorno e sempre con assoluta precisione.

L'unico linguaggio che l'elaboratore è in grado di comprendere direttamente è fatto di numeri. Ogni programma è quindi costituito da una serie lunghissima di cifre binarie che la macchina comprende,
perché sa ad esempio che 0110 significa "esegui la moltiplicazione" o che 1011 significa "metti il risultato nella memoria".

Questo "linguaggio macchina" non ha per l'uomo alcun significato immediato ed è molto difficile da ricordare e da impiegare senza commettere errori. Nel 1957, dopo anni di studi, un gruppo di esperti della IBM mette a punto un linguaggio simbolico noto come FORTRAN o "traduttore di formule".

Sono nati allora i "linguaggi simbolici", che sostituiscono i numeri con delle lettere che ne esprimono il significato.

Naturalmente, bisogna introdurre una volta per tutte nella macchina una particolare serie di istruzioni che consentano all'elaboratore di tradurre automaticamente le varie sigle incontrate, nel linguaggio fatto di 1 e 0 ad esso comprensibile.

Questo linguaggio molto più vicino al normale linguaggio parlato dall'uomo, è particolarmente adatto a esprimere istruzioni che risolvono problemi matematici, tecnici e scientifici. Con il FORTRAN l'uomo si esprime mediante parole a lui comprensibili come "moltiplica", "calcola" ecc. che l'elaboratore provvede poi a trasformare automaticamente in linguaggio macchina.

All' inizio degli anni 60 erano già stati sviluppati diversi linguaggi di programmazione di tipo "simbolico", che facilitavano l'impiego delle macchine anche da parte di persone non specializzate, diminuivano le possibilità di errori ed il tempo necessario per predisporre l'elaboratore al lavoro.

Oltre al FORTRAN (FORmula TRANnslation), linguaggio universale degli elaboratori per problemi scientifici e tecnici, che è stato definito come il primo linguaggio P.O. (problem oriented), notevole successo incontra anche il COBOL, (Common Business Oriented Language), che impiega le parole normalmente in uso nel linguaggio degli affari ed è studiato per applicazioni di tipo commerciale e amministrativo.

Il COBOL ha raggiunto notevole successo data la sua adattabilità ad operazioni poco complesse su grandi quantità di dati.

Anche se non ha avuto la stessa diffusione l'ALGOL, (ALGOrithmic Language), ha influenzato notevolmente l' evoluzione del Fortran e di altri linguaggi come il Pascal sviluppato intorno al 1968 da Niklaus Wirth e Kathleen Jensen.

Parallelamente ai linguaggi si evolvono le tecniche di programmazione che consentono di mettere a punto programmi che svolgono compiti di tipo ripetitivo o che affidano alla macchina stessa la tempificazione e l'organizzazione di alcuni lavori.

Per semplificare il lavoro di programmazione, alcune case costruttrici creano e mettono in commercio programmi applicativi preconfezionati, creati per risolvere problemi comuni ad un certo tipo di aziende, e che gli utilizzatori devono personalizzare completandoli con pochi dati relativi alla loro specifica applicazione.






















Diagramma a blocchi o FLOW-CHART
Esempio di codice Fortran
Esempio di codice COBOL