Storie vecchie e nuove della mela di Cupertino, a cura di Nicola D’Agostino

CLImax: un’altra linea di comando prima di Mac OS X

Prima dell’avvento di Mac OS X una delle critiche storiche al sistema operativo dei Macintosh per anni è stata l’assenza di una “shell”. Le lamentele sulla mancanza di una “linea di comando” non solo dimostravano la poca comprensione della filosofia del Mac OS ma erano anche sostanzialmente errate vista che in realtà esistevano software che fornivano l’agognata interfaccia a caratteri.

about CLImaxAnche se è vero che solo a partire dal 2001 ne venne fornita una “di fabbrica”, per anni sono state rese disponibili alcune shell testuali a partire da quella contenuta nell’ambiente di sviluppo MPW della stessa Apple.
Tra le molte soluzioni di terzi ce n’è stata una chiamata CLImax risalente ai tempi del System 7 e facente uso di AppleScript, il linguaggio di scripting ufficiale di Infinite Loop.
Ne parliamo perché l’autore è quel Drew Thaler che abbiamo intervistato a proposito della sua collaborazione con Apple.
Abbiamo chiesto perciò a Drew di raccontarci di CLImax e di come sia nata questa CLI (Command Line Interface) per il cosiddetto Mac OS “Classic”.

Drew Thaler: All’epoca [1996, nda] ero all’università e tutti quelli del dipartimento di Ingegneria passavano molto tempo con le linee di comando sui sistemi Unix (SunOS, HP-UX, Apollo, ecc.). Sul Macintosh ce n’erano disponibili alcune – tra cui MPW e MacPerl- ma perlopiù non c’era motivo di usarle perché il modo in cui si interagiva col Mac era attraverso i software con interfaccia grafica ed era sempre lì che erano archiviati i dati.

Un modo per dialogare in maniera testuale con gli applicativi con interfaccia grafica in realtà esisteva ed era via AppleScript.

Avevo realizzato il supporto AppleScript per uno degli applicativi sviluppati in seno all’Università e anche degli script per fare i test. Facendolo ero rimasto frustrato da quanto fosse difficile scrivere questi script. La sintassi era simile all’Inglese ma non proprio uguale. Era facile da leggere ma non da scrivere. Si provava un comando e questo non faceva esattamente quanto ci si aspettava, oppure dava errore perché l’applicativo non supportava quella sintassi che si stava provando. O ancora si provava qualcosa che pareva ovvio e poi si scopriva che ai dati che interessavano non si poteva accedere via AppleScript.

CLImax permetteva di inserire brevi script con comandi e di vederne subito il risultato. Non c’era bisogno di scrivere letteralmente tutta la sintassi del tipo ‘tell application “Finder” to get windows’. Al suo posto si selezionava col tab il Finder e si digitava “get windows”. Premendo l’invio il comando veniva subito eseguito e il risultato appariva nel lato destro della finestra.

CLImax window

Si potevano anche concatenare comandi. Ad esempio “count result” poteva tenere il conto delle finestre restituite dal comando precedente e si potevano anche definire variabili e funzioni da usare in seguito. Questo rendeva incredibilmente facile provare vari comandi presenti nel dizionario di CLImax fino a che non si trovava un metodo che andava bene. E siccome il programma si poteva richiamare con una combinazione di tastiera era facile invocarlo ed usarlo in qualsiasi momento.
CLImax non semplificava la sintassi di AppleScript ma la rendeva più amichevole e più usabile.

Non ho venduto molte copie ma è anche vero che non l’ho pubblicizzato granché. All’epoca lo shareware veniva distribuito perlopiù tramite server ftp come Info-Mac. Negli ultimi anni ho però saputo che molte persone in gamba erano stati utenti di CLImax e lo avevano apprezzato, cosa che mi fa estremamente piacere! Per questo motivo ho cominciato a lavorare su una versione per Mac OS X che supporterà anche altri linguaggi oltre ad AppleScript.

1 Comment
  1. Non conoscevo minimamente questo programma, ottimo articolo! :)

Leave a Comment

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.