← Tutti gli episodi
Copertina di La cosa e la sua fotografia: risorse e rappresentazioni (e il JSON)
Stagione 43 · Episodio 007

La cosa e la sua fotografia: risorse e rappresentazioni (e il JSON)

6 settembre 2026 5:13
0:00 5:13

Ciao, e benvenuto nella settima puntata della quarantatreesima stagione. Nelle scorse puntate abbiamo visto le richieste e le risposte. Oggi ci soffermiamo su una sottigliezza nascosta nel nome stesso di REST, un'idea fine ma importante: quando chiedi una cosa a un'API, non ricevi la cosa, ma una sua fotografia. Si chiama rappresentazione, e capirla chiarisce molto. E lungo la strada incontreremo il formato in cui queste fotografie sono quasi sempre scritte: il JSON, la lingua franca delle API. Oggi vediamo la cosa e la sua fotografia.

Partiamo dalla distinzione fine, perché è il cuore della puntata. Quando chiedi all'API un certo utente, cosa ricevi esattamente? Verrebbe da dire: ricevo l'utente. Ma non è proprio così. L'utente, come concetto, è una cosa astratta che vive nel mondo del servizio. Tu non lo ricevi: ricevi una sua descrizione, un documento che racconta com'è quell'utente in questo preciso istante. La cosa, la risorsa, è il concetto: l'utente numero quarantadue. La fotografia, la rappresentazione, è la descrizione concreta che te ne viene consegnata. Scambi descrizioni delle cose, non le cose stesse.

Voglio farti apprezzare perché questa distinzione conti, perché all'inizio sembra un cavillo. Ha due conseguenze concrete. La prima: la stessa cosa può avere fotografie diverse. Lo stesso utente potrebbe essere descritto in formati diversi, a seconda di chi chiede e come; la cosa è una, le sue possibili rappresentazioni sono più d'una. La seconda, più importante: una fotografia è sempre un'istantanea, scattata in un momento. Se chiedi la stessa cosa più tardi, potresti ricevere una fotografia diversa, perché nel frattempo la cosa è cambiata. Non tieni in mano la cosa viva: tieni una descrizione di com'era quando l'hai chiesta. È un dettaglio che, una volta capito, ti evita fraintendimenti.

Voglio darti l'immagine che rende chiara questa idea, perché è perfetta. Pensa a una casa che vuoi comprare da lontano. Non posso spedirti la casa: è troppo grande, è fissa lì. Ma posso spedirti una fotografia e una descrizione della casa, com'è oggi. Tu, dalla fotografia, capisci tutto ciò che ti serve. E se me la chiedi di nuovo tra un mese, magari ti mando una foto aggiornata, perché nel frattempo hanno dipinto le pareti. La casa è la risorsa, la cosa vera; la fotografia è la rappresentazione, la descrizione che viaggia al posto suo. Scambiamo fotografie di case, non le case.

Voglio ora introdurre il formato di queste fotografie, perché è ovunque. In che lingua sono scritte queste descrizioni? Nella stragrande maggioranza dei casi, in un formato di testo chiamato JSON. Cos'è? Semplicemente un modo ordinato di scrivere informazioni strutturate come testo leggibile: etichette con i loro valori, il nome è tal dei tali, l'età è questa; elenchi di cose; e schede annidate una dentro l'altra. È testo semplice, che un essere umano può leggere a occhio, e che qualunque linguaggio di programmazione sa leggere e scrivere senza fatica. È diventato la lingua franca delle API proprio per questo: è semplice, leggibile, e universale.

Voglio farti apprezzare perché una lingua franca sia così preziosa, perché è un tema che torna. Il valore del JSON sta tutto nell'essere condiviso. Immagina il caos se ogni servizio descrivesse le sue cose in un formato tutto suo: chi le riceve dovrebbe imparare a decifrare mille dialetti diversi. Invece, con un unico formato comune, un programma scritto in un linguaggio, e uno scritto in un altro, e un'applicazione sul telefono, possono tutti capirsi, perché parlano tutti la stessa lingua per descrivere le cose. È come avere una lingua comune in una stanza piena di persone di paesi diversi: all'improvviso, tutti si intendono. Ricordi quando parlammo dei tanti linguaggi? Il JSON è il terreno neutro dove si incontrano.

Voglio trarre la lezione generale, perché va oltre REST. Ci sono due idee da portare a casa. La prima: i programmi si scambiano rappresentazioni, descrizioni concordate e istantanee, non le cose stesse. È un modo onesto di pensare: ciò che viaggia è sempre una descrizione di com'era qualcosa in un momento, non la cosa viva. La seconda: mettersi d'accordo su un unico formato semplice e condiviso per queste descrizioni è ciò che permette a mondi diversi di capirsi. Un linguaggio comune, per quanto umile, vale più di mille formati sofisticati e incompatibili. La compatibilità nasce dall'accordo, non dalla complessità.

Per oggi ci fermiamo qui. Ci siamo soffermati sulla sottigliezza nascosta nel nome di REST: quando chiedi una cosa, non ricevi la cosa, ma una sua rappresentazione, una fotografia. La risorsa è il concetto, l'utente numero quarantadue; la rappresentazione è la descrizione consegnata, sempre un'istantanea di un momento, che potrebbe cambiare se richiedi più tardi. Come una fotografia di una casa che non puoi spedire. E queste fotografie sono quasi sempre scritte in JSON, un formato di testo semplice e leggibile diventato la lingua franca delle API, il terreno neutro dove linguaggi diversi si capiscono. La lezione: si scambiano descrizioni, non cose, e un formato comune e condiviso è ciò che permette a mondi diversi di intendersi. Nella prossima puntata saliamo al mestiere: un'API è un prodotto. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.