Programmazione (informatica)
La programmazione, in informatica, è l'insieme delle attività e tecniche che una persona specializzata, il programmatore, svolge per creare un programma, ossia un software da far eseguire ad un computer.
Un buon paragone è quello con l'insegnamento: è come se il programmatore "insegnasse" al computer, che è un semplice esecutore, come svolgere un determinato compito, più o meno complesso.
Indice |
Linguaggi di programmazione [modifica]
| Per approfondire, vedi Linguaggio di programmazione. |
I linguaggi di programmazione sono molti e si distinguono principalmente in due categorie: interpretati e compilati.
I linguaggi interpretati più diffusi sono:
- Basic, anche se esistono diverse versioni compilate e pseudo-compilate, come Turbo Basic e Visual Basic.
- Perl
- Python
- PHP
Inoltre sono interpretati anche gli script di shell (i cosiddetti file di batch) e gli script in uso su Internet (Javascript, Jscript, VBScript, Batch...)
Il codice di un programma interpretato viene salvato cosi com'è, e viene poi letto da un interprete, che è un programma che gira sul sistema operativo in uso.
I linguaggi di programmazione compilati richiedono invece che il codice, una volta terminato, sia processato da un compilatore che, convertendolo in linguaggio macchina, ne permetta l'esecuzione da parte della CPU.
I linguaggi compilati più famosi sono:
- C
- C++ (linguaggio orientato agli oggetti derivato dal C)
- Pascal (solitamente usato per uso didattico)
- Cobol
I programmi interpretati sono più lenti ma più facili da creare e girano su molti sistemi operativi, a patto di avere lo stesso interprete, e che il dialetto del linguaggio sia comune. I linguaggi compilati, molto spesso, hanno invece degli standard ISO, o comunque regole universali, le quali permettono di compilare un programma senza modifiche su più architetture, anche da una sola macchina, a patto di avere un compilatore adeguato.
Java è pseudocompilato, ossia viene tradotto in un linguaggio intermedio, detto bytecode, il quale è una specie di linguaggio macchina, che viene poi passato all'interprete, che deve essere disponibile per il tipo di macchina che si vuole utilizzare.
Il Visual Basic, per contro, non è un linguaggio standard, ma un ambiente di sviluppo creato per sviluppare programmi in un Basic ad oggetti sviluppato dalla Microsoft, e come tale disponibile solo sui loro OS. Non esistendo uno standard riconosciuto, non viene garantita la compatibilità tra versioni successive, e non è possibile utilizzarlo pienamente su altri sistemi operativi o altre CPU che quelle supportate dalla Microsoft.
Tecniche di programmazione [modifica]
- Programmazione procedurale - Tecnica di programmazione consistente nella creazione di blocchi di istruzioni separati.
- Programmazione orientata agli oggetti - Tecnica consistente nel creare nel programma "oggetti" dotati di loro caratteristiche, che interagiscano tra loro.
Esistono molte altre tecniche, che sarebbe più opportuno però definire paradigmi di programmazione. Vedere la voce stessa per approfondimenti. Ciascun paradigma può sfruttare uno o più linguaggi di programmazione a basso, medio o alto livello di astrazione.
Tipi di programmazione [modifica]
In base alla destinazione d'uso del codice si hanno vari tipi di programmazione quali ad esempio:
- Programmazione di applicazioni per dispositivi fissi (personal computer, workstation, mainframe ecc..);
- Programmazione per dispositivi mobili (cellulari, smartphone, palmari, tablet computer ecc..);
- Programmazione per dispositivi server;
- Programmazione di sistemi operativi;
- Programmazione socket;
- Programmazione Web;
- Programmazione concorrente.
Errori di programmazione [modifica]
| Per approfondire, vedi Bug (informatica). |
Durante lo sviluppo e l'esecuzione di un codice possono verificarsi i cosiddetti errori di programmazione che si possono distinguere essenzialmente in tre principali categorie: errori di sintassi, errori di logica ed errori di runtime.
- Gli errori di sintassi sono gli errori che si commettono nella fase di scrittura del programma nel linguaggio scelto, fase successiva alla progettazione dell'algoritmo. Sono In genere errori di ortografia nella scrittura del codice o nella sintassi delle istruzioni. Gli errori di sintassi impediscono la compilazione del programma da parte del compilatore che quindi tipicamente segnalerà la presenza dell'errore.
- Gli errori di logica (o semantica) sono gli errori che si commettono nella fase di progettazione dell'algoritmo: possono essere causati da una mancata comprensione del problema da calcolare o dei vincoli che i dati in input devono rispettare, o ancora nella valutazione del test dell'algoritmo. Questi errori conducono tipicamente alla progettazione di un algoritmo che non fornisce l'output richiesto nell'ambito di una o più istanze del problema da risolvere. Sono difficili da individuare e spesso si deve ricorrere al debugging.
- Gli errori di runtime sono errori che possono verificarsi nella fase di esecuzione del programma, anche se l'algoritmo è corretto e il codice viene compilato correttamente. Spesso sono relativi all'utilizzo della memoria da parte del programma stesso, che tenta ad esempio di scrivere ad una locazione di memoria alla quale non ha accesso. Questi errori si verificano principalmente nell'utilizzo dei puntatori e in programmazione dinamica.
Voci correlate [modifica]
- Computer
- Debugging
- Informatica
- Oggetto (informatica)
- Variabile (informatica)
- Costante (informatica)
- Codice sorgente
- Variabili
- Strutture dati
- Funzione
- Design pattern
- Fondamenti di programmazione
- Linguaggio di programmazione
- Programmatore
- Paradigma di programmazione
- To Make Compiler Happy
Altri progetti [modifica]
Wikibooks contiene testi o manuali su Programmazione (informatica)
Commons contiene immagini o altri file su Programmazione (informatica)
Collegamenti esterni [modifica]
- gioblu.com - Tutorials e guide inerenti alla programmazione
- Programmazione.it portale italiano sulla programmazione.
- Canale Programmazione di WebMasterPoint
- Astropatrol2450dc - un approccio alla programmazione
- Corsi di programmazione java e android in Torino Ente di formazione senza scopo di lucro.
|
|