Questo sito contribuisce alla audience di Il Messaggero

Come programmare

di

La decisione è stata presa! Sei convinto che sia giunto il momento di portare la tua passione per la tecnologia a un livello superiore e, per farlo, hai intenzione studiare un linguaggio di programmazione in maniera approfondita. Ti piacerebbe tanto realizzare applicazioni, giochi o contenuti per il Web ma non hai ancora le idee chiare su come muoverti.

Scommetto allora che vorresti qualche “dritta” su come programmare i tuoi primi progetti, vero? Bene, allora sappi che sono qui proprio per aiutarti in questo. Prima però una doverosa premessa: l’argomento programmazione è talmente vasto e variegato che sarebbe impossibile trattarlo in una singola guida. Quello che farò, dunque, sarà illustrarti i concetti di base della programmazione, fornendoti poi alcuni esempi pratici funzionanti per i vari linguaggi disponibili.

Allora? Sei pronto per iniziare? Se la tua risposta è affermativa, ritagliati qualche minuto di tempo libero e leggi con attenzione tutto quanto ho da dirti sull’argomento: mi preme avvisarti che, prima di riuscire a realizzare qualcosa di decente, dovrai fare tante prove e prendere un bel po’ di arrabbiature. Tuttavia, sono certo che, dopo un po’ di studio e di pratica, sarai assolutamente soddisfatto dei risultati ottenuti!

Indice

Informazioni preliminari

Come programmare

Prima di entrare nel vivo di questa guida e di spiegarti, nel concreto, come programmare, lascia che ti dia qualche informazione teorica in più riguardo l’argomento.

Tanto per cominciare, devi sapere che un programma non è altro che un elemento informatico in grado di automatizzare delle operazioni, elaborando una serie di dati in ingresso e trasformandoli in dati in uscita, mediante una sequenza di passi ben definita, che prende il nome di algoritmo.

Il formato in cui i vari step dell’algoritmo vengono “tradotti” e resi comprensibili al computer, invece, è il linguaggio di programmazione: nel mondo informatico, esistono numerosi linguaggi di questo tipo, ciascuno progettato con delle precise caratteristiche, in base all’uso reale che si intende farne.

Per esempio, i linguaggi di riferimento per le app dedicate a iOS e iPadOS sono Swift e Objective-C, il linguaggio “di base” tipico di smartphone e tablet Android è Java; ancora, SQL è uno dei linguaggi più usati per la manipolazione dei database, così come C# viene impiegato principalmente per la realizzazione di programmi Windows-based.

Principalmente, i linguaggi di programmazione possono essere suddivisi in due grandi famiglie: quelli a basso livello, poco intuitivi e difficili da imparare, giacché la relativa sintassi si avvicina molto a quella del linguaggio macchina; e quelli ad alto livello, più semplici da imparare, in quanto sintatticamente simili al linguaggio naturale in lingua inglese.

Chiaramente, una categoria di linguaggio può essere più efficiente rispetto all’altra, in determinati scenari: per esempio, sarebbe piuttosto complicato realizzare un driver di periferica mediante un linguaggio ad alto livello; allo stesso modo, è praticamente impensabile realizzare un’applicazione per smartphone sfruttando soltanto un linguaggio a basso livello.

Altra tipologia di “categorizzazione” dei linguaggi di programmazione riguarda, invece, il modello astratto di programmazione, che varia in base all’approccio e alla tipologia di sintassi utilizzata: in tal frangente, è possibile suddividere i linguaggi in imperativi dichiarativi.

  • Linguaggi imperativi – il modello di questi linguaggi è basato sui cambiamenti di stato della memoria della macchina: volendo semplificare il concetto, questo approccio consente di giungere alla soluzione di un problema “modificando”, mediante una serie di operazioni, il contenuto delle celle di memoria dell’elaboratore. I linguaggi imperativi possono essere suddivisi, a loro volta, in tre categorie distinte.
    • Procedurali: eseguono in maniera sequenziale i comandi specificati e necessitano di allocazione manuale dei dati in memoria.
    • A oggetti/Object-oriented (od OO): utilizzano strutture “preconfezionate”, che non necessitano di allocazione manuale della memoria.
    • Paralleli: sono appositamente costruiti per consentire l’interazione tra più elaboratori, preposti all’esecuzione dello stesso compito, in contemporanea.
  • Linguaggi dichiarativi – l’approccio dichiarativo non dipende dallo stato della memoria dell’elaboratore, ma elabora e risolve il problema mediante la costruzione di relazioni tra le entità e i valori delle funzioni coinvolte. È possibile suddividere i linguaggi dichiarativi in tre ulteriori sotto-categorie.
    • Funzionali: questi linguaggi basano il loro flusso di esecuzione sul risultato di funzioni matematiche.
    • Logici: il flusso di esecuzione è basato sul risultato di condizioni logiche.
    • Relazionali: la manipolazione e l’elaborazione dei dati avviene mettendo in relazione diverse entità. I linguaggi relazionali sono principalmente utilizzati per le operazioni di ricerca, selezione e unione di grandi archivi (SQL ne è un esempio).

