I linguaggi informatici

Programma
As linguagens informáticas Programmiersprachen Les langages informatiques Lenguajes de programación Programming languages

Linguaggio informatico

Viene detto «  Linguaggio informatico » un linguaggio destinato a descrivere l'insieme delle azioni consecutive che un computer deve eseguire. Un linguaggio informatico è anche un modo pratico per noi (umani) di dare delle istruzioni a un computer.

Al contrario, il termine « linguaggio naturale » rappresenta le possibilità di espressione condivise da un gruppo di individui (ad esempio l'inglese o l'italiano)

I linguaggi che servono ai computer per comunicare fra loro non hanno niente a che vedere con gli altri linguaggi informatici, infatti in questo caso si parla di protocolli di comunicazione, due nozioni totalmente differenti. Un linguaggio informatico è rigoroso :

Ad OGNI istruzione corrisponde UN'azione del processore.

Il linguaggio usato dal processore è detto linguaggio macchina. Si tratta di dati come quelli che arrivano al processore, costituiti da una serie di 0 e di 1 (dati binari).

Il linguaggio macchina non è quindi comprensibile all'uomo, ed è per questo che dei linguaggi intermedi, comprensibili all'uomo, sono stati messi a punto. Il codice scritto in questo tipo di linguaggio è trasformato in linguaggio macchina per essere utilizzabile dal processore.

L'assemblatore è il primo linguaggio informatico che è stato utilizzato. Questo è molto simile al linguaggio macchina ma resta comprensibile agli sviluppatori. Tuttavia, un linguaggio simile assomiglia talmente al linguaggio macchina che dipende strettamente dal tipo di processore usato (ciascun tipo d processore può avere il proprio linguaggio macchina). Così, un programma sviluppato per una macchina non potrà essere portato su un altro tipo di macchina. Il termine « portabilità » designa l'attitudine di un programma informatico ad essere utilizzato su macchine di tipo diverso. Per usare un programma informatico scritto in assemblatore su un altro tipo di macchina, sarà talvolta necessario riscrivere completamente il programma!

Un linguaggio informatico ha quindi più vantaggi :

  • è più facilmente comprensibile rispetto ad un linguaggio macchina ;
  • permette una maggiore portabilità, cioè una maggiore facilità di adattamento su macchine di tipo diverso ;

Linguaggi imperativi e funzionali

Distinguiamo solitamente due grandi famiglie di linguaggi di programmazione, secondo il modo in cui le istruzioni vengono trattate ;

  • i linguaggi imperativi ;
  • i linguaggi funzionali.

Linguaggio imperativo

Un linguaggio imperativo organizza il programma come una serie di istruzioni, raggruppate in blocchi e comprendenti dei salti condizionali che permettono di ritornare ad un blocco di istruzioni se la condizione è realizzata. Si tratta storicamente dei primi linguaggi, anche se molti linguaggi moderni usano ancora questo principio di funzionamento.

I linguaggi imperativi strutturati soffrono tuttavia di una mancanza di flessibilità dato il carattere sequenziale delle istruzioni.

Linguaggio funzionale

Un Linguaggio funzionale (detto talvolta linguaggio procedurale) è un linguaggio nel quale il programma è costruito per funzioni, rinviando un nuovo stato in uscita e prendendo in entrata l'uscita di altre funzioni. Se la funzione si chiama da sola, allora si parla di periodicità.

Interpretazione e compilazione

I linguaggi informatici possono grossomodo essere classificati in due categorie :
  • i linguaggi interpretati
  • i linguaggi compilati.

Linguaggio interpretato

