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.
|