{"id":35570,"date":"2026-03-25T11:50:14","date_gmt":"2026-03-25T10:50:14","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=35570"},"modified":"2026-03-25T12:13:39","modified_gmt":"2026-03-25T11:13:39","slug":"il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/","title":{"rendered":"Il codice che non si scrive: CodeSpeak e la rivoluzione delle specifiche"},"content":{"rendered":"\n<p><em>Ci sono nomi che nel mondo della programmazione portano un peso specifico. Andrey Breslav \u00e8 uno di questi. Se oggi milioni di sviluppatori Android scrivono codice in Kotlin anzich\u00e9 in Java, \u00e8 in buona parte merito suo: Breslav \u00e8 il progettista principale del linguaggio che JetBrains lanci\u00f2 nel 2011 e che Google adott\u00f2 ufficialmente come linguaggio preferito per Android nel 2017, durante il Google I\/O che cambi\u00f2 l&#8217;ecosistema mobile per sempre. Non \u00e8 un accademico che teorizza da una cattedra: \u00e8 uno di quelli che hanno costruito strumenti usati ogni giorno da centinaia di migliaia di persone nel mondo reale, con tutti i compromessi, i bug di produzione e le pressioni che questo comporta.<\/em><\/p>\n\n\n\n<p>Questa premessa non \u00e8 un omaggio fine a se stesso. Serve a capire perch\u00e9 il suo nuovo progetto, <a href=\"https:\/\/codespeak.dev\/\">CodeSpeak<\/a>, meriti attenzione ben oltre i confini delle solite anteprime di linguaggi sperimentali che proliferano su GitHub. Quando Breslav dice di voler ripensare il modo in cui gli esseri umani interagiscono con il codice nell&#8217;era degli agenti AI, lo fa con il bagaglio di chi ha gi\u00e0 percorso una volta questa strada e sa dove si nascondono le trappole. Come ha raccontato a Gergely Orosz nel <a href=\"https:\/\/newsletter.pragmaticengineer.com\/p\/the-programming-language-after-kotlin\" target=\"_blank\" rel=\"noreferrer noopener\">podcast del Pragmatic Engineer<\/a>, la lezione pi\u00f9 profonda di Kotlin non riguarda la sintassi o il sistema di tipi, ma l&#8217;interoperabilit\u00e0: un linguaggio nuovo che non riesce a convivere pacificamente con ci\u00f2 che esiste gi\u00e0 \u00e8 destinato a restare un esperimento. \u00c8 un principio che ha trasferito direttamente in CodeSpeak.<\/p>\n\n\n\n<p>Il progetto \u00e8 in Alpha Preview, dettaglio che vale la pena tenere a mente lungo tutta la lettura, ed \u00e8 costruito attorno a un&#8217;idea che, detta in una riga, suona quasi provocatoria: <em>e se smettessimo di mantenere il codice e iniziassimo a mantenere le specifiche?<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-spec-non-codice-un-cambio-di-paradigma\">Spec, non codice: un cambio di paradigma<\/h2>\n\n\n\n<p>Per capire cosa propone CodeSpeak, bisogna prima fare un passo indietro e guardare il problema che cerca di risolvere. Chiunque abbia lavorato su un progetto software di media complessit\u00e0 conosce la sensazione: il codice cresce. Cresce quando si aggiungono funzionalit\u00e0, cresce quando si correggono bug, cresce quando arrivano nuovi sviluppatori che interpretano le specifiche in modo leggermente diverso da chi li ha preceduti. Con l&#8217;arrivo degli agenti AI che generano migliaia di righe in pochi secondi, questa crescita rischia di diventare incontrollabile. Non perch\u00e9 il codice generato sia necessariamente sbagliato, ma perch\u00e9 nessuno riesce pi\u00f9 a tenerlo in testa nella sua interezza.<\/p>\n\n\n\n<p>Il terreno su cui si innesta CodeSpeak non \u00e8 neutro. Nel febbraio 2025, Andrej Karpathy, co-fondatore di OpenAI ed ex direttore dell&#8217;AI di Tesla, coni\u00f2 l&#8217;espressione vibe coding per descrivere una pratica gi\u00e0 diffusissima: dare istruzioni in linguaggio naturale a un agente AI e accettare il codice generato senza leggerlo davvero, affidandosi all&#8217;istinto che &#8220;funzioni&#8221;. Il post originale su X raccolse milioni di visualizzazioni in pochi giorni, e l&#8217;etichetta entr\u00f2 persino nel dizionario <a href=\"https:\/\/www.merriam-webster.com\/slang\/vibe-coding\">Merriam-Webster<\/a> entro marzo dello stesso anno, velocit\u00e0 che la dice lunga su quanto il fenomeno fosse gi\u00e0 reale. CodeSpeak nasce esattamente come risposta strutturata a questa deriva: non nega che gli LLM possano scrivere codice utile, ma sostiene che lasciare gli agenti liberi di generare senza vincoli formali produca codebase che nessuno capisce pi\u00f9 davvero.<\/p>\n\n\n\n<p>CodeSpeak propone di spostare il fuoco: invece di scrivere e mantenere il codice di implementazione, il team mantiene dei file di <em>specifica<\/em>, documenti compatti, leggibili da un essere umano, scritti in un Markdown strutturato con una sintassi propria. \u00c8 il sistema, poi, a occuparsi di tradurre quelle specifiche in codice funzionante, usando un modello di linguaggio (attualmente Claude di Anthropic, il che spiega il requisito di una chiave API) come motore di generazione.<\/p>\n\n\n\n<p>L&#8217;analogia pi\u00f9 utile, per chi non scrive codice, \u00e8 quella con i disegni tecnici in architettura. Un architetto non costruisce l&#8217;edificio mattone per mattone: disegna le planimetrie, specifica i materiali, definisce le proporzioni e i carichi. Gli operai, o, in questo caso, l&#8217;LLM, si occupano dell&#8217;esecuzione concreta. Quando l&#8217;architetto vuole modificare la disposizione di una stanza, non demolisce e ricostruisce: aggiorna le planimetrie, e il cantiere si adegua. CodeSpeak funziona esattamente cos\u00ec: si modifica la specifica, si lancia <code>codespeak build<\/code>, e il codice viene aggiornato di conseguenza.<\/p>\n\n\n\n<p>Questo approccio si inserisce in un dibattito pi\u00f9 ampio che nel mondo dello sviluppo software va sotto vari nomi: <em>spec-driven development<\/em>, <em>intent-based programming<\/em>, o pi\u00f9 genericamente l&#8217;idea che il prossimo livello di astrazione non siano nuovi linguaggi di programmazione nel senso tradizionale, ma nuovi modi di comunicare l&#8217;intento agli agenti AI. La differenza rispetto al semplice &#8220;prompt engineering&#8221;, il dare istruzioni a un chatbot, \u00e8 che CodeSpeak introduce struttura, versionamento e testabilit\u00e0. Le specifiche vivono in un repository Git, si tracciano come qualsiasi altro artefatto di codice, e il loro effetto si misura attraverso le suite di test esistenti. Non \u00e8 vibe coding: \u00e8 ingegneria del software con un livello di astrazione pi\u00f9 alto.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"881\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/03\/codespeak1-1024x881.jpg\" alt=\"\" class=\"wp-image-35572\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/03\/codespeak1-1024x881.jpg 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/03\/codespeak1-300x258.jpg 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/03\/codespeak1-768x661.jpg 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/03\/codespeak1.jpg 1500w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><br><br><a href=\"https:\/\/codespeak.dev\/\">Immagine tratta da codespeak.dev<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-come-funziona-dalla-cli-al-takeover\">Come funziona: dalla CLI al takeover<\/h2>\n\n\n\n<p>Tecnicamente, CodeSpeak si installa con un singolo comando da terminale, <code>uv tool install codespeak-cli<\/code>, e richiede una chiave API Anthropic che l&#8217;utente porta con s\u00e9 (il modello \u00e8 BYOK, <em>Bring Your Own Key<\/em>). Da l\u00ec, il flusso di lavoro si articola in tre modalit\u00e0 principali, pensate per scenari diversi.<\/p>\n\n\n\n<p>La modalit\u00e0 pi\u00f9 semplice \u00e8 quella da zero (<em>greenfield<\/em>): si inizializza un progetto CodeSpeak, si scrivono le specifiche in file Markdown con estensione <code>.cs.md<\/code>, si lancia <code>codespeak build<\/code> e il sistema genera il codice Python corrispondente, esegue i test, e segnala se tutto funziona. Una specifica per un&#8217;applicazione CLI per gestire note potrebbe occupare letteralmente dieci righe di testo leggibile, e produrre un&#8217;applicazione funzionante completa di comandi, gestione dell&#8217;archiviazione e interfaccia da terminale.<\/p>\n\n\n\n<p>La modalit\u00e0 pi\u00f9 interessante, e quella che ha pi\u00f9 implicazioni pratiche per chi lavora su progetti esistenti, \u00e8 la <em>mixed mode<\/em>. CodeSpeak non chiede di buttare via il codice che gi\u00e0 esiste: pu\u00f2 convivere con esso. Si inizializza con <code>codespeak init --mixed<\/code>, e da quel momento il progetto diventa ibrido: alcune parti restano scritte a mano dagli sviluppatori, altre sono gestite dalle specifiche. L&#8217;LLM &#8220;vede&#8221; entrambe le parti durante la generazione, e pu\u00f2 usare il codice manuale come contesto per implementare correttamente le specifiche. \u00c8 un compromesso pragmatico che ricorda, non a caso, la scelta di Kotlin di garantire interoperabilit\u00e0 completa con Java fin dal primo giorno.<\/p>\n\n\n\n<p>Il terzo scenario, introdotto di recente con il comando <code>codespeak takeover<\/code>, \u00e8 forse il pi\u00f9 suggestivo: dato un file di codice esistente, anche legacy, anche scritto anni fa da qualcun altro, CodeSpeak legge il sorgente e ne estrae automaticamente una specifica compatta. Da quel momento, per modificare quel componente non si tocca pi\u00f9 il codice Python (o qualsiasi altro linguaggio): si modifica la specifica, e si rilancia il build. Nel <a href=\"https:\/\/codespeak.dev\/blog\/codespeak-takeover-20260223\">post ufficiale del blog<\/a> che illustra questa funzionalit\u00e0, il team ha usato come cavia il progetto open source <em>MarkItDown<\/em> di Microsoft, un convertitore di documenti in Markdown, prendendo il file responsabile della conversione dei file <code>.msg<\/code> di Outlook, estraendone una specifica di poche decine di righe, e poi usando quella specifica per correggere un bug reale segnalato su GitHub. Il tutto senza toccare una sola riga di Python. La modifica alla specifica, aggiungere il supporto per i campi Cc, Bcc, Data e allegati mancanti, era di 23 righe; il codice generato che ne \u00e8 risultato era di 221 righe. Un rapporto di circa 10 a 1.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-modularita-quando-le-specifiche-diventano-un-sistema\">Modularit\u00e0: quando le specifiche diventano un sistema<\/h2>\n\n\n\n<p>Un linguaggio che funziona solo per progetti piccoli \u00e8 un esperimento da laboratorio. Per diventare uno strumento professionale, deve scalare. Ed \u00e8 qui che entrano in gioco le feature di modularit\u00e0 che il team ha rilasciato il 9 marzo 2026 con la versione 0.3.4: le <a href=\"https:\/\/codespeak.dev\/blog\/modularity-20260309\"><em>spec dependencies<\/em><\/a> e i <em>managed files<\/em>.<\/p>\n\n\n\n<p>L&#8217;idea delle spec dependencies \u00e8 analoga a quella dei moduli nel codice tradizionale: una specifica pu\u00f2 dichiarare di dipendere da un&#8217;altra attraverso una semplice direttiva nel frontmatter del file Markdown. Se la specifica dell&#8217;interfaccia a riga di comando di un&#8217;applicazione dipende dalla specifica dello strato di archiviazione dei dati, CodeSpeak costruisce prima lo strato di archiviazione, poi l&#8217;interfaccia, garantendo che il secondo possa usare correttamente ci\u00f2 che il primo fornisce. E se si modifica solo la specifica dello storage (cambiando, per esempio, il backend da JSON a SQLite con una sola riga di testo), CodeSpeak ricostruisce solo quella parte, senza toccare il resto.<\/p>\n\n\n\n<p>I <em>managed files<\/em> sono invece un meccanismo di governance: ogni specifica &#8220;conosce&#8221; quali file di codice sono sotto la sua responsabilit\u00e0. Quando durante un build CodeSpeak ha bisogno di modificare un file che non appartiene alla specifica corrente, per esempio, il file di configurazione delle dipendenze del progetto, lo fa, ma avvisa esplicitamente lo sviluppatore. L&#8217;intera logica ricorda la distinzione tra propriet\u00e0 e accesso nei sistemi di controllo degli accessi: ciascuna specifica ha il suo dominio, e le invasioni di campo vengono segnalate, non silenziosamente tollerate. Per team che lavorano su basi di codice grandi e complesse, \u00e8 una garanzia non banale contro gli effetti collaterali indesiderati delle modifiche.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-i-numeri-quanto-si-riduce-davvero-il-codice\">I numeri: quanto si riduce davvero il codice?<\/h2>\n\n\n\n<p>I case study pubblicati sul sito ufficiale sono l&#8217;elemento pi\u00f9 concreto e verificabile dell&#8217;intera proposta. Il team ha preso quattro progetti open source reali, non toy examples costruiti ad hoc, e ha generato le specifiche corrispondenti per porzioni significative del loro codice, misurando la riduzione in termini di righe.<\/p>\n\n\n\n<p>Per <a href=\"https:\/\/codespeak.dev\/shrink-factor\/yt-dlp-webvtt\">yt-dlp<\/a>, il celebre downloader di video, il componente per la gestione dei sottotitoli WebVTT \u00e8 passato da 255 righe di codice a 38 righe di specifica, con un fattore di riduzione di 6,7 volte. Per <a href=\"https:\/\/codespeak.dev\/shrink-factor\/faker-ssn-italy\">Faker<\/a>, la libreria Python per generare dati fittizi, il generatore di codici fiscali italiani \u00e8 sceso da 165 a 21 righe (7,9 volte). Per <a href=\"https:\/\/codespeak.dev\/shrink-factor\/beautifulsoup4-dammit\">BeautifulSoup4<\/a>, la libreria per il parsing HTML, il modulo di rilevamento automatico della codifica \u00e8 il caso pi\u00f9 imponente: 826 righe di codice ridotte a 141 di specifica, fattore 5,9. E per MarkItDown, il convertitore di Microsoft gi\u00e0 citato, il modulo EML \u00e8 passato da 139 a 14 righe, con un fattore di 9,9, quasi 10 volte.<\/p>\n\n\n\n<p>Il dato che colpisce pi\u00f9 dei numeri assoluti, per\u00f2, \u00e8 quello relativo ai test. In tutti e quattro i casi, la suite di test non solo ha continuato a passare dopo la rigenerazione del codice, ma ha visto <em>aumentare<\/em> il numero di test che superano con successo: 37 test aggiunti per yt-dlp, 13 per Faker, 25 per BeautifulSoup4, 27 per MarkItDown. La riduzione del codice non \u00e8 cosmesi, non si tratta di comprimere il sorgente eliminando commenti e spazi vuoti, ma di eliminare la ridondanza concettuale lasciando che l&#8217;LLM si occupi dei dettagli implementativi che sono, come li chiama Breslav, &#8220;ovvi per le macchine&#8221;. Quel che resta nella specifica \u00e8 solo ci\u00f2 che \u00e8 specifico del dominio: le regole di business, le scelte architetturali, i casi limite.<\/p>\n\n\n\n<p>Detto questo, \u00e8 onesto segnalare un limite metodologico: questi test sono stati condotti dal team stesso di CodeSpeak su porzioni selezionate di progetti open source. Non si tratta di benchmark indipendenti su basi di codice arbitrarie. La domanda su come si comporti il sistema su codice particolarmente intricato, con dipendenze circolari o logica distribuita tra molti file, resta per ora senza una risposta documentata.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"733\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/03\/codespeak3-1024x733.jpg\" alt=\"\" class=\"wp-image-35579\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/03\/codespeak3-1024x733.jpg 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/03\/codespeak3-300x215.jpg 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/03\/codespeak3-768x549.jpg 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/03\/codespeak3-180x128.jpg 180w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/03\/codespeak3.jpg 1500w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><br><a href=\"https:\/\/codespeak.dev\/blog\/codespeak-takeover-20260223\">Immagine tratta da codespeak.dev<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-piu-umani-o-meno-umani\">Pi\u00f9 umani o meno umani?<\/h2>\n\n\n\n<p>C&#8217;\u00e8 una tentazione ricorrente, quando si parla di strumenti AI per lo sviluppo software, di cadere in una delle due trappole simmetriche: o il trionfalismo (&#8220;l&#8217;AI far\u00e0 tutto, i programmatori sono obsoleti&#8221;) o il negazionismo (&#8220;\u00e8 solo un autocomplete glorificato, niente di nuovo sotto il sole&#8221;). CodeSpeak non si presta bene a nessuna delle due narrazioni, e questo \u00e8 probabilmente il suo tratto pi\u00f9 interessante.<\/p>\n\n\n\n<p>Per capire come si colloca rispetto agli strumenti gi\u00e0 esistenti, vale la pena fare un confronto diretto. GitHub Copilot e i suoi analoghi, Cursor, Junie di JetBrains, e la galassia di assistenti integrati negli IDE, operano sul codice come artefatto primario: suggeriscono righe, completano funzioni, a volte generano blocchi interi. Sono strumenti straordinariamente utili, ma il loro modello concettuale non cambia: lo sviluppatore scrive codice, l&#8217;AI aiuta a scrivere codice pi\u00f9 velocemente. Gli agenti AI pi\u00f9 recenti, come Claude Code o le pipeline &#8220;LLM + tools&#8221; che stanno proliferando, fanno un passo ulteriore: possono navigare file, eseguire comandi, aprire pull request. Ma anche in questo caso, l&#8217;artefatto che producono e modificano \u00e8 il codice, e il codice generato da agenti autonomi che si auto-modificano \u00e8, come Breslav ha sottolineato esplicitamente nel <a href=\"https:\/\/newsletter.pragmaticengineer.com\/p\/the-programming-language-after-kotlin\">podcast con il Pragmatic Engineer<\/a>, una fonte di opacit\u00e0 crescente. Chi controlla cosa, quando qualcosa smette di funzionare?<\/p>\n\n\n\n<p>CodeSpeak risponde a questa domanda con una scelta radicale: togliere il codice generato dal centro dell&#8217;attenzione umana e metterci al suo posto le specifiche. L&#8217;LLM non \u00e8 un assistente che suggerisce, \u00e8 un compilatore che esegue. La differenza non \u00e8 solo semantica: cambia profondamente il contratto tra sviluppatore e macchina. Lo sviluppatore non revisiona il codice generato riga per riga (attivit\u00e0 che, su output di centinaia di righe prodotte in secondi, \u00e8 nella pratica spesso illusoria); revisiona la specifica, che \u00e8 compatta, leggibile, e versionata in Git come qualsiasi altro documento. Il codice generato \u00e8, in questa visione, un artefatto intermedio, simile al bytecode Java o all&#8217;assembly prodotto da un compilatore C: qualcosa che in linea di principio si pu\u00f2 ispezionare, ma che nella pratica quotidiana non \u00e8 il punto dove si concentra il pensiero.<\/p>\n\n\n\n<p>Questo ha implicazioni concrete sul workflow dei team. In un progetto CodeSpeak maturo, i product manager e i tech lead ragionano in termini di specifiche eseguibili, documenti che descrivono <em>cosa<\/em> il sistema deve fare, non <em>come<\/em> lo fa. I developer curano la qualit\u00e0 di queste specifiche e dei test associati pi\u00f9 che il dettaglio di ogni singola funzione. Le code review si spostano: invece di commentare su nomi di variabili e scelte implementative, si discute se la specifica cattura correttamente il comportamento atteso. \u00c8 un salto concettuale non banale, simile, per usare un paragone dal mondo del design, al passaggio dal disegno a mano libera ai sistemi di design parametrico: non si disegna pi\u00f9 ogni elemento, si definiscono le regole che lo generano.<\/p>\n\n\n\n<p>C&#8217;\u00e8 per\u00f2 una questione che i sostenitori pi\u00f9 entusiasti tendono a glissare: la specifica \u00e8 davvero pi\u00f9 leggibile e comprensibile del codice? Per funzioni semplici e ben delimitate, la risposta \u00e8 quasi certamente s\u00ec. Ma per logiche complesse, con dipendenze sottili tra componenti e comportamenti che emergono dall&#8217;interazione di molte parti, la specifica rischia di diventare essa stessa un documento denso e difficile da mantenere. Si sposta il problema pi\u00f9 che risolverlo, e il rischio \u00e8 che la complessit\u00e0, rimossa dal codice, si reinstalli nella specifica in forme meno strutturate e quindi pi\u00f9 difficili da ragionare. \u00c8 la stessa critica che si \u00e8 rivolta ai sistemi di <em>low-code<\/em> e <em>no-code<\/em> nel corso dell&#8217;ultimo decennio: l&#8217;astrazione non elimina la complessit\u00e0, la nasconde, e quando riemerge, lo fa in posti dove gli strumenti per gestirla sono pi\u00f9 scarsi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-lock-in-rischi-e-domande-aperte\">Lock-in, rischi e domande aperte<\/h2>\n\n\n\n<p>Essere onesti su un progetto in Alpha Preview significa anche fare i conti con ci\u00f2 che non funziona ancora, o che potrebbe non funzionare mai nel modo sperato. CodeSpeak solleva una serie di questioni legittime che vale la pena affrontare senza sconti.<\/p>\n\n\n\n<p>Il primo rischio \u00e8 quello del lock-in tecnologico. Adottare CodeSpeak significa affidarsi a un linguaggio proprietario, a una toolchain specifica, e a un fornitore di LLM (attualmente Anthropic) per la generazione del codice. Se domani il progetto cambia direzione, l&#8217;azienda che lo sviluppa chiude, o il modello di pricing dell&#8217;API di Anthropic diventa insostenibile, cosa succede al codice generato? Tecnicamente, il codice Python (o qualsiasi altro linguaggio target) continua a esistere ed \u00e8 leggibile, non si perde il prodotto del lavoro. Ma si perde la capacit\u00e0 di mantenerlo attraverso le specifiche, il che significa tornare al punto di partenza, con in pi\u00f9 la difficolt\u00e0 di lavorare su codice che non \u00e8 stato scritto a mano e che potrebbe avere strutture non ovvie.<\/p>\n\n\n\n<p>Il secondo rischio riguarda l&#8217;ambiguit\u00e0 delle specifiche. Un compilatore tradizionale \u00e8 deterministico: dato lo stesso codice sorgente, produce sempre lo stesso output. Un LLM non lo \u00e8. Due build successive della stessa specifica possono produrre codice funzionalmente equivalente ma strutturalmente diverso, il che complica il debug, il versionamento e la comprensione di cosa sia cambiato e perch\u00e9. Il team di CodeSpeak ha introdotto i test come meccanismo di stabilizzazione (se i test passano, il codice \u00e8 corretto per definizione), ma questo richiede una suite di test sufficientemente completa e ben progettata. In progetti dove i test sono scarsi o mal scritti, e sono molti pi\u00f9 di quanto si ammetta, il sistema perde uno dei suoi principali salvagenti.<\/p>\n\n\n\n<p>Il terzo rischio \u00e8 quello del debug opaco. Quando il codice generato non si comporta come la specifica descrive, dove si cerca il problema? Nella specifica (ambigua), nel modello (che ha interpretato male), nella versione dell&#8217;API (cambiata silenziosamente), nel contesto del progetto (che l&#8217;LLM ha letto in modo parziale)? La catena causale si allunga, e con essa il tempo necessario per isolare e correggere l&#8217;errore. Il team segnala questo come uno dei fronti di miglioramento prioritari nella roadmap, ma per ora \u00e8 un limite reale che chiunque voglia usare CodeSpeak in produzione deve mettere nel conto.<\/p>\n\n\n\n<p>C&#8217;\u00e8 infine la questione della portabilit\u00e0. CodeSpeak supporta oggi Python, e solo Python. L&#8217;estensione ad altri linguaggi \u00e8 nella roadmap, ma non ha ancora una data. Per la grande maggioranza dei progetti enterprise, che usano Java, TypeScript, Go, o stack poliglotti, questa \u00e8 una barriera d&#8217;ingresso significativa.<\/p>\n\n\n\n<p>Detto questo, sarebbe ingiusto usare questi limiti per liquidare il progetto. Sono i limiti normali di un&#8217;Alpha, non difetti strutturali dell&#8217;idea. La domanda pi\u00f9 interessante non \u00e8 &#8220;funziona perfettamente adesso?&#8221;, la risposta \u00e8 ovviamente no, ma &#8220;l&#8217;idea regge sotto pressione?&#8221;. E qui la risposta \u00e8 meno scontata, e pi\u00f9 interessante.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-roadmap-e-prospettive\">Roadmap e prospettive<\/h2>\n\n\n\n<p>La <a href=\"https:\/\/codespeak.dev\/blog\">roadmap pubblica<\/a> che emerge dai post del blog \u00e8 abbastanza chiara nelle sue priorit\u00e0. Il tema della modularit\u00e0, introdotto con le spec dependencies e i managed files a marzo 2026, \u00e8 il cantiere principale: rendere le specifiche componibili e riutilizzabili \u00e8 il prerequisito per scalare a progetti di dimensioni reali. Il <code>codespeak takeover<\/code> \u00e8 in fase di affinamento: l&#8217;obiettivo dichiarato \u00e8 garantire che la specifica estratta da codice esistente sia sufficientemente completa da poter rigenerare un&#8217;implementazione equivalente da zero, passando tutti i test originali. Non ci sono ancora annunci su supporto a linguaggi oltre Python, n\u00e9 su integrazioni con sistemi di CI\/CD.<\/p>\n\n\n\n<p>La domanda strategica di fondo \u00e8 se CodeSpeak possa aspirare a diventare uno standard de facto per quello che qualcuno chiama gi\u00e0 &#8220;AI-native programming&#8221;, la progettazione di linguaggi e strumenti pensati fin dall&#8217;inizio per un mondo in cui parte dell&#8217;esecuzione \u00e8 delegata a modelli di linguaggio, oppure se rester\u00e0 uno strumento di nicchia, adottato da team con altissima disciplina di testing e casi d&#8217;uso ben delimitati. La risposta dipender\u00e0 in parte dalla qualit\u00e0 dell&#8217;esecuzione, in parte dall&#8217;evoluzione dei modelli sottostanti, e in parte da fattori di ecosistema che oggi sono difficili da prevedere.<\/p>\n\n\n\n<p>Breslav ha una posizione chiara sul contesto pi\u00f9 ampio. Nel dialogo con il Pragmatic Engineer ha affermato che il 2026 sar\u00e0 l&#8217;anno della rinascita degli ambienti di sviluppo integrati rispetto agli strumenti da terminale, non per nostalgia, ma perch\u00e9 gli agenti AI lavorano meglio dentro ambienti strutturati che offrono contesto ricco. \u00c8 una previsione che si allinea perfettamente con la filosofia di CodeSpeak: non il prompt libero nel vuoto, ma l&#8217;intenzione umana incanalata in strutture che la macchina pu\u00f2 interpretare in modo affidabile.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-il-mestiere-che-cambia\">Il mestiere che cambia<\/h2>\n\n\n\n<p>C&#8217;\u00e8 una domanda che aleggia su tutto questo, e che va oltre le considerazioni tecniche: cosa succede al lavoro degli sviluppatori in un mondo dove uno strumento come CodeSpeak funziona bene?<\/p>\n\n\n\n<p>La risposta superficiale, e la pi\u00f9 comune sui social media, \u00e8 che i programmatori diventano obsoleti. Breslav la respinge esplicitamente, con una frase che vale la pena citare nella sua interezza: <em>&#8220;In futuro, saranno ancora gli ingegneri a costruire sistemi complessi. Tenetelo a mente: non \u00e8 che spariremo tutti nel nulla.&#8221;<\/em> Non \u00e8 ottimismo di facciata: \u00e8 la stessa logica che ha guidato ogni salto di astrazione nella storia dell&#8217;informatica. L&#8217;assembler non ha eliminato i programmatori; il C non ha eliminato i programmatori; i linguaggi di alto livello non hanno eliminato i programmatori. Hanno cambiato cosa fanno, spostando il baricentro del lavoro dalla gestione dei dettagli meccanici alla modellazione concettuale del problema.<\/p>\n\n\n\n<p>CodeSpeak, se mantiene le sue promesse, sposta ulteriormente questo baricentro. Meno tempo a scrivere codice boilerplate, pi\u00f9 tempo a ragionare su cosa il sistema deve fare, a progettare i test che ne verificano il comportamento, a scrivere specifiche che siano precise senza essere rigide. \u00c8 un lavoro pi\u00f9 vicino a quello di un architetto software che a quello di un artigiano del codice, e storicamente, questo tipo di transizione ha creato pi\u00f9 valore di quanto ne abbia distrutto, anche se ha ridistribuito ruoli e competenze in modo non indolore.<\/p>\n\n\n\n<p>Il rischio reale non \u00e8 la scomparsa del programmatore: \u00e8 la concentrazione delle opportunit\u00e0. Se mantenere un sistema complesso richiede solo un decimo delle righe di codice, forse richiede anche meno sviluppatori per mantenerlo. L&#8217;efficienza guadagnata dai team pi\u00f9 disciplinati potrebbe tradursi in pressioni sul dimensionamento degli organici, almeno nel breve periodo. \u00c8 il classico paradosso della produttivit\u00e0 tecnologica: crea ricchezza nell&#8217;aggregato, ma la distribuisce in modo asimmetrico nel transitorio.<\/p>\n\n\n\n<p>Per i developer pi\u00f9 giovani c&#8217;\u00e8 poi una questione di apprendimento. Imparare a programmare scrivendo codice, con tutti gli errori, i debugger aperti alle tre di notte, la lenta comprensione di come funziona davvero la memoria o il networking, \u00e8 un percorso formativo che ha una logica propria. Un mondo in cui il codice viene generato da specifiche rischia di oscurare questi strati di comprensione. Non \u00e8 un problema insolubile, anche i medici imparano anatomia anche se non eseguono pi\u00f9 interventi a mano nuda, ma \u00e8 una questione che il settore dovr\u00e0 affrontare consapevolmente, non lasciare che si risolva da sola.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-una-lingua-per-umani-e-macchine\">Una lingua per umani e macchine<\/h2>\n\n\n\n<p>Tornando dove avevamo cominciato, al profilo di Breslav e alle lezioni di Kotlin, c&#8217;\u00e8 un filo rosso che attraversa tutta la storia di CodeSpeak e che vale la pena rendere esplicito. Kotlin nacque, tra le altre cose, dalla constatazione che Java stagnava: il linguaggio non evolveva alla velocit\u00e0 richiesta dagli sviluppatori, e il mercato era pronto per qualcosa di meglio. CodeSpeak nasce da una constatazione analoga, ma ribaltata: i linguaggi esistenti evolvono troppo lentamente rispetto alla velocit\u00e0 con cui gli agenti AI stanno cambiando il modo in cui il codice viene prodotto. Non si tratta di un linguaggio pi\u00f9 ergonomico per gli umani, si tratta del primo linguaggio progettato esplicitamente per un sistema in cui umani e LLM collaborano, ciascuno facendo la parte per cui \u00e8 pi\u00f9 adatto.<\/p>\n\n\n\n<p>Se questa scommessa paga, CodeSpeak potrebbe rappresentare qualcosa di pi\u00f9 di uno strumento utile: potrebbe essere il primo esempio di una nuova categoria, quella dei linguaggi &#8220;AI-native&#8221;, progettati fin dall&#8217;inizio per un mondo in cui la generazione automatica di codice non \u00e8 un&#8217;eccezione ma la norma. Se non paga, per limiti tecnici, di adozione, o perch\u00e9 l&#8217;evoluzione dei modelli stessi render\u00e0 obsoleto l&#8217;approccio, rester\u00e0 comunque un esperimento prezioso, che avr\u00e0 chiarito quali sono le domande giuste da porre.<\/p>\n\n\n\n<p>Breslav chiude la sua intervista con un invito che suona pi\u00f9 come una sfida: <em>&#8220;Non bisogna credere ciecamente a tutto ci\u00f2 che si legge su Twitter: alcune persone affermano cose assurde. Tuttavia, se usati correttamente, questi strumenti possono essere molto produttivi e vale assolutamente la pena investirci.&#8221;<\/em> \u00c8 il tono di chi ha gi\u00e0 attraversato un ciclo di hype, quello di Kotlin, e sa che tra l&#8217;entusiasmo iniziale e l&#8217;utilit\u00e0 duratura c&#8217;\u00e8 sempre un tratto di strada difficile da percorrere. CodeSpeak \u00e8 all&#8217;inizio di quel tratto. Vale la pena seguirlo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ci sono nomi che nel mondo della programmazione portano un peso specifico. Andrey Breslav \u00e8 uno di questi. Se oggi milioni di sviluppatori Android scrivono codice in Kotlin anzich\u00e9 in Java, \u00e8 in buona parte merito suo: Breslav \u00e8 il progettista principale del linguaggio che JetBrains lanci\u00f2 nel 2011 e che Google adott\u00f2 ufficialmente come&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/\">Read more<\/a><\/p>\n","protected":false},"author":336,"featured_media":27684,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10230],"tags":[13920,13918],"collections":[],"class_list":{"0":"post-35570","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-linguaggi-programmazione","8":"tag-breslav","9":"tag-codespeak","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Il codice che non si scrive: CodeSpeak<\/title>\n<meta name=\"description\" content=\"CodeSpeak potrebbe rappresentare qualcosa di pi\u00f9 di uno strumento utile: potrebbe essere il primo esempio di una nuova categoria, quella dei linguaggi &quot;AI-native&quot;.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Il codice che non si scrive: CodeSpeak e la rivoluzione delle specifiche\" \/>\n<meta property=\"og:description\" content=\"CodeSpeak potrebbe rappresentare qualcosa di pi\u00f9 di uno strumento utile: potrebbe essere il primo esempio di una nuova categoria, quella dei linguaggi &quot;AI-native&quot;.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-25T10:50:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-25T11:13:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1792\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Dario Ferrero\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dario Ferrero\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/\"},\"author\":{\"name\":\"Dario Ferrero\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/d3aecf71fcce8c6de1ae67518f3f1de1\"},\"headline\":\"Il codice che non si scrive: CodeSpeak e la rivoluzione delle specifiche\",\"datePublished\":\"2026-03-25T10:50:14+00:00\",\"dateModified\":\"2026-03-25T11:13:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/\"},\"wordCount\":3822,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp\",\"keywords\":[\"Breslav\",\"codespeak\"],\"articleSection\":[\"Linguaggi di programmazione\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/\",\"name\":\"Il codice che non si scrive: CodeSpeak\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp\",\"datePublished\":\"2026-03-25T10:50:14+00:00\",\"dateModified\":\"2026-03-25T11:13:39+00:00\",\"description\":\"CodeSpeak potrebbe rappresentare qualcosa di pi\u00f9 di uno strumento utile: potrebbe essere il primo esempio di una nuova categoria, quella dei linguaggi \\\"AI-native\\\".\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp\",\"width\":1792,\"height\":1024,\"caption\":\"GPT-4o, whats new in it for developers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linguaggi di programmazione\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/linguaggi-programmazione\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Il codice che non si scrive: CodeSpeak e la rivoluzione delle specifiche\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Codemotion.Italy\\\/\",\"https:\\\/\\\/x.com\\\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/d3aecf71fcce8c6de1ae67518f3f1de1\",\"name\":\"Dario Ferrero\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/860e20df873940f3a6bb7f64e995c70b9fd9d18f64e3233dd779168cc6a75dca?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/860e20df873940f3a6bb7f64e995c70b9fd9d18f64e3233dd779168cc6a75dca?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/860e20df873940f3a6bb7f64e995c70b9fd9d18f64e3233dd779168cc6a75dca?s=96&d=mm&r=g\",\"caption\":\"Dario Ferrero\"},\"sameAs\":[\"https:\\\/\\\/www.verbanianotizie.it\\\/\"],\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/author\\\/dario-ferrero\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Il codice che non si scrive: CodeSpeak","description":"CodeSpeak potrebbe rappresentare qualcosa di pi\u00f9 di uno strumento utile: potrebbe essere il primo esempio di una nuova categoria, quella dei linguaggi \"AI-native\".","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/","og_locale":"en_US","og_type":"article","og_title":"Il codice che non si scrive: CodeSpeak e la rivoluzione delle specifiche","og_description":"CodeSpeak potrebbe rappresentare qualcosa di pi\u00f9 di uno strumento utile: potrebbe essere il primo esempio di una nuova categoria, quella dei linguaggi \"AI-native\".","og_url":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2026-03-25T10:50:14+00:00","article_modified_time":"2026-03-25T11:13:39+00:00","og_image":[{"width":1792,"height":1024,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp","type":"image\/webp"}],"author":"Dario Ferrero","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Dario Ferrero","Est. reading time":"18 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/"},"author":{"name":"Dario Ferrero","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/d3aecf71fcce8c6de1ae67518f3f1de1"},"headline":"Il codice che non si scrive: CodeSpeak e la rivoluzione delle specifiche","datePublished":"2026-03-25T10:50:14+00:00","dateModified":"2026-03-25T11:13:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/"},"wordCount":3822,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp","keywords":["Breslav","codespeak"],"articleSection":["Linguaggi di programmazione"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/","url":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/","name":"Il codice che non si scrive: CodeSpeak","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp","datePublished":"2026-03-25T10:50:14+00:00","dateModified":"2026-03-25T11:13:39+00:00","description":"CodeSpeak potrebbe rappresentare qualcosa di pi\u00f9 di uno strumento utile: potrebbe essere il primo esempio di una nuova categoria, quella dei linguaggi \"AI-native\".","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp","width":1792,"height":1024,"caption":"GPT-4o, whats new in it for developers"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/il-codice-che-non-si-scrive-codespeak-e-la-rivoluzione-delle-specifiche\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Linguaggi di programmazione","item":"https:\/\/www.codemotion.com\/magazine\/it\/linguaggi-programmazione\/"},{"@type":"ListItem","position":3,"name":"Il codice che non si scrive: CodeSpeak e la rivoluzione delle specifiche"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/d3aecf71fcce8c6de1ae67518f3f1de1","name":"Dario Ferrero","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/860e20df873940f3a6bb7f64e995c70b9fd9d18f64e3233dd779168cc6a75dca?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/860e20df873940f3a6bb7f64e995c70b9fd9d18f64e3233dd779168cc6a75dca?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/860e20df873940f3a6bb7f64e995c70b9fd9d18f64e3233dd779168cc6a75dca?s=96&d=mm&r=g","caption":"Dario Ferrero"},"sameAs":["https:\/\/www.verbanianotizie.it\/"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/dario-ferrero\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--600x400.webp","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--600x600.webp","author_info":{"display_name":"Dario Ferrero","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/dario-ferrero\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp",1792,1024,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--150x150.webp",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--300x171.webp",300,171,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--768x439.webp",768,439,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--1024x585.webp",1024,585,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--1536x878.webp",1536,878,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a-.webp",1792,1024,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--100x100.webp",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--180x128.webp",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--896x504.webp",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--400x225.webp",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--600x400.webp",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/05\/DALL\u00b7E-2024-05-14-09.49.49-A-landscape-format-image-depicting-a-sleek-minimalist-developer-workspace.-The-scene-includes-a-few-monitors-displaying-clean-organized-code-and-a--600x600.webp",600,600,true]},"uagb_author_info":{"display_name":"Dario Ferrero","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/dario-ferrero\/"},"uagb_comment_info":0,"uagb_excerpt":"Ci sono nomi che nel mondo della programmazione portano un peso specifico. Andrey Breslav \u00e8 uno di questi. Se oggi milioni di sviluppatori Android scrivono codice in Kotlin anzich\u00e9 in Java, \u00e8 in buona parte merito suo: Breslav \u00e8 il progettista principale del linguaggio che JetBrains lanci\u00f2 nel 2011 e che Google adott\u00f2 ufficialmente come&#8230;&hellip;","lang":"it","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/35570","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/336"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=35570"}],"version-history":[{"count":2,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/35570\/revisions"}],"predecessor-version":[{"id":35601,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/35570\/revisions\/35601"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/27684"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=35570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=35570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=35570"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=35570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}