← Tutti gli episodi
Copertina di Descrivere l'aspetto, non disegnarlo: un linguaggio diverso
Stagione 29 · Episodio 001

Descrivere l'aspetto, non disegnarlo: un linguaggio diverso

3 settembre 2026 5:17
0:00 5:17

Ciao, e benvenuto nella prima puntata della ventinovesima stagione di questo podcast. Nelle ultime sei stagioni abbiamo esplorato sei linguaggi di programmazione, tutti dedicati alla logica, al dire a un computer come fare le cose passo dopo passo. Oggi cambiamo aria completamente, e affrontiamo qualcosa di diverso, che pure è un linguaggio, ma di natura del tutto opposta: il CSS, il linguaggio con cui si dà aspetto alle pagine web. In una stagione passata ne avevamo raccontato la storia; oggi ne esploriamo il modello, il modo di pensare. E partiamo dalla sua natura più profonda, che lo distingue da tutto ciò che abbiamo visto: descrivere l'aspetto, non disegnarlo.

Partiamo dal contrasto con i linguaggi che abbiamo appena raccontato, perché è illuminante. I linguaggi di programmazione, come quelli delle scorse stagioni, servono a comandare: dici al computer, passo dopo passo, cosa fare, in che ordine, con quale logica. Sono fatti per le istruzioni, per il come si fa. Il CSS è completamente diverso. Con il CSS non comandi passo dopo passo: descrivi come vuoi che le cose appaiano, e lasci al browser il compito di realizzarlo. Non dici disegna questo, poi quello, in quest'ordine; dici semplicemente questo elemento deve essere così, e il browser si occupa di come renderlo tale. È un modo di pensare radicalmente diverso.

Voglio darti il nome di questa differenza, perché riprende un concetto della stagione sui linguaggi. Ricordi la distinzione tra dire come fare le cose passo dopo passo, e dire semplicemente cosa vuoi ottenere, lasciando che sia la macchina a capire come? La prima è la via imperativa, quella dei comandi; la seconda è la via dichiarativa, quella delle descrizioni. Il CSS è profondamente dichiarativo: tu dichiari il risultato che desideri, l'aspetto che vuoi, e non ti preoccupi di come venga ottenuto. Descrivi lo stato finale, non i passi per arrivarci. È la differenza tra dare istruzioni dettagliate e semplicemente dire come dovrebbe essere il risultato.

Voglio darti un'immagine che rende questa differenza concreta, perché è il cuore di tutto. Immagina due modi di ottenere una stanza arredata. Nel primo, dai istruzioni passo passo a qualcuno: prendi la sedia, spostala di due metri, giratela, poi prendi il tavolo, mettilo lì. È il modo imperativo, di comando. Nel secondo, dici semplicemente: voglio una stanza accogliente, con i toni caldi, la sedia vicino alla finestra, e lasci che un arredatore capace realizzi la tua descrizione come meglio sa. È il modo dichiarativo. Il CSS è il secondo: tu descrivi l'aspetto che vuoi, e il browser, come un arredatore, si occupa di realizzarlo. Descrivi il cosa, non il come.

Voglio farti apprezzare perché questa natura dichiarativa sia potente e adatta al suo scopo, perché non è un dettaglio. Descrivere l'aspetto, invece di disegnarlo passo passo, ha un vantaggio enorme: il browser, avendo solo la tua descrizione e non istruzioni rigide, può realizzarla nel modo migliore in ogni situazione, adattandola. Se descrivi come vuoi che appaia qualcosa, il browser può renderlo bene su uno schermo grande e su uno piccolo, in contesti diversi, perché non è vincolato a passi fissi, ma solo a una descrizione da soddisfare. Questa libertà del browser di realizzare la tua descrizione come serve è ciò che permette al CSS di adattare un unico aspetto a mille situazioni diverse, come vedremo. La natura dichiarativa è la radice della sua flessibilità.

Voglio darti fin d'ora la lente con cui guardare il CSS in tutta la stagione. Il CSS è il linguaggio del descrivere l'aspetto, non del disegnarlo. Da questa natura dichiarativa discende tutto: il modo in cui separa lo stile dal contenuto, il modo in cui tante descrizioni si combinano in un risultato, il modo in cui un solo aspetto si adatta a infiniti schermi. Tieni a mente questa chiave, descrivere invece di disegnare, dichiarare invece di comandare, e capirai il senso di ogni cosa, comprese quelle che rendono il CSS potente e insieme, come vedremo con onestà, ingannevolmente difficile.

Voglio chiudere collocando il CSS rispetto al nostro viaggio, perché segna un cambio di prospettiva bello. Per sei stagioni abbiamo parlato di logica, di come si dice a un computer di ragionare e fare cose. Il CSS ci ricorda che il web non è solo logica: è anche aspetto, forma, bellezza, adattamento. E che descrivere come devono apparire le cose, per un mezzo infinitamente flessibile come il web, è un'arte e una tecnica tanto profonda quanto la logica dei programmi. Il CSS è un linguaggio diverso, per un tipo di pensiero diverso: non il pensiero del come far funzionare, ma il pensiero del come far apparire. Ed è un mondo affascinante.

Per oggi ci fermiamo qui. Dopo sei linguaggi di logica, affrontiamo il CSS, il linguaggio dell'aspetto delle pagine, di natura completamente diversa. Non è imperativo, di comando passo passo, ma dichiarativo: con il CSS descrivi come vuoi che le cose appaiano, e lasci al browser il compito di realizzarlo, come diresti a un arredatore l'atmosfera che vuoi invece di dettargli ogni mossa. Questa natura dichiarativa, il descrivere invece di disegnare, è la radice della sua flessibilità e la chiave per capirlo tutto. Ci ricorda che il web è anche aspetto e adattamento, non solo logica. Nella prossima puntata vediamo la sua idea fondante: separare l'abito dallo scheletro. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.