Menu
Coddy logo textTech

Cos'è il codice sorgente?

Il codice sorgente è il testo leggibile di un programma, scritto da un programmatore in un linguaggio come Python, Java o C e salvato in file di testo semplice, che un compilatore o un interprete trasforma in istruzioni che il computer può eseguire.

Di Kevin Spektor, Cofondatore e CTO

Aggiornato il 24 settembre 2026

Apri un qualsiasi file che termina con .py, .c o .java in un editor di testo semplice e stai leggendo codice sorgente. È lo stesso tipo di file di una lista della spesa: lettere, cifre, spazi e a capo. Quello che lo rende un programma è che il testo segue le regole di un linguaggio di programmazione, quindi uno strumento può trasformarlo in istruzioni per il processore.

Com'è fatto il codice sorgente

Ecco un programma Python completo. Ogni riga è codice sorgente, compreso il commento, che il computer ignora e che il prossimo programmatore legge.

Total: 12

Lo stesso programma in C è anch'esso codice sorgente, solo in un altro linguaggio con altre regole:

#include <stdio.h>

int main(void) {
    int price = 4;
    printf("Total: %d\n", price * 3);
    return 0;
}

Un'applicazione reale è fatta di migliaia di file come questi. Il kernel Linux ha più di 30 milioni di righe di codice sorgente, e una piccola web app può avere facilmente qualche centinaio di file. Ogni file ha un'estensione che indica agli strumenti quale linguaggio contiene:

EstensioneLinguaggio
.pyPython
.c, .hC
.cpp, .hppC++
.javaJava
.jsJavaScript
.goGo
.rsRust

Il codice sorgente è testo semplice

Il codice sorgente non ha font, colori né formattazione nascosta. I colori che vedi in un editor li aggiunge l'editor per facilitare la lettura; non vengono salvati nel file. Per questo scrivi codice in un editor di codice come VS Code e mai in Microsoft Word: un programma di videoscrittura salva dati di formattazione e virgolette "tipografiche", e il risultato è un file che il linguaggio non riesce a leggere, di solito rifiutato con un errore di sintassi.

Visto che è solo testo, un programma può perfino contenere il sorgente di un altro programma in una stringa ed eseguirlo:

<class 'str'>
3 lines of text
Total: 12

Fino all'ultima riga, source è una normale stringa. exec la passa a Python, che legge il testo e lo esegue. È tutta la vita del codice sorgente in miniatura: prima testo, poi istruzioni.

Come il codice sorgente diventa un programma in esecuzione

Il processore del tuo computer non sa leggere Python né C. Esegue solo codice macchina, cioè istruzioni binarie specifiche di un tipo di CPU (x86-64 nella maggior parte dei portatili e dei server, ARM nei telefoni e nei Mac con Apple Silicon). Qualcosa deve tradurre. Ci sono due modi principali:

  1. Un compilatore traduce tutto il programma in anticipo. Il comando gcc hello.c -o hello legge il sorgente C e scrive un nuovo file, hello, pieno di codice macchina. Dopo puoi cancellare hello.c e hello continua a funzionare.
  2. Un interprete esegue direttamente il sorgente. Il comando python3 hello.py avvia l'interprete Python, che legge hello.py ed esegue le sue istruzioni. Non viene prodotto un file di programma separato, quindi il sorgente deve esserci ogni volta.

Molti linguaggi combinano i due approcci. Il sorgente Java viene compilato da javac in bytecode (file .class), e la Java Virtual Machine esegue quel bytecode. Il confronto completo è nella pagina compilatore vs interprete.

Codice sorgente, codice oggetto e codice macchina

Questi tre termini descrivono lo stesso programma in fasi diverse:

TermineChi lo leggeEsempio
Codice sorgenteLe persone e i compilatoritotal = price * 3 in app.py
Codice oggettoIl linkerhello.o, prodotto da gcc -c hello.c
Codice macchina (eseguibile)La CPUhello su Linux o macOS, hello.exe su Windows

Se apri un eseguibile compilato in un editor di testo vedi simboli illeggibili, perché è binario, non testo. Su un Mac, i primi quattro byte del programma hello qui sopra sono cf fa ed fe in esadecimale, il marcatore di un eseguibile Mach-O. Puoi esaminare valori grezzi come questi con il convertitore di basi numeriche.

