Articoli approfonditi sulla tecnologia che plasma il futuro.

VisiCalc e il software che ha reso l'hardware desiderabile

VisiCalc non ha solo inventato il foglio di calcolo: ha dimostrato che il software può vendere hardware, cambiando per sempre l'economia dell'informatica.

Una griglia di registro cartaceo che si dissolve nello schermo verde di un computer vintage degli anni '70

Prima di VisiCalc, i personal computer erano giocattoli per hobbisti. Dopo VisiCalc sono diventati strumenti di lavoro. Non è un'esagerazione: è la traiettoria di vendita documentata dell'Apple II, passato da macchina di nicchia per appassionati a strumento indispensabile per le aziende quasi esclusivamente grazie a un unico programma, che ha permesso ai contabili di smettere di usare i fogli di calcolo di carta.

Dan Bricklin e Bob Frankston rilasciarono VisiCalc nel 1979. In meno di un anno, le vendite dell'Apple II erano sestuplicate. La gente entrava nei negozi di informatica e diceva: "Voglio la macchina che fa girare VisiCalc". Nacque così il concetto di "killer app", cioè un software talmente convincente da giustificare l'acquisto dell'hardware. È uno schema che si è ripetuto più volte nella storia dell'informatica, e capirlo aiuta a spiegare perché hardware e software abbiano il rapporto che hanno oggi.

Cosa faceva davvero VisiCalc

Col senno di poi il foglio di calcolo sembra ovvio, ma nel 1979 non lo era affatto. I fogli di carta quadrettati, grandi tabelle usate per i calcoli finanziari, erano uno strumento standard in ogni studio contabile. Un contabile che preparava una previsione di budget riempiva righe e colonne di numeri, calcolava somme e formule a mano o con una calcolatrice, e scriveva i risultati nelle celle giuste.

Il problema era l'iterazione. Se cambiava una singola ipotesi, ad esempio il tasso di crescita previsto che passava dall'8% al 10%, il contabile doveva ricalcolare ogni cella che dipendeva da quel valore. In un modello complesso significava ore di ricalcolo manuale, e ogni ricalcolo era un'occasione in più per commettere errori. L'analisi "what if", cioè esplorare come diverse ipotesi influenzano i risultati, era così laboriosa che di rado veniva fatta in modo approfondito.

VisiCalc automatizzava tutto questo. Modificavi una cella e ogni cella che ne dipendeva si aggiornava all'istante. Quello che prima richiedeva ore ora ne richiedeva secondi. La proposta di valore non era "usa un computer al posto della carta", ma "esplora 50 scenari nel tempo che prima bastava per farne uno". Un cambiamento qualitativo in ciò che l'analisi finanziaria poteva ottenere.

I vincoli tecnici che hanno plasmato il design

VisiCalc girava su un Apple II con 32 KB di RAM, un processore a 1 MHz e un display di testo a 40 colonne. Questi vincoli hanno imposto scelte progettuali che si sono rivelate lungimiranti.

Il modello a griglia, con righe e colonne di celle che contengono un valore o una formula, era in parte una risposta al display limitato. Uno schermo di 40×24 caratteri mostra naturalmente una griglia. Una tela di documento a forma libera avrebbe richiesto scorrimento e algoritmi di impaginazione che l'hardware non avrebbe retto. Il vincolo della griglia rendeva l'interfaccia subito comprensibile: vedevi la struttura dei dati senza bisogno di istruzioni.

Il sistema delle formule usava per impostazione predefinita riferimenti relativi alle celle: una formula in C1 che fa riferimento ad A1 e B1, se copiata in C2, farà automaticamente riferimento ad A2 e B2. Era una scelta nata dall'osservazione che la maggior parte delle formule nei fogli di calcolo segue schemi lungo righe o colonne. Riduceva drasticamente il lavoro per costruire un modello: definisci la formula una volta, trascinala lungo la colonna, fatto.

Con soli 32 KB, VisiCalc non poteva memorizzare in RAM una griglia enorme. La soluzione: venivano salvate solo le celle che contenevano dati. Le celle vuote non occupavano memoria. Questa rappresentazione sparsa è ancora quella dei fogli di calcolo moderni: la griglia teorica di 17 miliardi di celle di Excel richiederebbe petabyte se memorizzata in modo denso. Il vincolo che ha spinto VisiCalc verso l'archiviazione sparsa si è rivelato la scelta architetturalmente corretta a prescindere dalla quantità di memoria.

Lo schema della "killer app"

VisiCalc ha stabilito uno schema che da allora guida l'industria tecnologica: un'applicazione software che crea così tanto valore da giustificare il costo dell'hardware necessario per eseguirla.

  • VisiCalc → Apple II. L'Apple II costava tra 1.300 e 2.700 dollari (circa 5.000-10.000 dollari di oggi). VisiCalc costava 100 dollari. Le aziende compravano computer da 2.000 dollari per far girare un software da 100 perché il guadagno di produttività si ripagava in poche settimane.
  • Lotus 1-2-3 → IBM PC. Quando il porting di VisiCalc su IBM PC tardò, Lotus 1-2-3 colmò il vuoto e diventò la killer app dei compatibili IBM. Lotus era progettato specificamente per l'hardware dell'IBM PC e, su attività comparabili, girava più velocemente di VisiCalc.
  • PageMaker → Macintosh + LaserWriter. Il desktop publishing giustificava il prezzo premium del Macintosh. Un Mac con una LaserWriter costava oltre 7.000 dollari, ma sostituiva attrezzature per la composizione tipografica che ne costavano 50.000.
  • Browser web → connessione internet. Netscape Navigator ha reso Internet utile anche agli utenti non tecnici, alimentando la domanda di abbonamenti ISP e di infrastrutture di rete.
  • ChatGPT → cluster di GPU. L'attuale boom dell'IA sta spingendo una domanda senza precedenti di hardware NVIDIA. Le aziende spendono miliardi in infrastrutture GPU perché le applicazioni di IA creano abbastanza valore da giustificarlo.

Lo schema è sorprendentemente coerente: qualcuno costruisce un software che trasforma l'hardware da curiosità a necessità. Il produttore di hardware ne trae enormi benefici (il business di Apple, in sostanza, è stato costruito da VisiCalc), ma chi crea il software spesso cattura una parte minore del valore. La società di Dan Bricklin e Bob Frankston, Software Arts, fu alla fine acquisita in un'OPA ostile dal suo stesso editore. Il foglio di calcolo che hanno inventato genera ogni anno migliaia di miliardi di dollari di valore economico. Loro ne hanno visto ben poco.

Perché il foglio di calcolo resiste

VisiCalc è stato superato da Lotus 1-2-3, che a sua volta è stato superato da Excel, oggi insidiato da Google Sheets. Ma il concetto di base, una griglia di celle con valori e formule che si ricalcolano automaticamente, non è cambiato in 45 anni. Perché?

Il foglio di calcolo è probabilmente l'ambiente di programmazione di maggior successo mai creato. Chi non programma usa formule che, strutturalmente, sono un linguaggio di programmazione funzionale: funzioni pure (le formule non hanno effetti collaterali), trasparenza referenziale (un riferimento di cella restituisce sempre il valore attuale) e aggiornamenti reattivi (cambiare un input si propaga automaticamente). Ogni anno gli utenti di Excel scrivono più "codice" di tutti i programmatori professionisti messi insieme.

L'intuizione chiave che VisiCalc ha centrato, e che ogni successore ha conservato, è il feedback immediato. Cambi un valore e vedi subito i risultati. Nessuna fase di compilazione, nessun deployment, nessuna attesa. Questo ciclo di feedback serrato rende il foglio di calcolo lo strumento naturale per l'esplorazione dei dati, i calcoli rapidi e l'analisi ad hoc. Ogni tentativo di sostituire i fogli di calcolo con software "veri" (strumenti dedicati al budget, piattaforme di business intelligence, applicazioni custom) deve fare i conti con un fatto: con un foglio di calcolo puoi iniziare a lavorare in tre secondi.

