Il 2 febbraio 2024, a seguito delle ferite alla testa riportate in una caduta, moriva all'età di soli 75 anni John Walker, co-fondatore e primo CEO di Autodesk, la software house produttrice di AutoCAD.
John Walker era un programmatore prima di essere un manager. Con le sue intuizioni e la sua visione ha profondamente caratterizzato l'evoluzione di AutoCAD quando era un 'acerbo' software già scritto (si chiamava Interact) da un altro programmatore e co-fondatore di Autodesk: Mike Riddle.
Nel 1986 è diventato CEO di Autodesk fino al quando, nel 1994, non ha lasciato l'azienda da lui fondata.
Verso la fine degli anni '80 e inizi '90 non esisteva ancora il Web (da noi), un po' di documentazione relativa ad AutoCAD la si trovava in file di testo (presenti su floppy e CD).
Curiosando tra i file forniti in quelle che erano ancora le prime versioni di AutoCAD (release 9,10,11,12...) e tra quelli presenti nel materiale di supporto fornito ai dealer autorizzati, io ho potuto comprendere che tipo fosse John Walker.
È stato proprio attraverso quei documenti che ho apprezzato lo spirito che animava il suo lavoro e alcuni tratti distintivi del suo carattere:
- insospettabile Ironia : Walker riusciva a infondere una buona dose di ironia anche nei documenti tecnici, dimostrando che si poteva essere informali anche in un contesto così tecnico.
- la sua visione per favorire le architetture aperte perché gli stessi utenti potessero personalizzare e implementare facilmente il loro sw; nel loro piccolo già le prime versioni di AutoCAD offrivano un ampio ventaglio di opzioni per customizzare il sw secondo le proprie esigenze (menu, layout della tavoletta grafica, font SHX, tipilinea, tratteggi, script di comandi, macro nei menu, AutoLISP);
- programmi di esempio non banali che mettevano in mostra un livello culturale un po' al di sopra della media (almeno per quella che io pensavo fosse la 'media');
- la passione per l'astronomia;
- la passione per gli acronimi (forse un po' come tutti gli statunitensi...)
Poi, per apprezzare le abilità di manager e il suo livello culturale esistono - per fortuna - ampie testimonianze sul suo sito web, creato dopo la fuoriuscita da Autodesk: www.fourmilab.ch in cui non mancano anche alcune email scambiate con colleghi e dipendenti in cui, ancora, spicca la sua elegante ironia.
LUI E' KELVIN R. THROOP
Molti scritti, comunicazioni interne ad Autodesk e programmi di John Walker, dopo una certa data, sono firmati anche con lo pseudonimo di Kelvin R. Throop.
Kelvin Robert Throop è un personaggio letterario comparso (per la prima volta nel 1964) in alcuni racconti su riviste di fantascienza statunitensi. A fine 1984, la rivista Analog pubblicò un'edizione speciale umoristica di Kelvin Throop e nel corso di quel decennio numerosi epigrammi umoristici, attribuiti a Throop, furono pubblicati sulla rivista [fonte: https://en-academic.com/dic.nsf/enwiki/1166972 ]
Credo che Walker si sia riconosciuto nel tipo di humor di quel personaggio e molto spesso qualche suo scritto contiene frasi lapidarie nello stesso stile di quanto attribuito a questo personaggio.
Inoltre, probabilmente, è stata una maniera elegante per dissimulare le proprie competenze e non apparire il genio di turno.
PROGRAMMI IN BASIC
Attext.bas
Bilmat.bas
Ma la cosa più bella in questo programma si trovava nel commento iniziale, dove si invitava a sfruttare quel lavoro per le proprie specifiche esigenze. Modificando, implementando il codice o usandolo come modello per scrivere applicazioni simili, anche in altri linguaggi.
" ... is mainly intended to illustrate a serious application which processes a DXF format attribute extract file from AutoCAD, as well as to serve as a jumping off point for your own attribute processing applications, whether created by modifying this program or simply by using it as a model for programs written in other languages."
I PRIMI LISP
ALTRI PROGRAMMI
MC.exe
Il programma consentiva di generare un file menù (.MNU) in base alle istruzioni immesse in un file di definizioni .MND.Di seguito l'intestazione del documento esplicativo che accompagnava l'eseguibile con informazioni circa l'autore:
AutoCAD Menu Compiler
by Kelvin R. Throop
Revision 2 -- October 22, 1985
Questo è il banner testuale che appare al lancio del programma. I credit ci dicono che è stato prodotto da una fantomatica Throoput Ltd. :
Kelvinator.exe
Infatti, l'elenco dei nomi delle funzioni AutoLISP che, come è evidente, non devono essere trasformate, si trova in un file esterno: kelv.def.
PROGRAMMI IN C E ADS
Alcuni esempi di programmi dimostrativi scritti in C (High C della Phar Lap) per il nuovo sistema per la creazione di plug-in chiamato: ADS (Advanced Development System) introdotto con AutoCAD 11.
Magnets
La fisica della simulazione è semplificata. La simulazione non tiene conto della complessità dei magneti reali.
Il programma includeva comandi come:
MAGEDIT: Modifica la forza di un magnete esistente selezionandolo e aggiornandone le proprietà tramite una finestra di dialogo.
Sviluppato da Walker nell'ottobre del 1989, del programma erano forniti anche i sorgenti e, come spesso avveniva, si potevano trovare al loro interno inaspettati commenti che strappavano qualche risata...
la parte finale del file magnets.c con un commento, anzi, imprecazione di Walker |
Gravity
Gravity era un simulatore di interazione gravitazionale a N corpi per AutoCAD, sviluppato da Walker nell'agosto del 1989. Questo programma consentiva di simulare il moto di più masse sotto l'influenza della gravità reciproca. Come recitava la descrizione nel file sorgente "questi strumenti permettono di esplorare il comportamento dinamico di sistemi gravitazionali complessi, come il Sistema Solare, attraverso simulazioni visive interattive."La fisica del simulatore è basata sui principi spiegati in un libro "The Armchair Universe" di A. K. Dewdney (1988).
MASS: Crea una nuova massa specificandone nome, posizione, velocità e massa in unità solari.
MASSEDIT: Modifica le proprietà di una massa esistente, come nome, velocità e massa.
RESET: Interrompe la simulazione e resetta le traiettorie delle masse, riportandole allo stato iniziale.
RUN: Avvia la simulazione, richiedendo di specificare la durata in passi o anni simulati. La simulazione può essere interrotta con il tasto Control C.
SETGRAV: Permette di modificare variabili di simulazione, come la modalità di output, la visualizzazione del numero di passi e del tempo, e la dimensione del passo.
UPDATE: Aggiorna le posizioni e le velocità delle masse nel database alla fine della simulazione.
Mountain
- Dimensione della maglia (potenza di 2)
- Dimensione frattale (in genere tra 1 e 3)
- Fattore di scala
ATLAST
Non pensare ad ATLAST come a FORTH. Non pensarlo nemmeno come a un linguaggio. Il modo migliore per pensare ad ATLAST è come a una routine di libreria che ti fornisce programmabilità, nello stesso senso in cui altre librerie forniscono accesso ai file, gestione delle finestre o funzionalità grafiche. L'intero concetto di "programmabilità in lattina" è strano - mi ci sono voluti due anni dal momento in cui ho cominciato a pensarci in relazione al Protocollo Leto fino a quando non l'ho davvero compreso e l'ho piegato alla mia volontà. Ti incoraggio a rifletterci, sperimentarla e esaminare come può essere applicata nei programmi potenziati da ATLAST.
In buona sostanza, linkando questa libreria all'eseguibile, era poi possibile tramite dei file esterni scritti dall'utente in linguaggio ATLAST, immettere istruzioni aggiuntive a quell'eseguibile.
Dopo che Walker nel 1991 ha acquisito per intero i diritti su questo programma (dall'Autodesk) lo ha reso di pubblico dominio ed implementato fino al 2014 : https://github.com/ForthHub/Atlast.
Altri dettagli possono essere trovati sul suo sito (https://www.fourmilab.ch/atlast/ )
"Tutto dovrebbe essere programmabile. Qualunque cosa! Sono giunto alla conclusione che scrivere quasi tutti i programmi in modo chiuso è un errore che invita a spendere innumerevoli ore per “migliorarli” nel corso del loro ciclo di vita. Ulteriori modifiche, “funzionalità” e “correzioni” spesso danno come risultato un prodotto così massiccio e incomprensibile da diventare inapprendibile, non manutenibile e alla fine inutilizzabile.
Molto meglio investire gli sforzi in anticipo per creare un prodotto sufficientemente flessibile da poter essere adattato a piacimento, dagli utenti, alle loro esigenze immediate. Se il prodotto è programmabile in una forma portabile e aperta, le estensioni utente possono essere scambiate, confrontate, riviste dallo sviluppatore del prodotto ed eventualmente incorporate nel prodotto principale."
La licenza d'uso della versione di pubblico dominio, nello stile di Walker, è molto esplicita :
This program and all its components are in the public domain. You can do anything you like with it, without attribution or compensation of any kind.
If the above isn't clear enough, that's your problem, not mine.
John Walker
DXFIX
la parte iniziale del file DXFIX.DXT con le istruzioni ATLAST |
CLASSWAR
Ancora un altro esempio di utilizzo di ATLAST. Walker racconta che in quegli anni andavano di moda i linguaggi Object Oriented. Alcuni sw CAD spacciavano di avere al loro interno funzionalità simili ed in particolare il CAD di Integtaph dichiarava di avere un database object oriented.
La cosa sembra irritare parecchio Walker in quanto quella era una palese falsità solo per seguire - a livello di marketing - il trend del momento.
Nasce così la volontà di scrivere un qualcosa davvero Object Oriented. Il plug-in dimostrativo in ADS CLASSWAR, acronimo di "Class Language Application Support System Within AutoCAD. Really!", era presente nella versione di AutoCAD 11.
ClassWar trasformava gli oggetti del database AutoCAD (entità) in oggetti programmabili, che potevano incorporare codice ATLAST ed estensioni ClassWar che implementavano tutti i pilastri dell'orientamento agli oggetti (Astrazione, Incapsulamento, Eredità, Polimorfismo). Consentiva agli utenti e agli sviluppatori di programmare nuovi oggetti con il proprio comportamento.
Il codice e la documentazione è presente su Github (https://github.com/Fourmilab/ClassWar ) solo per lasciare una traccia di questo lavoro di Walker che, comunque, l'Autodesk non implementò mai nel corso degli anni successivi alla sua presentazione.
DIESEL
la finestra del comando CAMPODATI |
Nessun commento:
Posta un commento