Open source e closed source

Chi può leggere il codice sorgente è una questione legale oltre che tecnica. Il software open source pubblica il proprio sorgente con una licenza che permette a chiunque di leggerlo, modificarlo e condividerlo. Python, Linux e Firefox sono open source. Il software closed source (proprietario) distribuisce solo il programma compilato. Microsoft Windows e Adobe Photoshop sono closed source, e il loro codice sorgente è un segreto industriale.

Il codice sorgente è anche protetto dal diritto d'autore, come un libro. Trovare del codice su internet non significa che tu possa riutilizzarlo: controlla il file della licenza, spesso chiamato LICENSE, prima di copiare qualsiasi cosa nel tuo progetto.

Falsi miti comuni

  • "Visualizza sorgente pagina mostra il codice sorgente di un sito." Mostra l'HTML, il CSS e il JavaScript che il tuo browser ha ricevuto. La parte server del sito (scritta in Python, Java, PHP o un altro linguaggio) non lascia mai il server, quindi non puoi vederla.
  • "Un decompilatore ti restituisce il sorgente originale." Un decompilatore ricostruisce codice leggibile a partire da un programma compilato, ma i commenti spariscono e i nomi spesso vanno persi, quindi il risultato è un'ipotesi sul sorgente, non il file che gli autori hanno scritto.
  • "Codice e codice sorgente significano la stessa cosa." Il codice sorgente è la versione scritta da persone. "Codice" è più ampio e comprende anche il codice macchina, il bytecode e il codice generato.
  • "Il codice sorgente deve essere in inglese." Parole chiave come if e print sono parole inglesi, ma i nomi delle variabili, i commenti e le stringhe possono essere in qualsiasi lingua. I file sorgente di Python 3 sono in UTF-8 per impostazione predefinita, quindi sia prix = 4 sia # 合計を計算する sono validi.

Cosa leggere dopo

Il codice sorgente viene controllato prima di essere eseguito, e la prima cosa che incontrano quasi tutti i principianti è l'errore di sintassi. Per vedere in cosa differiscono i due modi di eseguire il codice sorgente, leggi cos'è un compilatore e poi compilatore vs interprete. Puoi scrivere ed eseguire il tuo codice sorgente nel browser nel playground Python oppure iniziare il corso Python.

Domande frequenti

Qual è un esempio di codice sorgente?
Qualsiasi file che un programmatore scrive in un linguaggio di programmazione è codice sorgente: uno script Python come app.py, un file C come main.c o il JavaScript di una pagina web. Conta anche una sola riga come print("Hello") salvata in un file .py. Programmi come Firefox o Linux sono fatti di milioni di righe di codice sorgente.
Che differenza c'è tra codice e codice sorgente?
Il codice sorgente è la versione di un programma scritta da persone, in un linguaggio di programmazione. "Codice" è una parola più ampia che comprende anche ciò che gli strumenti producono a partire da esso, come il codice macchina, il bytecode o il codice generato automaticamente. Nel parlare quotidiano i programmatori dicono "codice" per intendere il codice sorgente, e il contesto chiarisce di cosa si parla.
Come ottengo il codice sorgente di un programma?
Per i tuoi progetti, il codice sorgente è l'insieme dei file che hai scritto, di solito conservati in un repository Git. Per il software open source, il sorgente è pubblicato, spesso su GitHub o GitLab. Per un programma closed source di norma non puoi ottenerlo: hai solo l'eseguibile compilato, e un decompilatore fornisce al massimo un'approssimazione senza i commenti e i nomi originali.
L'HTML è codice sorgente?
Sì. HTML è un linguaggio di markup e non un linguaggio di programmazione, ma i file .html che uno sviluppatore scrive sono il sorgente di una pagina web, e i browser chiamano la loro visualizzazione "Visualizza sorgente pagina". Lo stesso vale per i file CSS e per i file JavaScript che una pagina carica.
Cos'è la gestione del codice sorgente?
La gestione del codice sorgente, detta anche controllo di versione, è la pratica di registrare ogni modifica ai file sorgente di un progetto, così puoi vedere chi ha cambiato cosa, tornare a una versione precedente e unire il lavoro di più persone. Git è lo strumento più usato per farlo, e servizi come GitHub e GitLab ospitano repository Git online.
Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA