La cassetta degli attrezzi di uno sviluppatore non contiene soltanto un editor. Servono strumenti per scrivere, eseguire, osservare gli errori e conservare la storia del lavoro. Nel video parto da questa domanda pratica: che cosa bisogna preparare per cominciare a sviluppare in modo ordinato?

La mia preferenza è Linux, che uso quotidianamente. Non è però un requisito universale per diventare programmatori: la scelta deve tenere conto del software da creare, della piattaforma di destinazione e degli strumenti necessari.

Il computer deve sostenere il lavoro reale

Nel video suggerisco una macchina reattiva e considero 16 GB di RAM una base comoda per il tipo di attività di cui parlo. È un'indicazione orientativa, non il requisito minimo per scrivere qualsiasi programma.

Un piccolo esercizio può richiedere molto meno; emulatori, macchine virtuali e progetti complessi possono richiedere di più. Anche il nome commerciale del processore, come «i5», non basta a descriverne prestazioni e generazione.

La GPU dedicata ha senso per carichi che la sfruttano, per esempio alcuni lavori con modelli locali. Utilizzare un servizio di IA remoto non richiede automaticamente un computer da gaming.

Compatibilità prima dell'installazione

Nel video accenno anche ai computer ARM. La precisazione fondamentale è che l'architettura non garantisce il supporto dell'intera macchina: grafica, porte, sospensione e altri componenti richiedono un lavoro specifico.

Il riferimento a un Apple M4 non deve diventare un consiglio di installazione immediata. La matrice ufficiale di Asahi Linux per M4 va controllata sul modello e sulle funzioni necessarie; non basta scaricare una distribuzione ARM generica.

Per lavorare sceglierei un ambiente già verificato, separando gli esperimenti sul sistema dalla postazione della quale dipendo ogni giorno.

Due approcci: costruire l'ambiente o scegliere un IDE

La prima strada è partire da un editor e aggiungere ciò che serve. Nel video cito, tra gli altri, Vim, Neovim, Emacs, Visual Studio Code e VSCodium. Anche editor più semplici possono essere sufficienti per alcuni compiti.

La seconda strada è utilizzare un ambiente di sviluppo integrato, o IDE, che riunisce diverse funzioni in un'interfaccia coordinata. Compilazione, esecuzione, navigazione del progetto e debugging possono diventare più immediati.

La distinzione non è assoluta: un editor estensibile può avvicinarsi molto a un IDE. E un IDE può richiedere comunque l'installazione di SDK, compilatori o strumenti della piattaforma.

Geany e il valore di uno strumento semplice

Nel video esprimo una particolare simpatia per Geany, che ho usato in diversi contesti. Mi piace poter scrivere e lanciare un programma senza costruire subito un ambiente molto pesante.

Il supporto a più linguaggi non significa che qualsiasi progetto sia pronto automaticamente. Bisogna comunque configurare i comandi e avere gli strumenti richiesti dal linguaggio scelto.

La domanda utile è quanta assistenza serva davvero: un progetto piccolo e un'applicazione molto articolata non impongono necessariamente la stessa scelta.

Visual Studio Code e VSCodium

Visual Studio Code compare nella selezione per il suo ecosistema di estensioni. Se interessa una distribuzione dei binari con telemetria disabilitata, nel video segnalo VSCodium.

Il progetto VSCodium descrive come costruisce i propri binari a partire dal codice pubblico di VS Code. Occorre distinguere il sorgente, la distribuzione Microsoft e le singole estensioni, che possono avere licenze e servizi diversi.

Sceglierei dopo aver verificato le estensioni necessarie, senza presumere che ogni integrazione proprietaria sia disponibile nello stesso modo in entrambi gli ambienti.

Compilatore, runtime e terminale

L'editor conserva il testo del programma; gli strumenti del linguaggio permettono di trasformarlo o eseguirlo. Nel video faccio esempi come GCC per C, javac per Java e gli strumenti di Go.

Non tutti i linguaggi seguono lo stesso percorso e non ogni compilazione produce subito un eseguibile nativo: Java, per esempio, usa normalmente bytecode eseguito dalla JVM.

Il terminale mi piace perché rende espliciti i comandi. Non appartiene soltanto a Linux e non è sempre necessario avviare ogni operazione manualmente, ma capire che cosa viene eseguito aiuta anche quando si preme il pulsante «Run» nell'IDE.

Debugger: osservare il programma mentre funziona

Il debugger permette di fermare l'esecuzione, osservare variabili e seguire passaggi del codice. È uno strumento per formulare e verificare ipotesi sui problemi, non soltanto per guardare righe scorrere.

Nel video sottolineo la comodità di averlo integrato nell'ambiente di lavoro. Il risultato utile è capire perché il programma si comporta in un certo modo, senza modificare il codice alla cieca.

Browser ed emulatori quando il progetto li richiede

Per il mio sito ho usato diversi browser e un ambiente di prova separato dal browser personale configurato secondo le mie abitudini. È un modo per osservare il comportamento dell'applicazione senza dare per scontato che tutti vedano ciò che vedo io.

Non ogni software finisce nel browser. Per lo sviluppo web servono gli strumenti appropriati; per Android può essere utile l'emulatore di Android Studio; in altri casi entrano in gioco macchine virtuali come quelle gestite con VirtualBox o QEMU e KVM.

Questi strumenti spiegano anche perché memoria e risorse disponibili vadano scelte sul carico reale.

Git per conservare la storia del progetto

Git permette di tenere traccia delle modifiche e organizzare il lavoro sul codice. GitHub e GitLab sono servizi e piattaforme che possono ospitare repository: non coincidono con Git e non sono indispensabili per usarlo localmente.

Un'interfaccia integrata nell'editor può essere comoda, ma capire commit, differenze e rami rimane utile indipendentemente dal programma scelto.

Da dove cominciare

Sceglierei il linguaggio, leggerei la documentazione ufficiale e preparerei un ambiente capace di eseguire un progetto minimo. Solo dopo aggiungerei estensioni e strumenti necessari al lavoro successivo.

Non serve provare ogni editor prima di scrivere la prima riga. Serve una configurazione comprensibile, mantenuta e abbastanza comune da trovare aiuto quando emerge un problema. La qualità del lavoro dipenderà poi da ciò che impariamo a costruire e verificare con quegli strumenti.