Quale linguaggio di programmazione scegliere

Come programmare

Come ti ho già accennato in precedenza, ciascun linguaggio di programmazione, a prescindere dalla sua categoria, viene progettato con in mente un preciso scopo: di seguito ti descrivo sommariamente le caratteristiche di quelli ad oggi più diffusi, così che tu possa avere un’idea del linguaggio da scegliere per realizzare, in futuro, i tuoi programmi.

  • – è un linguaggio procedurale risalente al 1972, estremamente flessibile e applicabile a un numero sconfinato di scenari: per esempio, i kernel di Linux e Android sono realizzati in C, così come i sistemi operativi di numerose periferiche di uso comune (come alcuni router). Non è un linguaggio a oggetti e, per questo motivo, è necessario avere dimestichezza con la lettura, la scrittura e l’allocazione diretta delle celle di memoria, per farne un uso semi-avanzato.
  • C# – si tratta di un linguaggio sintatticamente simile al C, ma progettato da Microsoft (e reso open source dal 2014) e specifico per le interfacce grafiche di Windows e dei software basati sul framework .NET.
  • C++ – rappresenta l’evoluzione del linguaggio C: esso è stato progettato nel 1983 con il preciso intento di integrare, all’interno del linguaggio originale, anche la programmazione a oggetti. Non è difficile trovare programmi di uso comune scritti in C++.
  • Visual Basic – altro linguaggio di proprietà Microsoft, veniva usato principalmente per la creazione di programmi desktop. Ad oggi, VB è totalmente integrato in .NET.
  • Java – si tratta di uno dei più conosciuti e potenti linguaggi di programmazione a oggetti. Trattandosi di un linguaggio estremamente flessibile, si presta a un gran numero di utilizzi: per esempio, gran parte del sistema operativo Android è realizzato in Java. Inoltre, i programmi realizzati in questo linguaggio possono essere eseguiti da qualsiasi sistema operativo desktop, installando un software dedicato, denominato JRE Java Runtime Environment.
  • Python – altro potentissimo linguaggio a oggetti. Si presta a qualsivoglia tipo d’impiego, con un’attenzione particolare alla programmazione distribuita (cioè alla realizzazione di applicativi che funzionano in modo “diffuso” su più computer contemporaneamente). Python trova inoltre impiego in tutti quegli ambiti in cui sono richieste, contemporaneamente, rapidità e potenza: routine di testing, calcoli numerici, script automatizzanti e molto altro.
  • MATLAB – si tratta di un linguaggio di programmazione specifico per il calcolo matematico, orientato in particolare alle operazioni tra matrici.
  • – altro linguaggio dedicato alle operazioni matematiche, R viene principalmente impiegato per il calcolo statistico e le operazioni di computazione grafica.
  • Delphi – si tratta di un linguaggio non molto attento alla grafica dei programmi realizzati, ma estremamente efficiente nella gestione di grosse quantità di dati. Ad oggi, numerosi applicativi gestionali sono realizzati in Delphi.
  • Assembly – si tratta del linguaggio di programmazione di basso livello che, con ogni probabilità, si avvicina di più al codice macchina comprensibile dal processore. Per questo motivo, la sintassi e la logica di Assembly sono estremamente complessi, tuttavia la potenza è decisamente sconfinata: questo linguaggio viene ampiamente utilizzato per realizzare i driver di periferica e i software operativi adibiti alla gestione dei bus della scheda madre.