Ricostruire VisiCalc

I progetti recenti che ricostruiscono VisiCalc dal codice sorgente originale offrono uno sguardo affascinante su come il software venisse sviluppato in condizioni di vincoli estremi. La versione originale per Apple II era scritta interamente in assembly 6502: non esisteva un linguaggio di alto livello che entrasse in 32 KB e fosse abbastanza veloce per un ricalcolo interattivo.

Leggendo la ricostruzione si capisce quanta ingegnosità sia servita per far sembrare il programma reattivo su un processore a 1 MHz. Il motore di ricalcolo dava la priorità alle celle visibili: quelle attualmente a schermo venivano ricalcolate per prime, dando all'utente un riscontro visivo immediato mentre le celle dipendenti si aggiornavano in background. Questa ottimizzazione percettiva faceva sembrare VisiCalc più veloce di quanto fosse in realtà.

Il sistema di archiviazione delle celle usava una lista concatenata ordinata per colonna e, all'interno di ogni colonna, per riga. Questo rendeva veloci le operazioni per colonna (sommare una colonna, inserire una colonna), riflettendo l'ipotesi che i fogli contabili siano di solito organizzati con i periodi temporali nelle colonne e le categorie nelle righe. La struttura dati codificava una presupposizione di dominio su come ragionano i contabili.

La gestione della memoria era interamente manuale: VisiCalc aveva un proprio heap con compattazione. Quando cancellavi delle celle, compattava lo spazio di archiviazione rimanente per recuperare memoria. In sostanza, si trattava di un garbage collector manuale, scritto in assembly, su un sistema senza protezione della memoria. Il fatto che funzionasse in modo affidabile è una testimonianza della qualità ingegneristica.

Lezioni per il software moderno

Il successo di VisiCalc contiene lezioni che è facile trascurare in un'epoca di risorse di calcolo abbondanti.

  • Risolvi un problema reale per persone reali. VisiCalc non ha creato un mercato: ha automatizzato un flusso di lavoro che milioni di persone già svolgevano a mano. Il software migliore elimina la fatica, non crea capacità dal nulla. I contabili sapevano già costruire modelli finanziari; VisiCalc li ha resi 100 volte più veloci.
  • I vincoli guidano un buon design. Il limite di 32 KB ha imposto l'archiviazione sparsa. Il display a 40 colonne ha imposto l'interfaccia a griglia. La CPU a 1 MHz ha imposto trucchi di ottimizzazione percettiva. Ogni vincolo ha prodotto una scelta progettuale che si è rivelata corretta a qualsiasi scala.
  • La velocità di feedback è una funzionalità. Il ricalcolo istantaneo che rendeva VisiCalc così convincente è lo stesso principio alla base dell'hot-reloading negli strumenti di sviluppo moderni, dell'anteprima live negli strumenti di design e dello sviluppo guidato da REPL. Il tempo che passa tra una modifica e il risultato influisce direttamente sul modo in cui le persone pensano al proprio lavoro.
  • Chi inventa raramente incassa il valore. Bricklin e Frankston hanno inventato il foglio di calcolo ma non ne hanno tratto un beneficio economico proporzionato. Questo schema si ripete: chi crea software trasformativo vede spesso la maggior parte del valore finire nelle mani dei produttori di hardware, dei proprietari di piattaforme o di chi arriva dopo e sa gestire la distribuzione. Vale la pena riflettere sui modelli di business prima di costruire.

Quarantacinque anni dopo VisiCalc, viviamo ancora nel mondo che ha creato. Il foglio di calcolo resta lo strumento predefinito per l'analisi ad hoc dei dati. Lo schema della killer app continua a guidare le vendite di hardware: basta sostituire VisiCalc con ChatGPT e l'Apple II con le NVIDIA H100. E il principio secondo cui il software crea più valore dell'hardware è vero oggi quanto lo era quando un programma da 100 dollari ha trasformato un computer da 2.000 dollari da curiosità a necessità aziendale.