Linguaggio di programmazione
Contenuti
· 1 Tipi di linguaggi di programmazione
o 1.1 Alto livello vs. basso livello
o 1.2 Programmazione declarativa vs. imperativa
o 1.3 Funzionale vs. procedurale
o 1,4 Basato su pila
o 1.5 Orientato agli oggetti
o 1.6 Orientato al flusso
· 2 Regole
· 3 Programmazione orientata agli oggetti
· 4 Esempi
o 4.1 Esempio di Visual Basic
o 4.2 Esempio di Pitone
o 4.3 Esempio di C#
o 4.4 Esempio di Haskell
· 5 pagine correlate
Un linguaggio di programmazione è un tipo di linguaggio scritto che dice ai computer cosa fare per lavorare. I linguaggi di programmazione sono utilizzati per realizzare tutti i programmi per computer e i software per computer. Un linguaggio di programmazione è come un insieme di istruzioni che il computer segue per fare qualcosa.
Un programmatore scrive il testo del codice sorgente nel linguaggio di programmazione per creare programmi. Di solito, il linguaggio di programmazione usa parole reali per alcuni comandi, in modo che il linguaggio sia più facile da leggere per un essere umano. Molti linguaggi di programmazione usano la punteggiatura proprio come un linguaggio normale. Molti programmi ora sono "compilati". Ciò significa che il computer traduce il codice sorgente in un altro linguaggio (come il linguaggio assembly o il linguaggio macchina), che è molto più veloce e più facile da leggere per il computer, ma molto più difficile da leggere per una persona.
I programmi per computer devono essere scritti con molta attenzione. Se il programmatore commette degli errori, o il programma cerca di fare qualcosa per cui il programmatore non ha progettato il programma, il programma potrebbe "andare in crash" o smettere di funzionare. Quando un programma ha un problema a causa di come il codice è stato scritto, questo si chiama "bug". Un errore molto piccolo può causare un problema molto grande.
Tipi di linguaggi di programmazione
Esistono molti tipi di linguaggi di programmazione. La maggior parte dei linguaggi di programmazione non segue un solo tipo, quindi è difficile assegnare un tipo per ogni linguaggio. Gli esempi di ogni tipo sono riportati in ogni sezione qui sotto perché sono gli esempi più noti di quel tipo.
Alto livello vs. basso livello
| Questa sezione ha bisogno di maggiori informazioni. (Agosto 2018) |
I linguaggi di programmazione di alto livello richiedono una minore conoscenza dell'hardware rispetto ai linguaggi di programmazione di basso livello. I linguaggi di programmazione di alto livello richiedono un interprete per convertire il codice sorgente in linguaggi di programmazione di basso livello.
Programmazione declarativa vs. imperativa
I linguaggi di programmazione dichiarativi descrivono un "problema", ma di solito non dicono come il problema debba essere risolto. La descrizione del problema utilizza la logica, e "risolvere" il problema spesso sembra dimostrare automaticamente un sistema di assiomi logici. Esempi per tali linguaggi di programmazione sono Prolog, XSLT, LISP e SQL.
I linguaggi di programmazione imperativi descrivono un sistema di cambiamenti di stato. All'inizio, il programma si trova in un certo stato, e al computer vengono dati i passi da seguire, al fine di eseguire un'azione. Seguendo i passi, il programma "cambia stato".
In generale, i linguaggi di programmazione dichiarativa sono più sicuri e più brevi. I linguaggi di programmazione dichiarativa sono più comuni, perché sono più facili da usare.
Funzionale vs. procedurale
La programmazione funzionale considera la programmazione come una funzione della matematica. Il programma riceve input, insieme ad alcune informazioni, e usa queste informazioni per creare output. Non avrà uno stato intermedio, e non cambierà nemmeno le cose che non sono legate al calcolo.
I programmi procedurali specificano o descrivono serie di passi o cambiamenti di stato.
Basato su pila
I linguaggi basati sulla pila guardano alcuni della memoria del programma come una pila di carte. Ci sono pochissime cose che si possono fare con una pila. Un dato può essere messo in cima alla pila. Questa operazione è generalmente chiamata "push". Un dato può essere rimosso dalla parte superiore della pila. Questa operazione è chiamata "pop". Si può guardare l'elemento in cima alla pila senza rimuoverlo. Questa operazione è chiamata "sbirciare".
Se un programma è scritto come "push 5; push 3; add; pop;" metterà 5 in cima alla pila, metterà 3 in cima al 5, aggiungerà i due valori superiori (3 + 5 = 8), sostituirà il 3 e il 5 con l'8, e stamperà il top (8). Esempi di linguaggi di programmazione basati sulla pila sono i linguaggi Postscript e Forth.
Orientato agli oggetti
I linguaggi di programmazione orientati agli oggetti collocano i dati e le funzioni che modificano i dati in un'unica unità. Questa unità viene chiamata "oggetto". Gli oggetti possono interagire fra loro e modificare i dati di un altro oggetto. Questo viene solitamente chiamato incapsulamento o nascondere le informazioni. La maggior parte dei moderni linguaggi di programmazione sono orientati agli oggetti, o almeno permettono questo stile di programmazione. Esempi di questo sono Java, Python, Ruby, C+++, C# e altri linguaggi C.
Orientato al flusso
La programmazione orientata al flusso vede la programmazione come il collegamento di diversi componenti. Questi componenti inviano messaggi avanti e indietro. Un singolo componente può far parte di "programmi" diversi, senza bisogno di essere modificato internamente.
Regole
Ogni linguaggio di programmazione ha delle regole su ciò che può e non può fare. Queste includono:
- Numeri corretti (tipi di numeri, e quanto grandi o piccoli possono essere i numeri)
- Parole (parole riservate, sensibilità al caso)
- Limiti di ciò che il linguaggio di programmazione può fare
La maggior parte delle lingue ha standard ufficiali che definiscono le regole di come scrivere il codice sorgente. Alcuni linguaggi di programmazione hanno due o più standard. Questo può accadere quando un nuovo standard sostituisce un vecchio standard. Per esempio, lo standard Perl 5 ha sostituito il Perl 4 nel 1993. Può succedere perché due persone hanno fatto due standard contemporaneamente. Per esempio, ci sono diversi standard per APL.
Programmazione orientata agli oggetti
La programmazione orientata agli oggetti (a volte abbreviata in OOP) è una forma di programmazione in cui tutte le parti del programma sono oggetti. Gli oggetti sono pezzi di memoria con la stessa struttura che possono essere utilizzati più volte. Un conto bancario, una bitmap o un eroe di un videogioco possono essere tutti oggetti all'interno di un programma. Gli oggetti sono costituiti da proprietà (informazioni che l'oggetto memorizza) e metodi che sono cose che l'oggetto può fare. Un oggetto Dog potrebbe avere proprietà come l'altezza e il colore dei capelli. I suoi metodi potrebbero includere corteccia() e wagTail().
Tutti gli oggetti sono creati da modelli chiamati classi. Si può pensare a una classe come a uno stampo da cui vengono creati gli oggetti. La classe definisce tutte le proprietà e i metodi che i suoi oggetti avranno. Gli oggetti creati da una classe sono chiamati istanze della classe. Una classe può estendere un'altra classe, il che significa che prende tutte le proprietà e i metodi della classe, ma può aggiungere i propri.
Ecco un esempio di come potrebbe essere una classe in un linguaggio di programmazione:
classe Dog estende Mammifero{ //Queste sono proprietà: String breed = "Collie" String type = "Herding Dog" // Questi sono metodi void wagTail(){ //Do qualche scodinzolio } void bark(){ //Do l'abbaiare qui } }Si noti che la classe Cane estende la classe Mammifero, quindi tutti i cani avranno le proprietà di un mammifero, come la lunghezza dei capelli, e metodi, come mangiare() o dormire().
La programmazione orientata agli oggetti è usata in molti dei più popolari linguaggi di programmazione di oggi, come Java, C#, Objective-C, C++, Python, Ruby, Javascript e ActionScript.
Esempi
Esempio di Visual Basic
Ecco un semplice programma scritto in Visual Basic:
Questo programma chiede all'utente la sua età e risponde in base a ciò che l'utente ha digitato. Se l'utente ha digitato qualcosa che non è un numero, il programma lo dice. Se l'utente ha digitato un numero inferiore a zero, il programma lo dice. Se l'utente dice di avere più di 100 anni, il programma dice "È vecchio! Se l'utente ha digitato un'età corretta, il programma dice all'utente quanti anni ha.
Esempio di Pitone
Ecco un programma che fa la stessa cosa del programma di cui sopra, ma in Python:
Esempio di C#
La stessa cosa del programma di cui sopra, ma in C#:
Esempio di Haskell
Sempre la stessa cosa, ma ad Haskell:
Pagine correlate
- Elenco dei linguaggi di programmazione
- Programmatore
- Compilatore
- Programmazione computerizzata
Domande e risposte
D: Che cos'è un linguaggio di programmazione?
R: Un linguaggio di programmazione è un tipo di linguaggio scritto che dice ai computer cosa fare. È come un insieme di istruzioni che il computer segue per fare qualcosa, e di solito utilizza parole reali per alcuni dei comandi, in modo che sia più facile da capire per gli esseri umani.
D: Quali sono gli esempi di linguaggi di programmazione?
R: Esempi di linguaggi di programmazione sono Python, Ruby, Java, JavaScript, C, C++ e C#.
D: Come si scrivono i programmi in un linguaggio di programmazione?
R: I programmi vengono scritti scrivendo il testo nel codice sorgente di un linguaggio di programmazione. Di solito si usa anche la punteggiatura.
D: Cosa succede dopo che i programmi sono stati scritti in un linguaggio di programmazione?
R: Dopo che i programmi sono stati scritti in un linguaggio di programmazione, devono essere compilati, il che significa che il computer modifica o traduce il codice sorgente in un altro linguaggio (come l'assembly o il machine) che può essere letto dai computer, ma che è molto più difficile da leggere per le persone.
D: Cosa può succedere se si commettono degli errori nella scrittura dei programmi?
R: Se si commettono degli errori durante la scrittura dei programmi o se il programma cerca di fare qualcosa per cui non è stato progettato, potrebbe smettere di funzionare, il che si chiama "crash". Quando questo accade a causa del modo in cui è stato scritto il codice, si chiama "bug". Anche piccoli errori possono causare grandi problemi.
D: Perché i programmi informatici devono essere scritti con cura?
R: I programmi informatici devono essere scritti con cura, perché anche piccoli errori possono causare grandi problemi e provocare crash o bug.