Chiaramente, così come ti ho spiegato nella mia guida su come creare un programma, lo sviluppo di un software mediamente complesso “passa” per diverse fasi, ciascuna delle quali è fondamentale per la corretta riuscita del progetto. Tuttavia, nel corso di questa guida, sarà mia cura mostrarti come realizzare un semplicissimo programma mediante alcuni più usati linguaggi di programmazione (C, Java e Python) e indicarti le risorse necessarie per continuare, in autonomia, lo studio futuro.

Come programmare in C

Come programmare in C

Come dici? Dopo aver attentamente considerato i vari linguaggi di programmazione elencati, hai fatto la tua scelta e, dunque, vorresti ora comprendere come programmare in C? Benissimo, allora questa è la sezione del tutorial che fa al caso tuo, nella quale ti spiegherò come realizzare il tuo primo programma in C, il quale, molto semplicemente, stamperà a video la scritta “Ciao, mondo!”.

Prima di andare avanti, se utilizzi Windows, devi innanzitutto installare il componente Visual Studio Community, che contiene gli strumenti necessari per compilare il file sorgente (quello che contiene il codice) di qualsiasi programma scritto in linguaggio C.

Per prima cosa, dunque, collegati alla home page di Visual Studio, clicca sul pulsante Download Gratuito per ottenere il pacchetto d’installazione dell’ambiente di lavoro e, a download ultimato, lancia il file scaricato (ad es. vs_Community.exe). In seguito, clicca sui pulsanti Sì Continua, attendi il download dei componenti necessari e, giunto alla schermata successiva, apponi il segno di spunta accanto alle voci Sviluppo di applicazioni desktop con C++ (si trova al centro) e assicurati che le voci Supporto C++/Cli per Build Tools Moduli C++ per Build Tools (trovano a destra) siano selezionate. Per finalizzare l’installazione di Visual Studio, clicca sul pulsante Installa e attendi che il processo venga portato a termine, quindi chiudi tranquillamente la finestra.

Su macOS, invece, non è necessario installare software aggiuntivo, in quanto le componenti fondamentali del linguaggio C sono già presenti “di serie” nel sistema operativo.

Come programmare in C

Conclusa l’installazione degli strumenti necessari per la realizzazione di un programma in C, puoi crearne il file sorgente avvalendoti di un semplice editor di testo. Dunque, attieniti a una delle seguenti procedure, a seconda del sistema operativo da te in uso.

  • Windows – avvia il Blocco Note richiamandolo dalla cartella Accessori Windows situata nel menu Start. In seguito, seleziona il menu File > Salva con nome…, in alto a sinistra, scegli l’opzione Tutti i file dal menu a tendina Salva come e digita, nella casella Nome file, il nome helloworld.c. Salva poi il file sul desktop di Windows e lascia aperta la finestra del Blocco Note.
  • macOS – avvia il Terminale richiamandolo dalla cartella Altro del Launchpad (l’icona a forma di razzo situata nella barra Dock), digita il comando cd ~/Desktop, premi il tasto Invio della tastiera e, allo stesso modo, impartisci il comando touch helloworld.c, sempre seguito da Invio. Ora, minimizza la finestra del Terminale (senza chiuderla) e fai doppio clic sul file appena creato sulla Scrivania.

Ora, digita il seguente codice all’interno della finestra dell’editor aperto in precedenza (Blocco Note o TextEdit).

#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("Ciao, mondo!\n");
return 0;
}

Quando hai finito, salva il file così creato e chiudi l’editor. Ora, per generare un file che possa essere eseguito dal sistema operativo, devi compilare il sorgente appena creato.

  • Windows – avvia il Prompt dei comandi per sviluppatori richiamandolo dalla cartella Visual Studio situata nel menu Start, digita il comando cd %USERPROFILE%\Desktop, premi il tasto Invio della tastiera e, allo stesso modo, impartisci il comando cl helloworld.c, sempre premendo il tasto Invio. A questo punto, puoi eseguire il programma digitando il comando helloworld, sempre seguito dalla pressione del tasto Invio.
  • macOS – richiama la finestra del Terminale minimizzata in precedenza, impartisci il comando gcc helloworld.c -o helloworld e premi il tasto Invio, per compilare il programma. Per avviarlo, impartisci invece il comando ./helloworld.c.

Per approfondimenti

Come programmare in C

