Vi introdurrò i fondamentali della programmazione (informatica) con questo articolo:
Descrizione
Il risultato delle attività di programmazione è il cosiddetto codice sorgente, tipicamente un testo scritto in un linguaggio di programmazione, il quale è ancora comprensibile al programmatore, ma è strutturato in maniera sufficientemente razionale da poter essere tradotto in maniera automatica, tramite compilatori e interpreti, in codice macchina, che di fatto è l'unico linguaggio o codice che la CPU è in grado di interpretare correttamente ed eseguire.
In alternativa alla classica programmazione testuale, possono esistere anche altre forme di programmazione come la programmazione grafica con i diagrammi Ladder. I programmi in Ladder, a seguito della compilazione, producono comunque codice macchina eseguibile da una CPU.
L'attività di programmazione si è resa necessaria per l'avvenuta capacità tecnologica dell'uomo di creare macchine elaboratrici in grado di eseguire un algoritmo generico; sebbene infatti sia immaginabile programmare senza macchina e scrivere un programma (di solito in uno pseudolinguaggio) senza lo scopo di farlo girare, l'accezione comune del termine programmazione è proprio quella di impartire istruzioni a una macchina ragionevolmente complessa che sia in grado di seguire le istruzioni stesse.
Linguaggi di programmazione
Per approfondire, vedi la voce 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 permette l'esecuzione da parte della CPU.
I linguaggi compilati più famosi sono:
C
C++ (linguaggio orientato agli oggetti derivato dal C)
Pascal
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'inteprete, 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
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 di sistemi operativi
Programmazione socket
Programmazione Web
Programmazione concorrente
Errori di programmazione
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.
Bella introduzione!!
RispondiElimina