La programmazione informatica

La programmazione informatica ( development ) si basa sulla capacità del computer a svolgere compiti diversi da quelli per cui è stato progettato.

Un computer è una macchina programmabile. Non si limita a eseguire quello che il progettista ha scritto nei circuiti elettrici. L'utente può "istruire" ( programmare ) il computer a svolgere qualsiasi calcolo.

Cosa significa programmare

Programmare significa scrivere un programma informatico da far eseguire al computer.

Cos'è un programma informatico

Un programma informatico è una serie di istruzioni scritte in un linguaggio di programmazione, organizzate secondo delle strutture di controllo.

Non si tratta di una semplice procedura sequenziale, perché l'ordine di esecuzione delle istruzioni in un programma può essere condizionato al presentarsi o meno di uno o più eventi.

La differenza tra programma e procedura. Una procedura è una sequenza di comandi, senza strutture di controllo, che viene eseguita dall'inizio alla fine seguendo l'ordine sequenziale. Viceversa, in un programma sono presenti delle strutture di controllo che modificano l'ordine di esecuzione a seconda del presentarsi o meno degli eventi.

Un programma informatico è scritto secondo le regole di sintassi del linguaggio di programmazione. Ne esistono diversi ( es. Java, C, Python, ecc. ).

Alcuni linguaggi di programmazione sono ormai obsoleti ( es. Fortran, Pascal, Cobol, Basic ) ma hanno fatto la storia della programmazione. Chiunque abbia lavorato in un centro di elaborazione dati ( CED ) negli anni '80 e '90 li conosce benissimo. Oggi il settore dell'Information Technolgy e Software Development è molto più complesso.

Per essere eseguito dal computer, il programma deve essere trasformato in linguaggio macchina.

La trasformazione può avvenire in due modi:

  • Interpretazione. Un software interprete legge le istruzioni del linguaggio di programmazione durante l'esecuzione e le trasforma in tempo reale in comandi macchina.
  • Compilazione. Un software compilatore legge le istruzioni nel programma, le converte in una serie di comandi macchina e li salva in un altro file oggetto detto eseguibile ( es. nel dos sono i file con estensione .exe ).

A cosa serve il linguaggio macchina? Il linguaggio macchina è composto da una sequenza di zero e uno ( bit ). E' l'unica forma di linguaggio comprensibile per un computer. Quindi, è l'unico modo per far eseguire al computer dei compiti.

Quali sono le differenze tra i linguaggi di programmazione?

I linguaggi di programmazione svolgono tutti lo stesso compito, permettono di istruire il computer a svolgere determinate operazioni e condizionarle a seconda del presentarsi o meno di alcuni eventi.

Qual è il linguaggio di programmazione migliore?

Ogni linguaggio di programmazione ha pro e contro, non esiste il linguaggio migliore in assoluto.

La scelta del linguaggio è collegata alla piattaforma ( sistema operativo ) dove viene eseguito e all'obiettivo che si vuole raggiungere.

Esempio. Per creare un'applicazione web è preferibile utilizzare il Java. Per sviluppare un software client da far girare sul PC, è meglio utilizzare il linguaggio C. Per creare un sito web dinamico si utilizza il linguaggio HTML e il linguaggio Php, e così via.

Dall'analisi alla programmazione

La programmazione è soltanto l'ultima fase del ciclo di sviluppo del software.

La prima fase è sempre l'analisi.

Nella fase di analisi si studia il problema e si trova una procedura logica per giungere alla soluzione del problema.

Una volta trovata la procedura risolutiva, si traduce l'analisi in un programma informatico.

dall'analisi alla programmazione

Pertanto, la programmazione è la traduzione dell'analisi in un linguaggio informatico.

Non avrebbe senso programmare qualcosa senza avere ben chiaro cosa si vuole raggiungere.

Quali tipi di linguaggi di programmazione esistono?

I linguaggi di programmazione sono classificati in due grandi categorie, i linguaggi interpretati e quelli compilati.

  • I linguaggi interpretati. Nei linguaggi interpretati il processore legge il codice sorgente delle istruzioni, lo interpreta e lo esegue. Per eseguire il programma è necessario installare sul computer un apposito software interprete, in grado di leggere e interpretare le istruzioni. Alcuni esempi di linguaggi interpretati sono il Basic, il Python, l'ASP e il PHP.

    Cos'è il codice sorgente? Il codice sorgente è un elenco di istruzioni scritte dal programmatore in un file di testo secondo la sintassi del linguaggio di programmazione. Il contenuto del file è agevolmente comprensibile al programmatore.
    un esempio di codice sorgente

  • I linguaggi compilati. Nei linguaggi compilati è necessario trasformare il codice sorgente in un oggetto in linguaggio macchina, tramite l'operazione di compilazione. Il processore non esegue il codice sorgente, quello scritto dal programmatore ( developer ), bensì l'oggetto compilato. Per eseguire il programma non occorre alcun software interprete, poiché l'oggetto è stato già trasformato in linguaggio macchina. I linguaggi compilati più utilizzati sono il linguaggio C, il linguaggio Pascal e il linguaggio Cobol.
    esempio di compilazione del sorgente in oggetto

    Cos'è l'oggetto? E' un elenco di operazioni, scritte dal software compilatore in linguaggio macchina in un file eseguibile ( es. EXE ). Si chiama "eseguibile" perché il file può essere eseguito direttamente dal computer. Essendo scritte in linguaggio macchina, le istruzioni nel codice oggetto non sono comprensibili agli occhi di un utente e del programmatore stesso.
    un esempio di codice oggetto

La differenza tra programmazione procedurale e programmazione a oggetti

Esistono principalmente due metodi di programmazioni, la programmazione procedurale e la programmazione a oggetti.

  • La programmazione procedurale consiste nella stesura di un elenco sequenziale di operazioni. Il computer esegue le istruzioni dalla prima all'ultima. Per ogni operazione va scritta un'istruzione.
  • La programmazione strutturata introduce le strutture condizionali ( if ) e le strutture cicliche di controllo ( for, while, until ). Inoltre, senza eliminarli, critica l'utilizzo dei salti incondizionati ( goto ) nei programmi.
  • La programmazione modulare suddivide il codice sorgente di un programma in più moduli che sono eseguiti in sequenza usando gli stessi indirizzi di memoria.
  • La programmazione a oggetti consiste nella creazione delle classi ( oggetti ). Quando si associa un'istanza alla classe, l'istanza eredita automaticamente tutte le proprietà della classe. A differenza della programmazione procedurale, la programmazione a oggetti riduce il numero delle istruzioni a parità di operazioni. Questa tecnica è anche conosciuta con la sigla OO ( Object Oriented ).
  • La programmazione funzionale si basa prevalentemente sul concetto di espressione e funzione logico matematica. Il flusso del programma consiste nel calcolo e nella valutazione delle funzioni senza produrre effetti collaterali (side effect).
 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base
  1. La programmazione
  2. Gli algoritmi
  3. Il linguaggio macchina
  4. Cos'è uno pseudocodice
  5. I programmi informatici
  6. Le variabili
  7. Gli array
  8. Le espressioni
  9. Le strutture di controllo
  10. Le routine
  11. Le funzioni