Come dici? Sei pienamente soddisfatto di aver realizzato il tuo primo programma in C e adesso vorresti approfondire il discorso inerente questo linguaggio? In tal caso, ti invito a dare un’occhiata alla mia guida specifica su come programmare in C e, in seguito, di far riferimento alla guida tematica di HTML.it, ricca di tutorial ed esempi concreti di utilizzo.

Se, dopo aver preso dimestichezza con i fondamenti di C, desideri ampliare ulteriormente il tuo studio e iniziare a programmare autonomamente, ti consiglio di acquistare qualche manuale “cartaceo” che, di certo, potrà tornarti utile. Di seguito te ne indico alcuni.

The C Programming Language
Vedi offerta su Amazon
Il linguaggio C. Principi di programmazione e manuale di riferimento. ...
Vedi offerta su Amazon
Il linguaggio C. Fondamenti e tecniche di programmazione. Ediz. mylab....
Vedi offerta su Amazon

Come programmare in Java

Come programmare in Java

Se la tua scelta è ricaduta su Java, prima ancora di poter realizzare il tuo primo programma, devi installare il software Java Development Kit (JDK), concesso in licenza da Oracle, che contiene tutti gli strumenti necessari per programmare utilizzando il suddetto linguaggio.

Per ottenerlo, collegati al suo sito Web, individua il riquadro Java SE Development Kit XX e apponi il segno di spunta accanto alla voce Accept License Agreement, collocata subito sotto. In seguito, clicca sul link per scaricare la versione di JDK più adatta al tuo computer, preferibilmente nei formati exe (per Windows) o dmg (per macOS).

A download ultimato, se ti trovi su Windows, lancia il file scaricato e clicca in sequenza sui pulsanti Next per due volte consecutive e Close. Ora, procedi con la regolazione delle variabili d’ambiente del sistema, affinché il compilatore possa essere facilmente richiamato (senza la necessità di inserirne, ogni volta, il percorso completo): fai clic destro sull’icona Questo PC/Computer situata sul desktop (o nella barra laterale dell’Esplora File), seleziona la voce Proprietà dal menu contestuale che compare e clicca sulla voce Impostazioni di sistema avanzate, situata nella parte sinistra della finestra che si apre.

Successivamente, clicca sulla variabile Path situata nell’elenco delle Variabili di sistema, premi il pulsante Modifica, clicca successivamente sul bottone Nuovo situato nella nuova schermata e digita, all’interno della casella di testo preposta, il percorso dei file binari di JDK (presumibilmente C:\Program Files\Java\jdk13.0.2\bin\).

Fatto ciò, clicca più volte sul pulsante OK, per chiudere tutte le finestre attive e, se necessario, riavvia il computer, per rendere effettive le modifiche applicate.

Se, invece, utilizzi macOS, lancia il pacchetto .dmg ottenuto in precedenza, fai doppio clic sul file .pkg contenuto al suo interno e procedi con l’installazione cliccando sui pulsanti Continua Installa. Quando richiesto, inserisci la password del Mac e clicca su Chiudi per concludere il processo: in questo caso, i file binari vengono copiati direttamente nell’apposita cartella di sistema, pertanto la regolazione delle variabili d’ambiente non è richiesta.

Come programmare in Java

Una volta installato il software necessario, puoi procedere con la creazione del codice sorgente del programma: crea il file HelloWorld.java seguendo gli stessi passaggi visti in precedenza e, quando hai finito, scrivi il seguente codice al suo interno.

import javax.swing.*;
public class HelloWorld {
public static void main(String[] args) {
JFrame finestra = new JFrame("Il mio primo programma Java");
JOptionPane.showMessageDialog(finestra, "Ciao, mondo!");
System.exit(0);
}
}

Fatto ciò, salva il file sorgente e, dopo aver chiuso l’editor, compila ed esegui il programma mediante una delle procedure indicate qui sotto.

  • Windows – lancia il Prompt dei comandi richiamandolo dalla cartella Strumenti Windows annessa al menu Start, digita il comando cd %USERPROFILE%\Desktop, premi il tasto Invio e impartisci, in sequenza, i comandi javac HelloWorld.c e java HelloWorld, in modo da compilare ed eseguire il programma.
  • macOS – utilizzando il Terminale aperto in precedenza, impartisci il comando cd ~/Desktop per “spostarti” sulla scrivania del Mac e, per compilare ed eseguire il programma, segui le medesime istruzioni viste poc’anzi.

Per approfondimenti