Un linguaggio informatico è per definizione diverso dal linguaggio macchina. Bisogna quindi tradurlo per renderlo leggibile dal punto di vista del processore. Un programma scritto in un linguaggio interpretato ha bisogno di un programma ausiliario (l'interprete) per tradurre man mano le istruzioni de programma.

Linguaggio compilato

Un programma scritto in un linguaggio detto « compilato » sarà tradotto una volta per tutte da un programma specifico, detto compilatore, per creare un nuovo file che sarà autonomo, cioè che non avrà bisogno di un altro programma per essere eseguito ; si dice allora che il file è eseguibile.

Un programma scritto in un linguaggio compilato ha come vantaggio di non aver più bisogno, una volta compilato, del programma specifico per essere eseguito. Inoltre, essendo la traduzione fatta una volta per tutte, sarà di più rapida esecuzione.
Tuttavia esso è meno flessibile rispetto ad un programma scritto con un linguaggio interpretato dato che ad ogni modifica del file sorgente (file intelleggibile dall'uomo: quelle che deve essere compilato) bisognerà ricompilare il programma affinché le modifiche diventino effettive.

D'altra parte, un programma compilato ha come vantaggio di garantire la sicurezza del codice sorgente. In effetti, un linguaggio interpretato, essendo direttamente leggibile, permette a chiunque di conoscere i segreti di fabbricazione di un programma e quindi di copiare il codice o anche di modificarlo. Vi è dunque il rischio del non-rispetto dei diritti di autore. Così, alcune applicazioni sicurizzate necessitano della confidenzialità del codice per evitare il pirataggio (transazioni bancarie, pagamento in linea, comunicazioni sicurizzate,...)

Linguaggi intermedi

Alcuni linguaggi appartengono in qualche modo alle due categorie (LISP, Java, Python,…) dato che il programma scritto con questi linguaggi può in alcune condizioni subire una pase di compilazione intermedia verso un file scritto in un linguaggio che non è leggibile (quindi diversi dal file sorgente) e non eseguibili (necessità di un interprete). Gli applets Java, piccoli programmi inseriti a volte nelle pagine web, sono dei file che sono compilati ma che si possono eseguire solo partendo da un navigatore internet (sono dei file con estensione est .class).

Alcuni esempi di linguaggio correntemente usati

Qui di seguito una lista non esaustiva di linguaggi informatici esistenti :

Linguaggio Dominio di applicazione principale Compilato/interpretato
ADA Il tempo reale Linguaggio compilato
BASIC Programmazione di base a scopo educativo Linguaggio interpretato
C Programmazione di sistema Linguaggio compilato
C++ Programmazione di sistema oggetto Linguaggio compilato
Cobol Gestione Linguaggio compilato
Fortran Calcolo Linguaggio compilato
Java Programmazione orientata internet Linguaggio intermedio
MATLAB Calcolo matematico Linguaggio interpretato
Mathematica Calcolo matematico Linguaggio interpretato
LISP Intelligenza artificiale Linguaggio intermedio
Pascal Insegnamento Linguaggio compilato
PHP Sviluppo di siti web dinamici linguaggi interpretati
Prolog Intelligenza artificiale Linguaggio interpretato
Perl Trattamento di stringhe di caratteri Linguaggio interpretato


Ultime modificazione ilvenerdì 6 febbraio 2009 alle 16:51:58.Questo documento intitolato «  » da Kioskea (it.kioskea.net) è reso disponibile sotto la licenza Creative Commons. È possibile copiare, modificare le copie di questa pagina, alle condizioni previste dalla licenza, come questa nota appare chiaramente.
Migliori risposte per « I linguaggi informatici » in :
Condotta del cambiamento Vedi Condotta del cambiamento L'ambiente si evolve molto velocemente in un ambiente evolutivo, esso deve quindi evolvere, innovare, per essere competitivo. I progetti informatici sono per loro natura il cuore dell'innovazione dell'impresa e provocano,...
Struttura di un programma Vedi A cosa assomiglia un programma informatico? L'aspetto di un programma dipende dal tipo di linguaggio usato per fare il programma…Tuttavia, quasi tutti i linguaggi di programmazione sono basati sullo stesso principio :Il programma è costituito da...
Cavi e connettori Vedi Connettori I connettori informatici, solitamente chiamati « connettori d'entrata-uscita » (sigla E/S o in inglese I/O per Input/Output), sono delle interfacce che permettono di collegare delle apparecchiature attraverso dei cavi. Essi si compongono...
[Video] Guardare i video VediGuardare DVD, DviX, XviD ..... gratuitamente Oggi i lettori DVD sono pienamente integrati nell'unità centrale del computer, ma è normale volersi rilassare davanti ad un buon film. Tuttavia, è possibile visualizzare i video in tutta...
Riavvio continuo del computer VediSommario Che cosa riavvia un PC? 1. Memoria difettosa 2. Hardware conflitto 3. Surriscaldamento del CPU 4. Alimentazione difettosa 5. Software conflitto 6. Materiale difettoso 7. Il BIOS 8. I Virus Aprire il registro di sistema del...
[Driver] Come trovare i driver? VediUna nuova installazione ed ecco che manca il driver della fotocamera, la stampante dello scanner del registratore o la scheda grafica? Ecco come trovare (forse) il driver: Identificare il materiale Scarica driver Link fabbricanti...
Download Any Video Converter VediAny Video Converter consente di convertire quasi tutti i formati video tra cui DivX, XviD, MOV, rm, rmvb, MPEG, VOB, DVD, WMV, AVI in MPEG-4 formato per iPod/PSP o altro dispositivo video portatile, MP4 Player o smart phone interfaccia...
Download Switch Sound Format Converter VediSwitchest è un convertitore di formati audio per Windows o Mac che può convertire i file audio da diversi formati in MP3 o WAV, WAV a MP3, MP3 a WAV, WMA a MP3, MP3 a WAM, ecc. Aggiungere i file da convertire alla lista, scegliere il formato da...
Webmastering - I linguaggi del web VediIntroduzione al web Il termine « web » designa il servizio internet che permette di navigare attraverso le pagine web. Il protocollo usato per questo tipo di comunicazione e il protocollo HTTP (HyperText Transfer Protocol), il che spiega perché...
Linguaggi informatici - Istruzioni VediA cosa assomiglia un'istruzione? L'istruzione è un elemento chiave del computer dato che permette di specificare al processore l'azione da effettuare. Le istruzioni da effettuare sono indicate nel file sorgente e il computer passa da un'istruzione...
Linguaggi informatici -API VediAPI Un API (Application Programmable Interface, tradotto « interfaccia di programmazione » o « interfaccia per l'accesso programmato alle applicazioni) è un insieme di funzioni che permettono d'accedere ai servizi di un’applicazione, mediante un...