Che differenza c’è tra linguaggio macchina e di programmazione?

Che differenza c'è tra linguaggio macchina e di programmazione Normalmente, con il termine linguaggio, si intende un certo insieme di simboli e specifiche regole che permettono alle persone che conoscono quel determinato linguaggio di esprimersi comunicando tra di loro. Ad esempio, il linguaggio naturale che tutti noi usiamo è formato da un determinato insieme di lettere, parole e regole grammaticali che ne disciplinano il normale utilizzo. Siccome però i computer non capiscono direttamente il linguaggio naturale è nata pertanto l’esigenza di creare degli appositi linguaggi di comunicazione chiamati, in gergo, linguaggio macchina e linguaggio di programmazione. Ma che differenza c’è tra linguaggio macchina e linguaggio di programmazione?

Che differenza c’è tra linguaggio macchina e linguaggio di programmazione?

Il linguaggio macchina non è altro che un particolare linguaggio che, mediante l’utilizzo del cosiddetto sistema binario, permette al processore del PC di eseguire i comuni programmi del computer. Tuttavia, nel linguaggio macchina, i simboli dell’alfabeto utilizzato non sono 21 come nel nostro linguaggio ma solamente due, ovvero 0 e 1, attraverso i quali risulta comunque possibile produrre le parole e, di conseguenza, le frasi da utilizzare. Infatti, le istruzioni macchina, o più semplicemente le istruzioni, non sono nient’altro che queste particolari frasi.

Siccome però scrivere direttamente i programmi in linguaggio macchina risulta piuttosto complicato, per facilitare il compito a tutti i vari programmatori, viene perciò utilizzato un altro speciale linguaggio in grado di tradurre il nostro comune linguaggio nel linguaggio macchina utilizzato dai computer. Questo ulteriore linguaggio prende il nome di linguaggio di programmazione e, mediante l’utilizzo di istruzioni ancora più semplici, consente per l’appunto di scrivere il codice sorgente del programma che sarà successivamente eseguito dal processore del computer, una volta tradotto automaticamente nel linguaggio macchina.

Al contrario del linguaggio macchina, non esiste però un solo linguaggio di programmazione. Al mondo, infatti, a seconda dei casi, esistono diversi linguaggi di programmazione più o meno nuovi. Tra questi, quelli meno recenti sono l’assembly (spesso erroneamente chiamato assembler), il BASIC (che si pronuncia bèsic), il COBOL, il C, il Pascal ed il Fortran. I linguaggi di programmazione più recenti sono invece Java (che si pronuncia giàva), C++ (che si pronuncia cì plas plas), Perl, Python (che si pronuncia fàiton), Visual Basic (che si pronuncia visual bèsic) e Ruby. Oltre a questi linguaggi di programmazione ne esistono però molti altri ma quasi tutti i linguaggi di programmazione esistenti non consentono altro che impartire le istruzioni al computer mediante l’utilizzo di particolari termini, generalmente in lingua inglese, indicando passo passo le procedure da svolgere per portare a termine un determinato compito.

Il ruolo dei connettivi logici

Le istruzioni impartite ad un computer, attraverso l’utilizzo di un determinato linguaggio di programmazione, sono delle vere e proprie frasi che vengono messe in relazione tra di loro mediante l’utilizzo di particolari elementi grammaticali di collegamento chiamati, in gergo, connettivi logici. Fra questi, gli elementi più importanti da prendere in considerazione sono soprattutto tre, ovvero:

  • AND, che viene utilizzato per collegare due elementi e risulta vero non appena le dichiarazioni degli elementi risultano entrambe vere. Ad esempio, A AND B è Vero se sia A che B risultano entrambe vere;
  • OR, che viene utilizzato per collegare due elementi e risulta vero se almeno una delle dichiarazioni degli elementi risulta vera. Ad esempio, A OR B è Vero se risulta vera A o risulta vera B;
  • NOT, che inverte semplicemente il risultato della dichiarazione. Ad esempio, se A viene considerata Vera, NOT A viene considerata Falsa.

Per capire meglio il funzionamento dei connettivi logici, e di conseguenza dell’algebra di Boole, che a sua volta riveste un ruolo di fondamentale importanza nell’intero mondo dell’informatica, basta dare un’occhiata alla seguente immagine, nella quale lo zero rappresenta il significato di Falso mentre l’uno rappresenta il significato di Vero:

AND, OR e NOT

Arrivati comunque a questo punto dovresti aver finalmente capito che differenza c’è tra linguaggio macchina e linguaggio di programmazione.