Come programmare

Come avrai avuto modo di capire, quello appena realizzato è soltanto un piccolissimo esempio di ciò che Java è in grado di fare. Se ti interessa approfondire ulteriormente il discorso, dai pure un’occhiata alla mia guida su come imparare Java e, se lo ritieni opportuno, consulta il tutorial tematico disponibile su HTML.it, continuamente aggiornato e colmo di esempi pratici di programmazione.

Dopo aver assimilato i concetti fondamentali di Java, ti consiglio di prendere in considerazione l’acquisto di un manuale cartaceo, tramite il quale puoi imparare a utilizzare i costrutti più complessi di Java. Di seguito te ne propongo alcuni, acquistabili online.

Programmare con Java 9. Guida completa. Con Contenuto digitale per dow...
Vedi offerta su Amazon
Manuale di Java 9. Programmazione orientata agli oggetti con Java stan...
Vedi offerta su Amazon

Come programmare in Python

Come programmare in Python

Per realizzare un programma in Python è innanzitutto necessario disporre del suo ambiente di sviluppo, che contiene tutto il necessario per l’esecuzione del codice sorgente.

Per prima cosa, dunque, collegati al sito Internet del linguaggio, clicca sul link relativo alla versione più adatta al tuo sistema operativo (ad es. Python XXX installer per Windows Python XXX installer per Mac OS X), prediligendo i file in formato .exe o .pkg.

A download ultimato, avvia il file ottenuto e, se ti trovi su Windows, apponi il segno di spunta accanto alla casella Add Python XX to PATH, clicca sui pulsanti Install Now Sì e, a processo terminato, pigia sul pulsante Close, per uscire dal programma d’installazione.

Se, invece, ti avvali di macOS, premi sul pulsante Continua per tre volte consecutive, poi su Accetta Installa e, quando richiesto, inserisci la password di amministrazione del Mac nell’apposito campo. Per concludere, premi i bottoni Installa software Chiudi.

A setup ultimato, crea un nuovo file denominato helloworld.py avvalendoti delle istruzioni che ti ho fornito in precedenza e, dopo averlo aperto, scrivi il seguente codice al suo interno.

print("Ciao, mondo!")

Giacché Python è un linguaggio potente, dotato di un gran numero di “funzioni” di base, non è richiesta in questo caso l’importazione di librerie o altri componenti esterni: pertanto, non sorprenderti della semplicità di questo codice.

Come programmare in Python

Ad ogni modo, salva il file così ottenuto e, mediante il Prompt dei comandi di Windows o il Terminale di macOS, “spostati” sul desktop o sulla Scrivania del sistema operativo, mediante i comandi cd %USERPROFILE%\Desktop o cd ~/Desktop. Ricorda di premere il tasto Invio della tastiera, per confermare l’esecuzione del programma.

Giacché python non è un linguaggio compilato ma interpretato, questa volta non è necessario compilare il sorgente per renderlo eseguibile, ma è sufficiente “darlo in pasto” all’interprete: impartisci dunque il comando python HelloWorld.py e premi il tasto Invio, per veder eseguito il tuo piccolo programma.

Per approfondimenti

Come programmare in Python

Se ti interessa ottenere informazioni aggiuntive su questo linguaggio, ti consiglio di far riferimento alla guida specifica realizzata da HTML.it, nella quale sono presenti un gran numero di tutorial e di guide passo-passo centrate sulla realizzazione di software in python.

Dopo aver acquisito sufficiente consapevolezza dei costrutti di base del linguaggio, ti consiglio inoltre di considerare l’acquisto di qualche manuale cartaceo, in modo da espandere ulteriormente le tue conoscenze e di riuscire a realizzare, con successo, programmi ben più complessi. Di seguito te ne segnalo alcuni, disponibili online.

Salvatore Aranzulla

Autore

Salvatore Aranzulla

Salvatore Aranzulla è il blogger e divulgatore informatico più letto in Italia. Noto per aver scoperto delle vulnerabilità nei siti di Google e Microsoft. Collabora con riviste di informatica e cura la rubrica tecnologica del quotidiano Il Messaggero. È il fondatore di Aranzulla.it, uno dei trenta siti più visitati d'Italia, nel quale risponde con semplicità a migliaia di dubbi di tipo informatico. Ha pubblicato per Mondadori e Mondadori Informatica.