JRetrocomputerur Magazineassic AnnoN 5 - Numero 27e - Gennaiow 2010s

In prova: Atari 800 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Jurassic News In allegato il compilatore PL/Bit per Apple II Rivista aperiodica di Retro-computing Gennaio 2010

Coordinatore editoriale Tullio Nicolussi [Tn] Editoriale Signori, si cambia!, 3 Redazione Sonicher [Sn] [email protected] Retrocomputing Hanno collaborato a Quello che ci siamo persi, 4 questo numero: Tullio Nicolussi [Tn] Retro Riviste Salvatore Macomer [Sm] Super Apple, 30 Lorenzo 2 [L2] Le prove di JN Besdelsec [Bs] - Indigo, 8 Lorenzo Paolini [Lp]

Mario Raspanti [Mr] Retro Linguaggi Lisp (parte 2), 38 Il Racconto Impaginazione e grafica Automatik (3) - La bisca, 18 Anna [An]

Diffusione Edicola Abandoned Time, 42 [email protected] Come eravamo Storia dell’interfaccia utente (2) La rivista viene diffusa in formato PDF via Internet , 24 agli utenti registrati sul SAP Corner sito Biblioteca www.jurassicnews.com. After the Software War, 28 SAP Netweaver 7.0 trial ed., 44 la registrazione è gratuita e anonima; si gradisce comunque una registrazione nominativa. TAMC Apple Club Algoritmi di Sort (5), 34 Tutti i linguaggi dell’Apple (12), Contatti 48 [email protected]

Copyright I marchi citati sono di copyrights dei rispettivi proprietari. La riproduzione con qualsiasi mezzo di In Copertina illustrazioni e di articoli pubblicati sulla rivista, Il menù di start-up di un sistema Indigo della Computer nonché la loro traduzione, è riservata e non può Graphics, una workstation UNIX di alto livello che ha puntato avvenire senza espressa sulla grafica la sua offerta di sistemi ad alte prestazioni. autorizzazione.

Jurassic News La clip con floppy Apple indica che a questo fascicolo è allegato un promuove la libera supporto magnetico. Per scaricarlo visitare il sito della rivista. circolazione delle idee 2 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Jurassic News è una fanzine Editoriale dedicata al retro- Signori: si cambia! computing nella più ampia accezione del Era il gennaio 1996 quando usciva timidamente il numero termine. Gli articoli uno della nostra rivista. Da allora una corsa ininterrotta trattano in generale di ventisei numeri che hanno impegnato non poco, come dell’informatica a potete ben immaginare, il nostro gruppo redazionale e partire dai primi anni qualche amico che ci ha aiutato nel corso della nostra ‘80 e si spingono fino ...all’altro ieri. storia. Come regola interna ci siamo dati la limitazione La pubblicazione ha del mandato di coordinatore editoriale, una figura carattere puramente manageriale che è essenziale per riuscire a fornire amatoriale e didattico, in maniera regolare la rivista. Al coordinatore spetta tutte le informazioni sono tratte da “tirare le fila del discorso” pianificando prima e materiale originale sollecitando poi la consegna dei vari contributi, dell’epoca o raccolte arrivando alla “minaccia” per i ritardatari. Un compito (e attentamente che richiede molto tempo libero e che sarebbe giusto vagliate) da Internet. fosse diviso fra più persone. Normalmente il Dopo l’esperienza di start-up fatta da Tullio, anche materiale originale, Salvatore sarebbe giunto al termine del suo impegno, ma anche se “jurassico” sostituirlo non è certo facile e d’altra parte, pur avendo in termini informatici, l’amico Salvatore proposto un coordinamento ad interim non è privo di fino alla decisione di chi se ne farà carico, riteniamo non restrizioni di utilizzo, pertanto non sempre sia giusto approffittare troppo. è possibile riportare Qualcuno poi non se la sente, soprattutto per ragioni per intero articoli, di lavoro, così tenteremo quest’anno un esperimento di foto, schemi, listati, coordinamento a rotazione. Comincerò io (Tullio) e poi etc…, che non siano seguiranno Sonicher, ancora Salvatore, Lorenzo e Bes. esplicitamente liberi da diritti. Non è che questa cosa “interna” avrà una ripercussione diretta sui contenuti della rivista, ma forse ognuno La redazione e porterà un qualche suo apporto per arricchire gli autori degli ulteriormente l’offerta di contenuti e di fruizione del articoli non si periodico. assumono nessuna responsabilità in A questo proposito rimane sempre valido l’invito di farci merito alla correttezza pervenire le vostre osservazioni o i vostri “desiderata”; delle informazioni terremo conto di tutti i suggerimenti, come del resto riportate o nei abbiamo sempre fatto, nel limite ovviamente delle confronti di eventuali nostre possibilità. danni derivanti dall’applicazione di quanto appreso sulla Buona lettura a tutti. rivista.

[Tn]

3 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Retrocomputing

Quello che ci siamo persi...

Apple, Commodore, Sinclair, Atari,... va bene, ma gli altri? Quanti calcolatori sono stati costruiti e dei quali abbiamo sì e no una flebile traccia?

calcolatori, ma i è capitato di recente di il fatto che non non diano più segno venire ad una discussio- di se non li esclude dall’essere og- ne abbastanza accesa getti interessantissimi per il nostro conM un amico retro computerista, hobby. Anzi, si potrebbe dire che la in merito alle macchine che sono rarità ne costituisce il pregio. state progettate e costruite e delle :-”Stai parlando dei vari Compu- quali non abbiamo più traccia. color, TRS-80, Amico-2000, etc...?” Il mio amico sosteneva che queste - mi chiede. A parte il fatto che il Nelle immagini che non potessero essere poi moltissi- TRS-80, sebbene poco diffuso da illustrano l’articolo, me e che semplici progetti hobbisti- noi è tutt’altro che una macchina alcune riproduzioni ci o poco più non conservano gran- sconosciuta, gli spiegai che mi ri- delle pagimne de interesse per il retro computing. ferivo piuttosto a quei calcolatori pubblicitarie della La mia posizione era diversa e, se che sono stati costruiti da piccole rivista Bit numero 20 vogliamo dirla tutta, completamen- aziende, magari comprando i com- del 1981. te antitetica alla sua: non solo ne ponenti qua e la e realizzando sof- sono stati costruiti molti di queste tware verticali come i gestionali e 4 Jurassic News - Anno 5 - numero 27 - gennaio 2010 poco altro. espressa- Simili software-house (vogliamo mente di- chiamarle così?) spesso vende- chiarato nel- vano sistemi chiavi in mano con le specifiche pochissimo software: giusto ma- t e c n i c h e gazzino e fatturazione, cose così, oppure lo si messe insieme o adattate alle spe- deduce dal- cifiche esigenze del cliente. la presenza del CP/M o anche sem- Passando dalle parole ai fatti plicemente abbiamo sfogliato assieme una dalla lista dei vecchia rivista di informatica: Bit, linguaggi di- esattamente il numero 20 che è sponibili. La del settembre ‘81. c o m p a r s a Abbiamo così scoperto una spe- di un FOR- cie di cimitero dei dinosauri: so- T R A N - 8 0 prattutto la pubblicità è una fonte o di un AL- rivelatrice dell’esistenza (fossile?) G O L - 8 0 di decine di calcolatori ormai persi nella lista dei sistemi di sviluppo nell’oblio. acquistabili con la piattaforma, è chiarificatrice della tipologia di Sarebbe bello poter incontrare macchine offerte. qualcuno che ce l’ha ancora in casa un “Ulisse-80”, uno “Zenit Alcuni sistemi, come lo Zenit Data data System”, un “SuperBrain”, un System e il “Vector System 3005”, un “Monroe Superbrain, EC4000”, un “Saga Fox”, oppure dichiara la addirittura un “ABC-26” della AI presenza di Electronics Corporation Japan! due micro- porocessori Qualcuna di queste macchine Z80, chissà si può trovare anche su Internet; per che far- è il caso del SuperBrain, eviden- ne... imma- temente bastantemente diffuso gino che uno oltreoceano da aver generato un sia dedicato filone tutto suo nelle collezioni di all’I/O visto retro calcolatori. Di altre, soprat- che non sem- tutto se costruite o solo assembla- bra il caso di te in Italia, inutile cercarne traccia: i p o t i z z a r e vuoto assoluto! configurazio- Quasi tutti questi progetti si ba- ni multipro- sano sulla CPU Z80. Questo è cessore nel

5 Jurassic News - Anno 5 - numero 27 - gennaio 2010

1981! Per altri progetti è più difficile de- durne la configurazione tecnologi- ca. Ad esempio il Monroe EC 4000 non svela assolutamente nulla di particolare se non la dotazione di memoria RAM disponibile. I nomi di fantasia, dallo stile pale- semente scientifico (Compubioni- cs, ad esempio), sempre completi di sigle numeriche, fanno intende- re di essere difronte ad una mac- china proiettata nel futuro. La multiutenza è una frontiera: -”Il computer CTL 980 si fa in due...” che vuol dire semplicemente che ci potete attaccare due terminali. Sistema operativo e altri partico- lari non è dato saperlo (im magi- niamo sia basato su MP/M, l’unico sistema operativo in time-sharing disponibile per i micro. Beh, al termine di questa nostra carellata ci siamo trovati d’accor- do: -”Ce ne siamo persi parecchi, peccato!”.

[Tn]

6 Jurassic News - Anno 5 - numero 27 - gennaio 2010

7 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Le prove di Jurassic News

Silicon Graphics - Indigo

Quando l’informatica personale ha cominciato davvero a incidere dove prima non era immaginabile arrivare, allora nacquero delle aziende che puntavano sulla qualità dei loro prodotti. Una di queste fu Silicon Graphics.

dei PC la Intel ha già presentato il Contesto storico 486, ma sul mercato impazzano i rendete un profondo re- 386SX a 20-25 MHz che permet- spiro, chiudete gli occhi tono alle ditte di smaltire tutta la e fate un rewind mentale vecchia componentistica AT a 16 finoP al 1991. Ci siete? bit. Ci sono ancora in uso moltissi- Facciamo mente locale. Il Presi- mi 8086 e 80286, e gli sviluppatori dente del Consiglio è Andreotti. Lo aspettano il momento in cui ci sarà scudetto lo vince la Sampdoria, il un 386 su ogni scrivania. Gli hard mondiale di Formula 1 Ayrton Sen- disk hanno una capienza tipica in- na. Edwige Fenech presenta il festi- torno ai 40 MegaBytes. La Apple

Già dal colore val di Sanremo. In Kuwait scoppia propone il Macintosh LC, con un si capisce che la prima guerra del golfo. I Metalli- Motorola 68020 a 16 MHz e grafica questo non è un normale PC vestito ca incidono Nothing Else Matters. a colori da 512x384 pixel. La Mi- da workstation... Muore Freddy Mercury. crosoft presenta la versione 5.0 di E’ l’Indigo di MSDOS, limitata come sempre a Silicon Graphics, Il mercato degli home computer praticamente una 640 Kbytes, mentre Windows è an- leggenda! è saldamente in mano alle varie cora alla versione 3.0, che è poco versioni dell’Amiga. Nel settore più di uno shell grafico e ha un con-

8 Jurassic News - Anno 5 - numero 27 - gennaio 2010 corrente temibile in OS/2; tra l’altro La Silicon Graphics Inc. non supporta in alcun modo la rete locale e non lo farà fino al 1993. La Silicon Graphics è da sempre Internet non è ancora il www (che specializzata in sistemi professio- viene presentato proprio quest’an- nali high-end. Nel 1988 ha fatto no) e viene usato solo dagli addetti con la sua Personal Iris un primo ai lavori. Esistono invece i BBS, a tentativo di introdursi in una fascia cui si accede via telefono e mo- di mercato più bassa, riuscito solo dem; naturalmente non i modem di parzialmente: la Personal Iris è ieri a 56 Kbaud ma quelli di allora, impressionante ma costa ancora a 300 o 1200 baud. Nella grafica si molto, almeno 25.000 U$. Ora, sono ormai imposte le schede VGA nel 1991, presenta una nuova (640x480 con 16 colori, nessuna macchina per lo stesso target. Il accelerazione 3D), che vengono costo è ancora lontano dal mon- prodotte in modelli incompatibili da do PC, partendo da un minimo (Figura 1) una infinità di piccole ditte (Orchid, Negli anni ’80 e di 10.000 U$ dell’epoca, ma non ‘90 BYTE era la più Paradise, Cirrus ecc.ecc.). I drives assurdo per un uso professionale. autorevole rivista CD-ROM non esistono e le schede USA per il personal E un confronto coi PC coevi è im- computing. In audio sono ancora rare. possibile: già la prima versione ha copertina nel numero di Settembre la Naturalmente per usi professio- un processore RISC MIPS R3000 Indigo in tutto il suo nali esistono, come sempre, mac- a 33 MHz (ma sarà subito affian- splendore. Da notare la preview di Windows chine di categoria superiore. Dopo cato dal nuovo R4000 a 100 MHz) 3.1! la prova generale con The Abyss con CPU+FPU, monta fino a 16 (1989), la computer graphics entra Mbytes di infatti quest’anno nella storia del RAM e fino cinema con Terminator 2 mentre a tre Hard è in lavorazione la pietra miliare di Disk SCSI Jurassic Park, che uscirà due anni veloci per dopo. Dietro gli effetti speciali cine- una capaci- matografici troviamo in pratica una tà di diversi sola ditta: la Silicon Graphics. In Gbytes. La particolare il suo modello più lega- risoluzio- to alla produzione di Jurassic Park ne grafica verrà prodotto in seguito, con una è fissa a certa ironia, anche nella versione 1280x1024 limitata Jurassic Classic. pixel, con 16 milioni di colori e ac- celerazione hardware. Il suono, stereo, è

9 Jurassic News - Anno 5 - numero 27 - gennaio 2010

affidato ad un Digital Signal Pro- derata la qualità dell’industrial de- cessor Texas Instruments 56000. sign di questa casa, paragonabile Un’interfaccia thick-ethernet AUI è solo a quello di Apple. Anche la di serie. Il sistema operativo è una qualità costruttiva non ha niente variante di Unix stabile ed efficien- in comune coi PC: la macchina, te, con una bella interfaccia grafi- come quasi tutte le Silicon che se- ca WIMP (windows-icons-mouse- guiranno, è interamente contenuta pointer). in un telaio d’acciaio che sembra E’ la Silicon Graphics Indigo, che in grado di resistere ad un rien- conquista subito la copertina di tro in atmosfera, ricoperto da un BYTE del Settembre 1991. guscio esterno in plastica che ha solo funzioni estetiche e che la Casa chiama con sufficienza skin, Primo approccio pelle. Con un solo hard disk mon- La Silicon Graphics non ha mai, tato pesa già 17 Kg. in tutta la sua storia, prodotto una Uno sportello molto discreto per- macchina beige. La Indigo è ap- mette l’accesso ai dispositivi ri- punto blu scuro (Indaco!), compat- movibili (Figura 2). Nel caso della ta e squadrata, percorsa da sottili macchina in prova l’unità raggiun- feritoie di raffreddamento. Larga gibile aprendo lo sportello frontale (Figura 2) Uno sportello molto 25cm, alta 38 e profonda 30, la In- è un DAT montato sullo slot supe- discreto permette digo è a parere di molti la macchi- riore. l’accesso ai dispositivi na più bella mai prodotta da Silicon rimovibili. Il badge giallo in basso a sinistra Graphics – che non è poco, consi- indica che la macchina è una In- digo R4000 Elan. In teoria tutte le R4000 avevano una badge colora- ta di identificazione, di forme e co- lori diversi a seconda delle schede grafiche installate. In pratica quasi tutte le Indigo sono state modifica- te in qualche modo, non sempre coerente con l’aspetto esterno. A parte un backplane di colle- gamento, che contiene anche le interfacce parallela e SCSI, tutta l’elettronica è concentrata in due grandi schede a innesto rapido. Una contiene la CPU, la memoria, la rete, tutte le interfacce tranne l’uscita video e due slot di espan- sione proprietari; la seconda è la

10 Jurassic News - Anno 5 - numero 27 - gennaio 2010

scheda grafica con i suoi connetto- ri. Il pannello frontale si smonta con due pulsanti e all’interno non c’è un solo filo volante: tutto, alimentatore incluso, è montato su slitte ad inne- sto diretto sul backplane, e tutto si smonta e si rimonta senza attrezzi. Avendo i ricambi adatti, una Indigo guasta può essere rimessa on-line in due minuti e a mani nude.

Hardware

In realtà la configurazione che abbiamo descritto è solo una del- le infinite possibili. La Indigo è da considerarsi più un sistema che un modello, e sotto una identica ap- parenza esterna possiamo trovare strutture completamente diverse. La scheda CPU+FPU, che inizial- mente ospita un processore R3000 a 33 MHz, viene subito ridisegnata

in modo da accoglie- (Figura 3) re il nuovo processo- Rimuovendo il frontale si nota a sinistra re R4000 a 100 MHz lo stretto sportello (e poi il successivo verticale che accoglie la scheda CPU e la R4400 a 150 MHz) e scheda grafica. molta più RAM. Può montare fino a tre hard disk, ma due di questi possono esse- re sostituiti da un flop- (Figura 4) Lo sportello schede py da 3,5” e/o da uno si apre verso il basso speciale floppy ma- rivelando il fianco delle schede inserite gneto-ottico (il flopti- negli slot. cal) da 21 MBytes e/o da una unità a nastro DAT da 2 GBytes. La scheda grafica può anche mancare del tutto se la macchina

11 Jurassic News - Anno 5 - numero 27 - gennaio 2010

viene usata acceleratore raster (il Raster Engi- come server, o ne) che è sempre presente; è pre- può essere una disposta per il video stereo 3D in scheda entry- hardware. La versione “full optio- level piuttosto nal” di questa scheda, con 24 bpp, spartana, ma Z-buffer, Raster Engine e quat- più spesso è la tro Geometry Engines si chiama scheda modu- Elan, e fa una certa figura ancora lare GR. Que- oggi. Una conseguenza di questa sta è basata componibilità è che oggi è difficile su diversi PCB trovare due Indigo uguali, perfino e sembra fatta provenienti dallo stesso ufficio. coi Lego: può Nella figura 2 è possibile notare essere equi- a destra, dall’alto, l’alimentatore paggiata (e/o (su cui sono fissati anche l’altopar- espansa suc- lante e il grosso pulsante di reset) cessivamen- e i tre slot per dischi e nastri, tutti te) con uno o montati su slitta. con tre piani Nella figura 3 la macchina aperta di RAM, per mostra le schede inserite negli avere rispet- (Figura 5) slot. Nella scheda video, quella tivamente 256 colori o 16 milioni più a destra, si notano alcune Il pannello posterio- di colori; può avere o non avere delle “daughterboards” che costi- re con le uscite “built- uno Z-buffer per assistere il ren- tuiscono la configurazione Elan. in” e quelle messe dering 3D; può montare uno, due Uno dei dischi fissi è parzialmente a disposizione dalle oppure quattro Geometry Engines estratto. schede inserite. che eseguono in hardware le tra- sformazioni geometriche, più un

(Figura 8) Fratelli? Gemelli! La Indigo infatti è stata venduta – sen- za alcuna modifica se non la marca e il colore - anche dal- la rete commerciale di altri costruttori: in questo caso Control Data Corporation e Siemens-Nixdorf.

12 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Il pannello posteriore (Figura 6) non è particolarmente ordinato. Nella scheda video (la serie di con- nettori a sinistra) troviamo, dell’al- to, il connettore 13w3, un BNC per il genlock e un mini-DIN per gli oc- chiali stereo CrystalEyes. A fianco, cinque connettori mini- jack per microfono, linea in, linea out, cuffie e audio digitale (!); due porte seriali RS232 con connetto- ri mini-DIN compatibili Macintosh, un terzo mini-DIN per la tastiera ed Software (Figura 6) il 15-pin della rete thick ethernet. Un dettaglio della Il sistema operativo si chiama Più in basso il DB-25 della porta scheda CPU di una Irix, è la versione Silicon Graphics parallela e al centro il grosso SCSI Indigo R3000. I due di Unix e segue piuttosto da vici- 50-pin. I due pannelli metallici più chip dorati NEC sono no la varietà AT&T piuttosto che piccoli a destra, coprono gli slot di la CPU R3000A-33 e la BSD favorita da altri costrutto- espansione dedicati. la FPU R3010A-33, ri. Naturalmente ne esistono mol- che non hanno biso- Per fare a meno del video con te releases successive; in origine gno di dissipatori. uscita 13w3 e collegarci un VGA, le Indigo montavano Irix 4.0, ma è necessario disporre di un adat- praticamente tutte sono state ag- tatore come quello mostrato nel- giornate a qualche versione suc- (Figura 7) la figura 7 assieme all’adattatore cessiva. Le Indigo con processore Adattatore video e AUI-RJ45 per utilizzare l’attuale R3000 possono accettare soltanto retesono due acces- standard di collegamento per la fino alla versione 5.3; sulle R4000 sori ormai indispen- rete ethernet. è più comune trovare la 6.2, ma sabili per chi ha un una R4000 Elan può reggere bril- Indigo e vuole usarlo lantemente fino alla release 6.5.22 con le attuali tecnolo- del 2003 (adesso pensate a come gie video e di rete. girerebbe Windows 2003 su un PC del 1991, e ridete). L’ultima versio- ne di Irix, gestibile solo da macchi- ne successive, è del 2006.

13 Jurassic News - Anno 5 - numero 27 - gennaio 2010

o caricare un interprete di coman- di provvisorio. Il caricamento di Irix impiega qualche minuto, ma occorre ricordare che questa non era pensata per essere una ope- razione frequente e che anzi la casa consigliava esplicitamente di lasciare sempre accesa la macchi- na, in modo che durante la notte potesse eseguire automaticamen- te determinate operazioni di hou- sekeeping. Infine viene caricato un menu grafico che elenca sotto forma di icone gli utenti autorizzati Uso (Figura 9) al login (figura 10).

La schermata All’accensione la macchina emet- Fatto il login appare il desktop, iniziale di benvenuto. te un caratteristico motivo musi- che presenta in alto a sinistra il cale e lancia il self-test (figura 9). menu (chiamato Toolbox) delle Le Silicon Graphics non hanno un operazioni più comuni e una serie BIOS; all’accensione eseguono un di icone allineate lungo il margine programma in ROM che provve- destro. Nel Toolbox sono presen- de al caricamento di Irix dall’hard ti, tra le altre cose, l’Icon Catalog (Figura 10) disk e permette, volendo, di inter- che raccoglie in cartelle separate Il menu di servizio rompere l’avvio per operazioni di le applicazioni installate (di serie cui si accede se manutenzione quali aggiornare il è inclusa una ricca serie di utilities si interrompe il sistema operativo, eseguire un ri- e parecchi demo, tra cui il gioco caricamento del pristino del sistema, effettuare una Doom) e un System Manager gra- sistema operativo. verifica approfondita dell’hardware fico che dà una interfaccia visuale a tutte le funzioni di amministrazio- ne, incluso il controllo completo dei processi, del filesystem e la crea- zione e la gestione di volumi logici estesi su diversi dischi fisici. Ovviamente colori, sfondi, fonts e persino le dimensioni delle icone sono personalizzabili. Bisogna am- mettere che per lo sfondo desktop sono disponibili poche possibilità, quasi tutte di rara bruttezza, e per- sino nelle versioni più recenti non è previsto in alcun modo che l’uten- te aggiunga sfondi extra. In realtà

14 Jurassic News - Anno 5 - numero 27 - gennaio 2010 questo è possibile, con un piccolo hack che per i motivi appena espo- sti si impara molto presto. Irix è, naturalmente, molto stabile e concepito per girare ininterrotta- mente 24/7. Ha tutti i soliti vantag- gi di Unix con una serie di utilities esclusive che lo rendono molto co- modo da amministrare: per fare due soli esempi, il comando chkconfig che permette di controllare, avvia- re e fermare individualmente i da- emons con una facilità disarmante, e un sistema di installazione del La scheda video GR non solo (Figura 11) software a pacchetti pressochè usa uno speciale connettore detto Il desktop, ancora identico ai package manager at- 13w3 che richiede un adattatore piuttosto povero, di tuali di Linux. per essere collegato ad un monitor Irix 4.0. Il program- moderno, ma trasmette i segnali di La documentazione è eccellente ma grafico 3D in pri- sincro sovrapposti al segnale del e tutti i (molti) manuali disponibi- mo piano (che non è verde (SOG, sync-on-green). li, che su carta riempirebbero uno di serie) è l’applica- scaffale, sono preinstallati in for- Il connettore 13w3, che prevede zione originale che mato elettronico. La GUI è garan- tre contatti RGB e dieci contatti au- appare nelle scene tita da X-Windows e dal siliari, era abbastanza diffuso an- finali di Jurassic Park manager proprietario 4Dwm. che tra altri costruttori (SUN, HP, (ricordate la scena? IBM ecc.) ma non è mai stato com- Irix richiede un mouse a tre ta- “Questo è un siste- pletamente standardizzato e la fun- sti; non riconosce la rotellina, ma ma Unix… io lo cono- zione dei contatti ausiliari varia non in cambio può montare diversi di- sco!”). solo da marca a marca ma persino spositivi di input tra cui manopole, da modello a modello, cosicché un arrays di pulsanti e il particolare adattatore non-specifico potrebbe Spaceball a sei assi. anche funzionare come anche no. In qualche punto l’hardware della Un vero pericolo poi è il connetto- Indigo dimostra tutta la sua età. È re della tastiera (alla quale si col- forse l’ultimo computer ad avere un lega in cascata il mouse), che fisi- “vero” interruttore di accensione: camente è un mini-DIN PS/2 ma tutte le Silicon successive avranno ha voltaggi e connessioni incom- infatti non solo lo spegnimento via patibili. In questo modo è possibile software a cui siamo oggi abituati, connettere per errore alla Indigo ma anche la capacità di riaccen- una tastiera PC, con conseguenze dersi autonomamente ad un orario tragiche. programmato.

15 Jurassic News - Anno 5 - numero 27 - gennaio 2010

sono uscite di produzione nel 2006 insieme all’ultima release di Irix. Come HP e Apple anche SGI è passata alla piattaforma Intel, e a Linux come sistema operativo. Dopo un difficile periodo di ammi- nistrazione controllata la SGI si è riconfigurata come fornitrice di si- stemi di memoria e server di alta classe e alta affidabilità. La grafi- ca ha rivestito un ruolo sempre più marginale nella sua attività finchè, nel 2009, l’intera sezione grafica è stata chiusa. Sic transit gloria (Figura 12) Il resto è storia... mundi. Il desktop di Irix Sul fronte software la SGI ci ha Cosa ne è oggi della casa produt- 6.2. In evidenza il lasciato, tra l’altro, lo standard trice? Sotto molti aspetti la Silicon system manager 6.2 OpenGL, e dobbiamo alla sua Graphics ha semplicemente fatto e, a destra, il sistema opera pionieristica le schede gra- la storia della Computer Graphics. di documentazione fiche dei PC attuali: Nvidia è stata Negli anni successivi ha cambiato InSight con i fondata da ex-dipendenti SGI. nome in SGI e complessivamente numerosi manuali ha prodotto molti altri modelli, alcu- In retrospettiva la Indigo è stata on-line. ni dei quali, come la Indy e la O2, una macchina capace di presta- sono stati un successo planetario zioni notevoli ma anche, per certi (curiosamente sono anche le mac- versi, una macchina di transizio- chine meno performanti). All’altro ne che dopo solo due anni si è estremo della gamma vanno ri- sdoppiata nei modelli Indigo2 e cordati modelli incredibili come il Indy. Inoltre (e purtroppo) oggi il supercomputer grafico Onyx2, in suo case grande ed elegante è grado di ospitare fino a 64 CPU anche appetito dai modder, che e tre canali video Infinite Reality lo svuotano per inserire al suo in- multiplexati in grado di compor- terno un PC moderno. Come tutti i re su tre megaschermi affiancati retrocomputer non ha un valore di un’unica immagine panoramica in mercato definito: chi scrive se ne stereo. è vista offrire una gratis e un’altra (incompleta!) a oltre 200 euro su I processori MIPS ed i loro com- Ebay. Ma forse la cosa più sor- pilatori hanno mantenuto presta- prendente è che alcuni rivenditori/ zioni elevatissime ma alla fine appassionati mantengono un vero hanno perso la battaglia dei costi, e proprio magazzino di diversi e le ultime macchine MIPS-based modelli Silicon Graphics e relativi

16 Jurassic News - Anno 5 - numero 27 - gennaio 2010 componenti, il che rende ancora C’è tuttavia un uso in particolare (Figura 13) possibile, dopo quasi vent’anni, che ci sentiremmo di suggerire: se Ancora il desktop ordinare una Indigo nella configu- ci si riesce a procurare e installare 6.2 (ma il più recente razione preferita come si farebbe un programma per la riproduzione 6.5 è pressochè con un normale PC. La SGI ha in- di files mp3, il vecchio DSP Texas identico) con il fatti un seguito di entusiasti picco- 56000 della sezione audio fa anco- raccoglitore Icon lo ma accanito, persino incredibile ra paura e non occorre essere un Catalog aperto sulla per macchine che non sono quasi audiofilo raffinato per sentire la dif- tab Demos. In alto mai state vendute direttamente al ferenza di resa sonora con un PC a destra il “demo di pubblico. Windows. Provare per credere. demo” buttonfly, che Nel giro dei retro-computeristi fe- era un vero e proprio deli a questa marca viaggia ancora biglietto da visita per [Mr] molto freeware e shareware ag- Silicon Graphics. giornato e, volendo, una Indigo sa- Ricordo che ne rebbe ancora perfettamente usabi- esisteva anche un le per svariate applicazioni (o per clone per Amiga – navigare, installando una versione per la serie “vorrei recente di Firefox). ma non posso”.

17 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Rubrica curata da [Bs] Il racconto

Automatik(3) - La bisca

na sera il titolare della dit- to e due interi. L’ambiente la dice- Storie di vita dove i ta dove ero ospite e sta- va lunga sulla destinazione d’uso computer (soprattutto gista mi venne a trovare di un simile locale, evidentemen- nell’alberghettoU dove alloggiavo, te abbandonato in tutta fretta per retro computer) c’entrano in qualche almeno questo a spese del mio fu- qualche motivo: divani di vistosa modo. turo datore di lavoro, e mi chiese se plastica rossa e gialla (dico davve- potevo l’indomani dare una mano ro, gialla!), tavolini coperti di panno a lui e ai ragazzi per andare poco verde, adibiti evidentemente al gio- lontano a ritirare della “roba”, così co, sedie di una qualche velleità di disse. Naturalmente accettai sen- comodità visto che erano imbottite za che mi passasse nemmeno per di un velluto viola difficilmente ac- l’anticamera del cervello che que- costabile a qualsiasi arredamento sta attività poco aveva a che fare che non fosse adatto ad un bor- con un mio allenamento all’elettro- dello. Michele suggerì che doveva nica, ma tant’è la mattina si partì essere lo stesso posto oggetto di presto, saranno state le sette, con una irruzione della Polizia un paio due furgoni alla volta di una impre- di anni prima. Sembra si trattasse cisata località sul Garda. di un vero e proprio covo dove av- Arrivammo nella nebbia autunnale veniva di tutto, comprese partite a in un posto che mi sembrò dimen- biliardo evidentemente, non saprei ticato da Dio dove stava una spe- dire con quale scopo o posta. cie di stamberga, almeno così mi In quel posto il nostro titolare sve- parve, con una scritta che recitava lò lo scopo del viaggio: -“Portia- “Albergo delle Rose”, malmessa mo via questi due biliardi e quello essa stessa, tanto che ricordo per- smontato che c’è li”, boforchiò, in- fettamente che il nome lo ricavai dicando con un cenno del capo un non già dalla presenza delle lettere cumulo che a me sembrava di ma- dell’insegna, quanto dal colore di- cerie ma che evidentemente ad un verso che aveva la tinteggiatura in esame più attento evidenziavano corrispondenza di quelle mancanti immancabilmente l’origine. “Portia- che erano la maggior parte. mo” aveva detto il Nostro Duce, ma Qui in uno scantinato raggiungi- non seguì alla lettera la sua stessa bile con una doppia rampa di scale dichiarazione, nel senso che NOI strette di grezzo cemento, stavano portammo su la roba, lui sparì con depositati tre biliardi, uno smonta- la persona dall’aria equivoca che 18 Jurassic News - Anno 5 - numero 27 - gennaio 2010 aveva aperto la porta del tugurio. mezz’ora buona! Non so quanto siate pratici di bi- Il secondo viaggio andò peggio, liardi ma certo avrete avuto la sen- nel senso che la piastra si scheggiò zazione toccandone uno che siano in un angolo, il terzo fu parimenti fa- molto massicci. E’ così! Visto che il ticoso e a quel punto noi eravamo piano deve essere liscio al massi- assolutamente esausti e certi di non mo e assolutamente stabile, ne se- essere in grado di portare a compi- gue che è realizzato mettendo as- mento l’arduo compito. Ci sedem- sieme a seconda della dimensione mo quindi sulle scale di cemento del piano stesso, da quattro a otto per prendere fiato e naturalmente, lastre di pesantissima ardesia levi- dato che il diavolo ci mette sempre gata della dimensione di circa un lo zampino, capitò subito il titolare metro quadrato cadauna e spesso- assieme ad una tizia dall’aria vol- re dai quattro agli otto centimetri. In gare, anche se giovane e certo non tre non riuscimmo ad alzare la pri- brutta come fisico, che fumò tutto ma che stava appoggiata al muro il tempo una sigaretta dopo l’altra e subentrò lo sconforto. Che fare? mentre si accalappiava sul prezzo Non eseguire sarebbe valso ad un che il nostro capitano avrebbe do- ammutinamento in piena regola con vuto sborsare per liberarla di quel conseguenze spiacevoli per tutti e pesante ingombro. tre (Salvatore mica era venuto, lui Noi naturalmente facevamo finta era troppo furbo per farlo!). di proseguire la lotta con l’improbo Disponevamo di un carrello a due mostro attaccando la piastra nume- ruote, più adatto al trasporto delle ro quattro del nostro calvario. Tizia- cassette di frutta che di un simile no prima finse di darci una mano peso. Quando riuscimmo a trasci- e poi si rivolse alla sventurata ci- nare la prima piastra sul carrello le miniera umana per continuare le ruote dello stesso si abbassarono sue trattative al ribasso sul prezzo di una buona metà, a riprova che del materiale. Arrivati a metà della non c’era nulla da scherzare. scala il Nostro ci intimò di riportare In ogni caso eravamo tre baldi gio- tutto indietro, evidentemente per le vani: Michele, Andrea e io. Certo la conseguenze del mancato accor- forza non ci mancava, per cui con do sul prezzo. Il tira e molla andò rara abnegazione che nessuno al avanti per un pezzo con noi che fa- giorno d’oggi crederebbe possibile, cevamo dietro front su quelle sca- trascinammo il primo pesante far- le ora salendo ora discendendo in dello su per le due rampe di scale relazione all’umore della trattativa. e da li dentro il furgone. Rimaneva- Alla fine decidemmo di rimanere sul no altre cinque piastre dello stesso pianerottolo e di non muoverci più, peso, poi le gambe e le fiancate e cascasse il mondo! poi due altri biliardi interi, e per quel Il mondo non cascò naturalmente primo viaggio avevamo impiegato e dopo un’ora ci rivide arrancare

19 Jurassic News - Anno 5 - numero 27 - gennaio 2010

con il nostro fardello su quella sca- confuso il nostro fallo e a noi non la che divenne per me simbolo del- rimase che annuire. la più assoluta e inutile sofferenza La megera parlò tenendo la siga- umana. retta in bocca e con soddisfazione Il titolare non partecipò all’impre- che non si preoccupò minimamen- sa, se non chiamando il colpo al te di celare, ci redarguì come fossi- momento di caricare, per criticare mo ragazzini che dicevano bugie. come avevamo sistemato le piastre Pivelli lo eravamo di sicuro e quella sul furgone e imprecare per la no- inquietante, per noi novellini, figura stra lentezza nel compiere le ope- femminile ci faceva un effetto par- razioni che lui, a suo dire, aveva ticolare: ce ne stemmo zitti a testa fatto centinaia di volte. Si accorse bassa dopo aver confessato il pec- della piastra sbeccata e dato che cato a quello che manco lontana- le bestemmie pronunciate all’indi- mente si sarebbe potuto scambiare rizzo di tutti i santi del Paradiso, noi per un prete. Tacemmo e ripren- compresi, non ebbero efficacia tale demmo il lavoro, certi di non esse- dal riparare il danno, volle di nuovo re ormai più in grado di protestare ridiscutere il prezzo con la megera alcunché. di prima adducendone il motivo alla La “signora”, sempre con la siga- scoperta della magagna. retta in bocca ci guardava arranca- Da parte nostra eravamo arrivati a re per le strette scale e biascicava quello che credevo potesse essere talvolta degli inviti a stare attenti e il limite della sopportazione umana, a non sbattere le sponde contro il senza sapere che l’uomo ha risor- muro. A me parse che ci prendes- se tali e a lui insospette, da portarlo se in giro e lo dissi a Michele che ben oltre questo limite. ne convenne. Andrea disse che se La megera venne, si rese con- era così lui se ne sarebbe andato, to del danno e sentenziò che era al diavolo le conseguenze (era gio- stato fatto da noi medesimi e che vane, lo perdonammo). la scheggiatura era recente. La Poi la megera, così come era ve- sua competenza ci lasciò allibiti e nuta, cioè fumando, salì le scale e ancora di più ne fummo sorpresi sparì dalla vista. Lasciati i propositi quando con astuzia rifece il percor- di rivolta o incrocio delle braccia, so delle scale e individuò il punto trasportammo di slancio le ultime esatto dove era avvenuto il fattac- due piastre del primo biliardo e tutti cio. Noi avevamo buttato il pezzo gli altri pezzi che si rivelarono al- grosso della scheggiatura ma non trettanto pesanti e ingombranti su certo raccolte tutte le schegge che quelle strette scale. si erano generate. Intanto era arrivato un tizio, evi- Io e Andrea stemmo zitti mentre dentemente uomo di fiducia della Michele, anima candida, confessò padrona, che si mise con il nostro

20 Jurassic News - Anno 5 - numero 27 - gennaio 2010 titolare a smontare i due bigliardi giungibile tramite una rampa che ancora interi. arrivando avevamo visto ma che L’oggetto era un po’ più piccolo di pensavamo portasse a dei garage quello che avevamo caricato e di interrati. quello che rimaneva ancora integro La scoperta fu per noi una vera nel locale, per cui ci illudemmo che gioia e pur sapendo che sarebbe sarebbe stato meno pesante: errore comunque stata una faticaccia il clamoroso! Il piano era di sole quat- caricare tutto il materiale rimanente, tro piastre ma ENORMI! Dichiaram- almeno ci eravamo levati di mezzo mo senza pericolo di smentita che le famigerate scale; la tortura della non ci sarebbero mai passati su per nostra mattinata. le scale e il nostro Duce non poté Intanto si era fatta l’una e il nostro che constatarne la fondatezza di condottiero decise che aveva fame questa affermazione. e che (forse) ce l’avevamo anche Ipotizzo di togliere le ringhiere noi. Accettammo la pausa e l’invito, in ferro per far transitare l’ingom- con discrezione ma con assoluta brante fardello, ma convenne che fermezza nel considerare la pausa avremmo dovuto segarle, dato che necessaria in modo assoluto. erano cementate alla base. Mangiammo bene, devo dire ad Il nuovo venuto si scrollò nelle onor del vero, in un ristorante sulla spalle rivelando che c’era un’altra provinciale dove si fermavano sem- apertura sullo stesso livello di dove pre i camionisti: servizio celere, por- ci trovavamo, dove ci entrava anche zioni abbondanti e cibo gustoso. La il furgone intero, se lo volevamo. nostra defaticante mattinata fu pre- Se lo volevamo? sto dimenticata e oggetto di lazzi a non finire sul fatto di come eravamo Lo guardammo come dei naufraghi scemi a non aver capito che nessu- guardano la sottile linea all’orizzon- no si sarebbe fatto quelle scale per te che qualcuno ha affermato esse- portare i bigliardi nel seminterrato! re la terra ferma. Se non fosse sta- to così torvo in viso e a dire la verità La megera venne con noi, non anche un poco sporco, l’avremmo smise mai di fumare, lo fece anche abbracciato e baciato per la rivela- mentre mangiava; era incredibile: zione che ci aveva testé fatta! masticava con la sigaretta accesa in un angolo della bocca! Detto fatto il tizio andò dietro una specie di palco e scostando dei ten- Andrea, che era di un pezzo il più daggi pesanti di un velluto rosso ri- giovane fra noi tre, ne era affasci- camato in oro, svelò un portone di nato e sbirciava le gambe della ragguardevoli dimensioni con tanto signora appena gli si presentava di doppio catenaccio. Non era nem- l’occasione. Sia io che Michele ci meno chiuso a chiave: aprimmo e lanciavamo segni di intesa: per noi ci trovammo su un piazzale rag- era chiaro come il sole che la tizia

21 Jurassic News - Anno 5 - numero 27 - gennaio 2010

era a dir poco equivoca e il suo riproduzioni di plastica), era appe- parlare sboccato la qualificava so al soffito al centro della sale. Su indiscutibilmente. Il nostro titola- tutto il pavimento una moquette re invece era a suo perfetto agio rossa, anzi amaranto. e oserei dire che la corteggiava in Michele mi indicò lo spazio vuoto qualche momento, se la cosa non sotto il lampadario e disse che era mi fosse sembrata di pessimo gu- chiaro che li c’era stato un tavolo e sto. mi mostrò i segni delle gambe del- Comunque il pranzo finì in bellez- lo stesso sulla moquette. Concor- za con caffè e amaro doppio, il tut- dammo che era un tavolo da rou- to signorilmente offerto dal nostro lotte; forse non era vero, ma così titolare. La megera si fece mettere voleva la nostra fantasia. in conto anche due pacchetti di si- Quando il titolare della Game garette dichiarando che: -“Poi fac- Star, Tiziano, si rifece vivo era or- ciamo i conti”. Il nostro eroe pagò mai buio. Aveva un’aria soddisfat- tutto e stette zitto, forse sperando ta, come quando in certe rare gior- di recuperare altrimenti le spese nate ti va tutto per il verso giusto. della sua magnificenza, lascio im- Noi al contrario eravamo esausti, maginare a voi come. affamati e vogliosi di andarcene a Non potrei giurare che la cosa gli fare la doccia. riuscisse, ma quello che è certo è Partimmo quindi io e il titolare su che sparirono entrambi “in ufficio” uno dei due furgoni, Andrea e Mi- e riapparvero solo a cose fatte, chele alla guida sull’altro. Arrivam- cioè a furgoni caricati e noi impa- mo che erano quasi le sette e si zienti di partire che si erano fatte doveva scaricare. Altra faticaccia, quasi le cinque di sera. altre imprecazioni e altra scheg- Nell’attesa esplorammo quel- giatura di una delle piastre, que- lo strano locale scoprendo delle sta volta in maniera seria, tanto da stanze attigue ben arredate con renderla praticamente inservibile, divani e con tavoli da gioco. Arri- almeno questo disse il nostro capo vammo poi in una stanza ampia quando si rifece vivo. Mica era sta- dove c’erano un sacco di sedie to li ad aiutarci a scaricare, ci man- imbottite con velluto verde, spec- cherebbe! Si arrabbiò e molto, poi chi alle pareti ma nessun tavolo o si rese conto che se avesse detto altro arredo che potesse rivelare a ancora una sola parola la piastra quale utilizzo essa era adibita. che stavamo scaricando in quel Il grande lampadario che avrà momento sarebbe finita sui suoi avuto diametro di due metri, dal piedi. Fece un passo indietro, nem- quale pendevano innumerevoli cri- meno mi avesse letto nel pensiero stalli (non me ne intendo e non sa- e se ne andò brontolando. Quella prei se fossero preziosi o semplici sera arrivai all’albergo che erano

22 Jurassic News - Anno 5 - numero 27 - gennaio 2010 quasi le dieci, ero stanco morto e e non solo cose tecniche, come si per la cena era tardi. Mi buttai sot- è visto. to la doccia e ci stetti finché l’ac- La prima volta fuori casa per così qua cominciò a venire fredda, poi tanto tempo, in un ambiente nuo- mi addormentai di botto appena vo dove non conoscevo nessuno. toccato il cuscino. Non è nulla, lo so, ma capii per la Il giorno dopo mi sentivo come se prima volta che si poteva fare, che fossi saltato giù da un treno in cor- ci si poteva anche muovere dal sa e rotolato trecento metri giù per paese e guadagnare con un po’ la scarpata: letteralmente a pezzi. di sofferenza un bricciolo di cono- In laboratorio constatai che Miche- scenza in più. le e Andrea non stavano meglio di me e stavano concertando il modo Anche le delusioni, le faticacce, il di rifiutarsi in futuro di fare quelle lavoro non dovuto e lo sfruttamen- sfacchinate. A me poco importava to da parte di Tiziano che si era ormai: ero qualsi alla fine della ter- trovato per un giorno un operaio in za settimana e fra qualche giorno più e gratis, ritengo facciano parte si sarebbe compiuto il mio destino. del mettersi in gioco e dell’accetta- basta bigliardi! Pensai ma mi sba- re le esperienze che la vita ci man- gliavo dalla grossa. Infatti anche da, buone o cattive che siano. alla Automatik si noleggiavano e vendevano bigliardi, ma io non lo sapevo ancora... [Lp] Con il senno di poi mi viene spon- taneo biasimarmi per aver accet- tato qualsiasi imposizione relativa al lavoro. Avevo troppa voglia di cambiare, di pavoneggiarmi con il titolo di “tecnico elettronico”, di di- mostrare con potevo fare qualche lavoro intellettuale invece che star- mene a spazzare il magazzino del supermercato. Oggigiorno imparo dai giovani che non vale la pena affannarsi tanto: basta aspettare rifiutando qualsiasi offerta di la- voro che non ci sembri adeguata. Tanto, pagano i genitori... Comunque imparai abbastanza cose in quel breve spazio di tre settimane passate alla Game Star

23 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Come eravamo...

Storia dell’interfaccia utente (2)

La storia dei sistemi Tastiera e stampante un colloquio riga per riga con la e degli uomini che macchina mediato da un display hanno creato un e ci pensiamo bene, elettronico. In un primo tempo l’ou- mondo nuovo. una cosa è rimasta più tput fornito dopo ogni riga emes- o meno intatta nel corso sa da tastiera, serviva unicamente degliS anni: la tastiera. La tastiera come feedback per l’operatore che alfanumerica ha delle qualità evi- aveva così conferma dell’avvenu- dentemente insostituibili e, salvo ta digitazione corretta della riga di l’adeguamento tecnologico del caratteri di input. Analogamente caso, stiamo usando ancora un nell’output che praticamente ab- meccanismo di input che risale bisognava semplicemente della alla scoperta della macchina da stampa di un risultato numerico o scrivere. poco più. Una certa grafica primor- diale si poteva ottenere stampan- do su un foglio una combinazione Tastiera e stampante messe in- di simboli e caratteri che guardati sieme nello stesso dispositivo (un da lontano potevano in qualche Una Teletype o tavolino di metallo), hanno costi- misura rendere l’idea di una figura nella traduzione tuito il primo terminale a caratteri bidimensionale. italiana una preannunciando quella che sareb- “telescrivente”. be stata una evoluzione possibile: Il calcolatore non gode in princi- pio di una periferica espressamen- te progettata per le sue esigenze. All’inizio infatti è stata la teletype a farla da padrona. Come spesso succede infatti, le nuove tecnolo- gie utilizzano in parte quello che si trova sul mercato in quel momen- to e la telescrivente esisteva nelle aziende (di solito una) ma soprat- tutto esistevano i fornitori che le costruivano. Immaginiamo i salti di gioia di codesti imprenditori che si videro moltiplicare le possibilità di vendere i loro prodotti, eventual-

24 Jurassic News - Anno 5 - numero 27 - gennaio 2010 mente un poco adattati, nel settore emergente del Corporate Compu- ting.

Il terminale all-in-one video-ta- stiera ha conosciuto molteplici im- plementazioni e una discreta fortu- na. Ad esempio la nostrana Olivetti ne ha cavalcato il successo pro- ducendo sistemi di videoscrittura come le famose BCS (che since- ramente non mi sovviene di quale combinazione di parole sia la sigla, qualcosa come Business Calcola- tor System o magari qualcosa di molto più italico...).

Lo scopo di questo articolo non è I tasti funzione sono una invenzio- l’evoluzione tecnologica dell’har- ne che risale all’epoca dei termina- Olivetti BCS. dware, per cui non parleremo di li TTY dei mainframe. Ancora oggi Quella mostrata come la tastiera si sia evoluta e nei file di configurazione dei vari in fotografia (la abbia coinvolto tutte le possibilità Unix (ad esempio Linux) si parla di macchina, non elettro-meccaniche, chimiche, ot- tasti PF1…PFn, che è il nome che la ragazza!) tiche,… possibili ed immaginabi- dava IBM ai tasti “fuori testo” nei è in realtà una li per ottenere dei tasti da pigiare propri terminali. versione molto (magari solo virtualmente). Una evoluzione in linea con que- evoluta con tanto sto è stata la comparsa di tasti le- di doppia unità gati a specifici programmi e più in floppy da 8 pollici. Dal punto di vista dell’interazio- generale ai tasti programmabili, ne uomo-macchina, la tastiera ha cioè dove l’utente può intervenire cercato di venire incontro alle mol- per associare una sequenza di co- teplici esigenze che i nuovi sistemi mandi allo stato di “tasto premuto” operativi e soprattutto programmi rilevato dalle routine di input del applicativi si sono inventati nel cor- sistema operativo in uso (normal- so del tempo. Ci ha pensato Apple mente sono pre-programmati solo per prima a stabilire che era ne- per Windows). L’idea non è co- cessario il “tasto mela”, dato che il munque nuova e già i costruttori classico “Control” già peraltro pre- dei primi home a volte la prevede- sente nelle tastiere industriali, non vano come features per promuo- era sufficiente. vere l’usabilità delle proprie realiz-

25 Jurassic News - Anno 5 - numero 27 - gennaio 2010

ad esempio geografi- che o semplicemente cartesiane. Ricordo a questo pro- posito una geniale ap- plicazione di un plotter HP collegato all’HP85, che permetteva anche l’input. Funzionava più zazioni. o meno così: si mette- La tastiera del La tastiera, oltre a diventare più va il grafico con la curca da rileva- terminale 3270 tecnologica (senza fili ad esem- re sul piano del plotter e si faceva della IBM. I tasti pio), ha provato ad integrare altre partire il programma che rilevava funzione PFxx sono periferiche di input: il mouse prima l’input. A questo punto era l’abilità quelli in doppia fila di tutto. Si tratta di poco più che dell’operatore nello spostare il pen- sulla sinistra. esperimenti, peraltro non nuovis- nino per posizionarlo esattamente simi: personalmente possiedo una sulla curva operando con i tasti di tastiera della Olivetti collegabile al movimento manuale cui la perife- PC attraverso infrarossi e che in- rica era dotata. Ad ogni punto un globa una piccola trackball. “invio” indicava al computer di re- Concludendo questo excursus gistrare la posizione del pennino, sulla periferica di input per eccel- cioè le coordinate cartesiane del lenza, possiamo senz’altro affer- plot della curva da rilevare. Que- mare che la tastiera ha attraver- sta applicazione era resa possibile sato tutta l’epopea della conquista per il fatto che l’interfaccia di colle- dell’informatica arrivando inden- gamento PC-Plotter, era la HP-IB, ne, anzi ringiovanita, al traguardo una specie di seriale a bus bidire- dell’era di Internet. zionale. Il mouse stesso ha vissuto diver- Il mouse se fasi e adattamenti in relazione al peso specifico di questa metodo L’avvento del mouse ha segna- di interazione rispetto all’interfac- to uno snodo epocale nella storia cia utente studiata per un applica- delle interfacce utente. Non è che tivo o più in generale per il sistema questo dispositivo di input sia sor- operativo della macchina. to dal deserto di idee precedente, Pallina rotolante, rilevatori ottici, anzi! Più o meno genialmente altri altre diavolerie (fino al laser), han- dispositivi di input sono stati pro- no visto la loro applicazione più o gettati e inseriti in mercati verticali, meno riuscita al mouse, per non ad esempio nella grafica tecnica, parlare degli innumerevoli eserci- con puntatori più o meno precisi zi di design, tutti fatti passare per per la rilevazione delle coordinate

26 Jurassic News - Anno 5 - numero 27 - gennaio 2010 “ultimate”, che avevano lo scopo primi am- dichiarato di rendere confortevole bienti che l’uso di questo strumento. h a n n o Contrariamente a quanto molti p e n s a t o credono, il mouse sbarca nei per- all’uso del sonal computer quando ancora m o u s e l’interfaccia grafica non era una come utile realtà. Fra il terminale a caratteri strumento e Windows (tanto per capirci), c’è di intera- una “terra di nessuno” nella quale zione con sul video si sono accomodate fine- l ’ u t e n t e . stre delimitare da simboli semigra- Deskview fici entro le quali il mouse aveva è un [Sopra] ragione di esistere. esempio di questa tendenza, ma La versione Apple anche programmi nativi per il siste- del mouse per il suo ma operativo di Microsoft ne han- Mac: un solo tasto Uno dei primi personal a consen- no cavalcato l’onda. Uno che mi e una ergonomicità tire l’uso del mouse è stato il vene- viene in mente, perché l’ho usato che oggi sarebbe rabile Apple IIe/IIc che fece propria parecchio, è il Turbo Pascal della inaccettabile. la periferica studiata per la nuova Borland che nelle sue release più macchina di Apple, cioè il Mac. avanzate (ad esempio la 7), ha fat- [Sotto] I PC propriamente detti, cioè le to un uso sistematico del concetto lo Smaky Mouse, macchine IBM compatibili o DOS di punta e clicca. inventato al Machine, hanno anch’esse tentato Politecnico di di ricavare vantaggio da quella pic- Losanna; a fianco [Tn] cola appendice rotolante che tutto una versione del sommato costava poco e rendeva computer Smaky il sistema più moderno. con il relativo Sono stati i sistemi alternativi al mouse collegato. DOS o estensioni dello stesso, i

27 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Biblioteca

After the Software War

seguente: -”Se i buoni cervelli im- pegnati allo sviluppo del softwa- Le monografie re smettessero di occuparsi della vecchie e nuove che guerra compagnia contro compa- rappresentano una gnia, avremmo ora un software preziosa risorsa per molto ma molto più avanzato ri- chi ama il mondo spetto a quello che possiamo uti- dei computer in lizzare ora”. generale. Una tesi interessante e lapalis- siana, oserei dire. E’ ben evidente infatti che se tutti, ma proprio tutti, fossero impegnati a sviluppare un unico sistema operativo e un’unico Scheda software gestionale, office, etc..., Titolo: ncomincia con questa citazio- la massa critica “grigia”, non po- After the Software ne (del 2004) di John McCar- trebbe che generare un compen- War thy, uno dei padri indiscussi dio più avanzato di quanto usiamo dellaI disciplina che va sotto il nome giornalmente. E’ anche vero, per Autore: di Intelligenza Artificiale: essere obiettivi, che lo sviluppo di Keith Curtis certi comparti (penso alla interfac- “Some people think much faster Editore: cia utente piuttosto che alle pre- computers are required for Artifi- stazioni grafiche) sono state rese Keith Curtis cial Intelligence, as well as new possibili dai massicci investimen- ideas. My own opinion is that the Anno: 2009 ti proprietari. E, voi mi insegnate, computers of 30 years ago were Lingua: Inglese una azienda investe se ha (o ha fast enough if only we knew how to speranza di avere) un ritorno eco- ISBN: program them.” nomico dal prodotto che sviluppa. 978-0-578-01189-9 Significa terra-terra che il software Se ci si ferma a pensare a quanti è la vera macchina e che l’hardwa- Note: software ci sono in giro che fanno re è solo un supporto, purtroppo Free download grossomodo la stessa funzione, ci sempre sotto-utilizzato rispetto alle si rende conto che John ha azzec- pagine: potenzialità che il buon software cato il succo della faccenda. Non 301 potrebbe abilitare (e nobilitare) in stimao pensando a Linux verso esso. Windows o a MSOffice verso Ope- La tesi che sostiene l’autore è la nOffice o ancora SQLServer verso

28 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Oracle, stiamo pensando alla miriade di applicazioni svi- luppate da “solisti” e che si sovrappongono una sull’altra spesso con differenze mini- me. Tempo fa stavo cercando un software per il time-tracking, che per chi non lo sapesse è un qualcosa che aiuta a te- nere traccia di quanto tempo si passa su un progetto. Pur limitando la ricerca al sistem operativo MAC OSX, l’unico E’ anche vero che, come si dice “il Una delle immagini che uso per lavoro, mi sono trova- modo è bello perché è vario” e alla finali del volume; to difronte a qualche decina di pos- resa dei fatti l’attuale situazione riassume bene l’idea di evoluzione del sibilità fra le quali scegliere. Bene, che vede molti concorrenti e mol- software rispetto alle analizzandone qualcuna le diffe- ti prodotti che fanno più o meno la potenzialità finora non renze erano veramente minimali, stessa funzione, è comunque un espresse. (Sotto) In questa soprattutto limitandosi a confronta- “buon mondo”, basta pensare a raccolta di simboli re le funzionalità piuttosto che l’in- dove eravamo appena venti anni (tratta dal volume), terfaccia, i colori, l’amichevolezza, orsono (cioè al DOS di Microsoft) sono rappresentate etc... per convincersene. le features (alcune palesemente Il volume di 300 pagine, pubbli- [Sn] provocatorie) che cato secondo gli standard della potremmo avere ma filosofia Creative Commons, è un che non abbiamo ancora. buon testo per capire lo stato dell’arte del software nei vari comparti e la storia e retro- scena che ne ha caratteriz- zato lo sviluppo. Conclusione. E’ molto intrigante l’idea di un mondo possibile che avrebbe potuto svilupparsi se l’industria informatica avesse seguito strade diverse rispet- to a quella protezionistica (il male in fondo deriva da quel- la prima decisione).

29 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Retro Riviste

Super Apple

vaggio settimanale.

La rassegna Capostipiti di questa invasione critica dell’editoria furono i computer della Com- specializzata dai modore (Vic, 64), della Sinclair primi anni ‘80 ad (ZX81, Spectrum) e Apple (IIe, oggi IIc). Ma numerose altre case co- struttrici misero sul mercato i loro modelli cercando di ritagliarsi una loro fetta di mercato. Molto inte- ressante sarà il fenomeno degli “MSX”, cioè macchine costruite da produttori diversi ma compa- Scheda tibili a livello di codice. Il boom degli “home” fu una Titolo: egli anni dal ‘84 al ‘90 vera manna per i produttori: alta Super Apple circa abbiamo assistito percentuale di ricarico, nessu- al fenomeno dell’ home na assistenza software e scarsa Sottotitolo: computerN e con esso alla corri- assistenza hardware; insomma La rivista per gli spondente nascita di numerose un autentico paradiso anche se utenti dei prodotti testate mono-marca se non addi- la sua durata è stata limitata a Apple rittura mono-modello. meno di un decennio. La manna finì nel momento in cui entrarono Editore: Piccoli calcolatori personali, po- i cloni dei pc a prezzo “umano”. J.Soft chissimo equipaggiati in termini Si pensi ad esempio che nel 1987 Lingua: di memoria e unità magnetiche, l’Olivetti M24 costava la bellezza Italiano venivano spacciati per super mac- di 7 milioni e l’originale IBM più di chine in grado di svolgere com- 10! Era logico che l’utente non di- Primo numero: piti non solo domestici domestici scendente dal pascià di Persia, si 1985 ma soprattutto giochi e agende accontentasse delle macchine da personali. Non mancava qualche 500/600 mila lire. Prezzo speranzoso operatore pubblicita- L. 5.000 rio che cercava di vendere il tutto Gli home nascevano con un loro alla massaia di turno con la scusa sistema operativo più o meno so- delle ricette, della lista della spesa fisticato ma con una dotazione di e del calcolo del detersivo per il la- software scarsissima. Ciascuno

30 Jurassic News - Anno 5 - numero 27 - gennaio 2010 però poteva creare i propri pro- dell’informatica personale in Italia grammini grazie all’onnipresente e di cio’ gli si deve dare atto. interprete Basic.

Ecco quindi l’utilità delle riviste Evidentemente il mondo Apple di- super-specializzate, ricche di lista- spone di un installato nostrano di ti e, qualche volta con un floppy o numerosità consistentente, tale da una cassetta. Chi acquistava un convincere qualcuno nella bontà certo modello era poi praticamen- dell’impresa. La diffusione Apple in te obbligato a comprare la rivista Italia non è niente di paragonabile di riferimento, per il software senza a quella degli Stati Uniti, per meri- dubbio, ma anche semplicemente to di una diversa scala reddituale per sentirsi meno solo. A riprova (il loro potere d’acquisto è sempre di queste affermazione la nascita stato di gran lunga superiore al no- coeva di numerosissimi “Computer stro), ma anche di una lungimiran- Club”, spesso editori di “fanzine” te politica di diffusione nelle scuole dalla bassa tiratura e dalla periodi- e università. Il marketing della Ap- cità del tutto casuale, ma dai con- ple di allora era chiarissimo: “Se lo tenuti quasi sempre interessanti. studente trova il nostro computer “Super Apple” è una rivista mono- nella scuola ed impara su di esso, marca, interamente dedicata al sof- poi quando sarà in azienda spinge- tware per i sistemi Apple, edita dal rà che venga adottato anche li”. gruppo editoriale Jackson. Lo stuff editoriale è interamente italiano e La parte “Mac” della rivista è net- questo è un segnale importante: tamente divisa dalla parte “II” e l’editore non ha seguito la più facile confinata nella zona denominata strada della “rivista tradotta”.

Vale a questo punto la pena che io spenda due parole riguardo pro- prio all’editore. Il gruppo editoriale Jackson mi ha ben presto deluso: ha prodotto moltissimo ma quasi sempre prodotti “di cassetta” pron- to ad abbandonare la barca al pri- mo calo di vendite. Le traduzioni dei libri poi sono state a volte degli autentici “scapolavori”, della se- rie “Io speriamo che me la cavo”. Cio’ nonostante è stato un editore importantissimo per la diffusione

31 Jurassic News - Anno 5 - numero 27 - gennaio 2010

terzo dell’intera rivista nasce dal- la sua penna (il che a volte lascia abbastanza sconcertati: possibile non ci siano buoni giornalisti tecni- ci in grado di scrivere sui prodotti della Apple Computer?). Si va dal corso di Assembly per il 6502 alla presentazione di “Melopoli”, il Mo- nopoli programmato in Basic dallo stesso autore dell’articolo. Non manca l’articolo divulgativo: “Banche dati”. Il modem comincia a suscitare interesse; nascono le “SuperMac”. Il taglio è decisamen- prime “banche dati”, anche se per te meno tecnico rispetto alla con- la nascita delle fenomeno “BBS” troparte dedicata ai “piccoli” della c’è ancora tempo. serie II. Incominciano ad imporsi applicativi da ufficio della serie “office” e quindi prove di Word e Super Apple Programmi fogli di calcolo in Excel hanno am- pio risalto. Certo che a vederle ora Come tutte le riviste anche Super queste schermate di Excel fanno Apple arricchisce i propri servizi sorridere, ma il foglio di calcolo verso il lettore con una ricca rac- della Microsoft sul Mac è stata colta mensile di programmi pronti una autentica rivoluzione nel cam- per essere digitati e, quindi, ese- po della usabilità. guiti sul proprio Apple IIe (o altro Dedicato ad “AppleWorks”, con modello compatibile). l’analisi del modulo “foglio di cal- Simpaticamente il sommario colo”, un lungo articolo nella rubri- viene chiamato “CATALOG” che ca “Profilo Software” nella parte è appunto il comando del DOS di rivista dedicata all’Apple II. Ap- (quello Apple, non quello della Mi- pleWorks è stato il padre di tutti i crosoft per PC J ). Vi troviamo la software “suite”, cioè delle raccol- solita lista che spazia dai giochi- te di programmi collaborativi che ni tipo “l’impiccato” alle utilità tipo possono scambiarsi i dati. L’idea “tastiera magica”. era rivoluzionaria per l’epoca ma Non mancano i gestionali: “ar- il “copia-incolla” diventerà l’indi- chivio Apple” ad esempio è un spensabile feature di ogni integra- programma di circa 300 righe che to degno di questo nome (come permette di tenere un vero e pro- potremmo farne senza?). prio archivio del proprio materiale Enrico Colombini si dimostra un informatico. Niente a che fare con vero esperto della mela e un buon

32 Jurassic News - Anno 5 - numero 27 - gennaio 2010 dBase o altro più famoso, natural- Conclusione mente. Semplicemente un piccolo programmino dal quale trarre utili spunti di programmazione. La strada dell’informatica è irta di molti pericoli per i sistemi della mela e non solo dovuti alla com- Negli anni ’80 le riviste di infor- parsa dei cloni IBM. Scelte di mar- matica erano abbastanza poco keting a dir poco discutibili, disaffe- approfondite, mancava Internet e zione degli utenti e migrazione la letteratura tecnica scarseggia- verso il meno invitante ma più pra- va alquanto. I sorgenti erano una tico “mondo IBM”, lasceranno la fonte insostituibile di trucchi e tec- Apple Computer con poco più di un niche di programmazione introva- pugno di mosche in mano. A di- bili altrove; la semplicità del Basic spetto delle funzionalità limitate dei faceva il resto. primi PC (intendendo con la sigla “PC” le macchine equipaggiate con i processori Intel ed architettura Il sorgente più tosto contenuto IBM) come ad esempio nella grafi- in questo fascicolo è sicuramente ca per non parlare del suono, pur quello chiamato “Window” che ha tuttavia la strada è inesorabilmente come scopo dimostrare l’utilizzo tracciata e saranno le “DOS Ma- di due funzioni davvero incredibili chine” a dominare il mercato di qui La copertina del che permettono di creare delle fi- a pochi anni. fascicoletto allegato nestre un po’ come sul Mac Intosh “Super Apple (Windows non è nemmeno nella [Sn] Programmi”. mente di Bill Gates). Le due funzio- ni si realizzano semplicemente con due CALL e le loro istruzioni sono, manco a dirlo, farcite di PEEK e POKE che salvano e ripristinano porzioni di video. E il mouse? Beh, state preten- dendo un po’ troppo. Il Mouse per Apple IIe esiste ma l’uso è tutt’altro che banale. Credo che sarà neces- sario attendere il ProDOS per ve- dere all’opera qualcosa che asso- migli ad una interfaccia a finestre con tanto di gestione dal mouse.

33 Jurassic News - Anno 5 - numero 27 - gennaio 2010

TAMC

Algoritmi di SORT (parte 5)

[3, 5, 7, 1, 4, 6, 2] Teoria e Heap Sort Applicazioni Si vede come questa rappresen- ’Heapsort è un algoritmo di delle Macchine tazione permetta di sapere qual’è ordinamento che si basa Calcolatrici: la l’elemento maggiore dell’insieme, su una struttura computa- matematica e visto che è la radice stessa dell’al- zionaleL chiamata heap. Dal pun- l’informatica, bero. to di vista teorico un heap è una le formule e struttura dati che riceve dei valori e Estratto il primo elemento (il valo- gli algoritmi, la li mantiene ordinati facendo “emer- re 7 nel caso di esempio), l’albero completezza e la gere” come primo elemento quello va ricostruito (Figura 2). computabilità, le che ha una particolare caratteristi- strutture dati e tutto ca (ad esempio la priorità) più alta quello che sta alla Notate due cose che sono evi- degli altri elementi. base dell’informatica. denziate dalle figure: l’albero non è Una maniera pratica di realizzare ordinato ma semplicemente si as- questo è disporre di un vettore nel sicura che la radice di un nodo sia quale gli elementi sono mantenuti maggiore dei suoi figli e seconda ordinati da un qualche algoritmo osservazione: l’albero è completo, che già conosciamo, ad esempio cioè i nodi finali (foglie) sono tutti un Quicksort, cosa che ovviamen- portati allo stesso livello di profon- te non aggiunge nulla di nuovo dità. all’efficienza per ottenere un ordi- Questa seconda caratteristica (la namento di elementi, oltre al fatto completezza) non è strettamen- che realizzare una struttura heap te essenziale se si volesse usa- procedendo all’ordinamento com- re l’albero come struttura dati per pleto di un vettore ogni volta che lo heap. In realtà l’albero binario viene inserito un elemento, è a dir completo ha un vantaggio compu- poco inefficiente. Pertanto sono tazionale rispetto allo stesso albe- stati studiati metodi migliori per re- ro non completo: può essere rap- alizzare ciò. presentato in memoria come una Una prima osservazione è che un matrice. heap può essere rappresentato da Nello studio delle strutture dati un albero binario. Vediamo in figu- gli alberi sono costruiti solitamen- ra 1 come sarebbe costruito l’albe- te con due elementi: i nodi e i link. ro per il vettore di esempio: Il nodo contiene il valore in esso

34 Jurassic News - Anno 5 - numero 27 - gennaio 2010 posizionato e poi n link (due nel caso di albero binario) che puntano ai nodi figli. Il problema di questa strut- tura computazionale è che la ricostruzione dell’albero nel caso di estrazione di un nodo, diventa onerosa; in pratica an- drebbe ricostruito l’intero albe- ro. Ovviamente se vogliamo guadagnare qualche cosa nei tempi di ordinamento dobbiamo Nel listato pubblicato nella pagina Figura 1. sfruttare qualcos’altro e questo al- seguente, vediamo la semplicità L’albero binario tro è appunto la rappresentazione dell’algoritmo. iniziale costruito con dello heap come vettore di n ele- gli elementi del vettore Il programma è ridotto a due loop menti (n è anche la dimensione del da ordinare. lineari; il primo inserisce gli elemen- vettore da ordinare). ti nello heap e il secondo li estrae. Se il nodo radice occupa la pri- Le due funzioni che sottostanno ma posizione del vettore, i suoi figli alle due attività le abbimao chia- sono rispettivamente nella secon- putheap() e getheap() ri- da e terza posizione: spettivamente. [7, 5, 6,...] L’aggiunta di un nodo allo heap i successori del nodo [5] vengono consiste nel far occupare al nuovo inseriti in quarta e quinta posizio- elemento la prima posizione libe- ne: ra e poi “migrarlo” eventualmente Figura 2. [7, 5, 6, 3, 1,...] verso l’alto del vettore confrontan- La prima estrazione insomma il successore sinistro dolo con il suo genitore ed even- toglie l’elemento più del nodo i si trova nella posizione tualmente scambiandolo con esso. alto dallo heap e 2i dello heap, mentre il successore Si tratta quindi di un semplice con- riorganizza l’albero. sinistro si trova in 2i+1. fronto con log(n) elementi che va La regola è quindi molto sem- plice e così pure dato il nodo in posizione i, sappiamo che il suo genitore si trova in i/2. Trattare un albero descritto in questa maniera è, lo si capi- sce perfettamente, un grande vantaggio in termini compu- tazionali ed è proprio qui che heapsort guadagna.

35 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Program sortheap; eseguito per gli n elementi del var A, B : array[1..7] of integer; vettore. i : integer; L’operazione non bilancia l’albe- procedure putheap(i: integer); var ro binario in senso stretto, cioè è k, P : integer; temp : integer; possibile che un figlio risulti mag- begin giore del rispettivo padre per ef- k := i; fetto dell’inserimento di un nodo p := k div 2; B[k] := A[k]; che ha sostituito il genitore. while (k > 1) and (B[k] > B[p]) do begin temp := B[p]; B[p] := B[k]; Per quanto un albero binario B[k] := temp; bilanciato sarebbe migliore per k := p; end; procedere all’ordinamento, l’ope- writeln(B[1], ‘ ‘, B[2], ‘ ‘, B[3], ‘ ‘, B[4], ‘ ‘, B[5], ‘ ‘, B[6], ‘ ‘, B[7]); razione viene rimandata al mo- end; mento dell’estrazione del nodo function getheap(n: integer): integer; var k, p : integer; radice che è per destinazione temp : integer; l’elemento più grande dell’insie- begin me da ordinare. Si noti che l’ope- getheap := B[1]; B[1] := B[n]; razione di parziale ordinamento B[n] := 0; k := 1; che viene messa in atto dalla while (k < n) and ( (B[k] < B[2*k]) or (B[k] < B[2*k + 1])) do begin if (B[2*k] > B[2*k + 1]) then begin funzione getheap, viene esegui- temp := B[k]; ta su un albero ridotto di una di- B[k] := B[2*k]; B[2*k] := temp; mensione in profondità (ha perso k := 2*k; end la radice), il che rende ancora più else begin temp := B[k]; efficiente l’algoritmo. B[k] := B[2*k + 1]; B[2*k + 1] := temp; Come nel caso del Mergesort, k := 2*k + 1; end; anche l’Heap sort ha un com- end; writeln(B[1], ‘ ‘, B[2], ‘ ‘, B[3], ‘ ‘, B[4], ‘ ‘, B[5], ‘ ‘, B[6], ‘ ‘, B[7]); portamento costante rispetto alla end; complessità di esecuzione nei casi che si possono presentare. begin A[1] := 3; Infatti l’ordine è O(nlog n) per A[2] := 5; 2 A[3] := 7; tutti i casi. A[4] := 1; A[5] := 4; Abbiamo così esaminato due A[6] := 6; A[7] := 2; algoritmi (Heapsort e Mergesort) writeln(‘Heap Sort’); che si dimostrano comparabili dal writeln; writeln; punto di vista della complessità, writeln(A[1], ‘ ‘, A[2], ‘ ‘, A[3], ‘ ‘, A[4], ‘ ‘, A[5], ‘ ‘, A[6], ‘ ‘, A[7]); writeln (‘======’); e danno tempi di esecuzione mi- for i:= 1 to 7 do putheap(i); gliori rispetto agli algoritmi esa- writeln (‘======’); for i := 7 downto 1 do A[i] := getheap(i); minati in precedenza, soprattutto writeln (‘======’); writeln(A[1], ‘ ‘, A[2], ‘ ‘, A[3], ‘ ‘, A[4], ‘ ‘, A[5], ‘ ‘, A[6], ‘ ‘, A[7]); nel caso peggiore. Possiamo in- readln; serire fra di essi anche Quicksort end. che è penalizzato solo dai casi sfortunati (è dell’ordine di n2).

36 Jurassic News - Anno 5 - numero 27 - gennaio 2010

La domanda è: -”Quale dobbiamo chiamate rientran- scegliere?” ti (un esempio è il Ovviamente dipende dalle cir- COBOL), oppure costanze; infatti non è detto che non serve specifica- non si conosca proprio nulla del tamente un ordina- sistema da ordinare. Ad esempio mento ma una estra- può essere noto che il vettore è zione da un insieme parzialmente ordinato o magari or- dell’elemento che ha dinato quasi del tutto e in questo una certa proprietà caso la scelta Quicksort è migliore maggiore degli altri dei concorrenti. Questo caso suc- elementi. Questo è cede quando si debba inserire un proprio il significato insieme di numeri piccolo rispetto di uno heap: accet- all’insieme originale già ordinato. tare valori e restituire La strategia è quella di aggiun- sempre l’elemento gere semplicemente gli elementi maggiore senza ope- nuovi in testa o in coda all’insieme rare un vero ordina- originale e poi lanciare su di esso mento dell’insieme Figura 3. Quicksort che troverà il vettore già residuo. L’output del ordinato o quasi. programma sul vettore Mergesort e Heapsort hanno uno di esempio.. svantaggio rispetto a Quicksort: la dimensione di memoria che occu- Archiviato Heapsort stiamo vol- pano è il doppio dell’insieme da or- gendo verso la fine dell’esame dei dinare. Questo perché richiedono sistemi di ordinamento “fondamen- delle strutture dati di appoggio che tali” che sono studiati in algoritmi- hanno dimensione N, se N è la di- ca. La prossima volta vedremo un mensione dell’insieme da ordinare. algoritmo che ha una complessità Peraltro se stiamo ordinando og- N anche nei casi peggiori: pratica- getti diversi da semplici numeri in- mente un sogno... teri, mergesort potrebbe essere la scelta migliore perché permette la divisione fisica di sottoinsiemi che [Sm] si possono anche “appoggiare” su un file-system (è il caso di interi re- cord all’interno di un file). Heapsort è una soluzione “di nic- chia”, la sua utilità si evidenzia in due casi: quando il linguaggio che usiamo non supporta la ricorsione o è penalizzato dall’utilizzo delle

37 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Retro Linguaggi

LISP (parte 2)

dell’intera programmazione LISP. Queste si chiamano CAR e CDR La storia (pronuncia “car” e “cudar”). La pri- dell’informatica è ma restituisce il primo elemento stata anche la storia della lista passata come argomen- dei linguaggi di to, la seconda restituisce la lista programmazione. “decapitata” del primo elemento.

Funzioni e liste Esempio: (car ‘(a b c)) -> a unque il LISP è un lin- guaggio orientato alla (cdr ‘(a b c)) -> (b c) manipolazione delle li- semplice ed elegante (come sono ste,D fino a qui lo abbiamo capito sempre le cose semplici). tutti. Ora da questa dichiarazione Se ci pensate con queste due fun- di intenti ci si aspetterebbe una zioni se ne costruisce un bel po’... lista infinita di funzioni che mani- polano liste e invece, sorpresa: le Già, ma come si fa a definire una funzioni sono sorprendente poche. nuova funzione LISP? C’è a que- Come mai? sto scopo una funzione speciale il cui compito è appunto costruire al- La risposta è che qualsiasi funzio- tre funzioni. Ecco la sua sintassi: ne necessiti basta costruirsela! Bel proposito, per un programmatore moderno! Già, questi programma- (defun name (parameter*) tori “moderni” che hanno la pappa body-form*) precotta già belle e confezionata e Esempio: al massimo ereditano una proprie- tà da una classe e ne definizcono (defun somma (a b) (add a b)) due metodi in croce. Non che ci Abbiamo definito una nuova fun- sia niente di male in questo, anzi! zione che si chiama “somma” e Solo che non è proprio in sintonia che si aspetta due parametri, qui rispetto a come mi pongo difronte indicati formalmente con le due ad un algoritmo da implementare. lettere a e b. Il “corpo” della funzio- Bando alle ciance e veniamo ad ne è la sequenza di altre funzioni esaminare le due funzioni cardine da chiamare e il risultato è esatta-

38 Jurassic News - Anno 5 - numero 27 - gennaio 2010 mente del tipo restituito dall’ultima vedere e non così chiaro da legge- funzione chiamata che esce dallo re. Gusti sono gusti... stack. Definiamo ora una funzione che La valutazione del risultato restituisce il secondo elemento di una lista. Come è ben noto a tutti (credo), quando si scrive codice si scrivono (defun secondo (lista) anche errori, effettivi o potenziali, (car (cdr lista)) ) cioè i famosi bug. Cioè: per ottenere il secondo ele- Ad esempio se applichiamo la mento della lista “lista” basta pren- funzione “secondo” ad una lista dere il primo elemento della lista che ha un solo elemento cosa suc- decapitata del primo elemento. cede? Per esercizio provatevi a definire (secondo ‘(a)) la funzione che restituisce il terzo da un risultato o da errore? elemento della lista. Non è com- plicato, ma se non ci riuscite ecco Cercando di ragionare come il qua la soluzione: sistema durante la valutazione, vediamo che prima di tutto viene (defun terzo (lista) risolta la funzione (cdr lista) che (car (cdr (cdr lista) ) risponde con un NIL, cioè il pun- ) tatore vuoto perché in una lista di ) un solo elemento non c’è nessun Abbiamo indentato il codice e cudar! portato le parentesi di chiusura su righe separate per chiarezza espo- Poi questo risultato viene preso in sitiva. In realtà nel codice che si carico dalla funzione car e la valu- leggerebbe in giro il tutto è scritto tazione finale diventa: “plan” senza grande importanza (car NIL) alla sintassi: il cui risultato è NIL, cioè un pun- tatore vuoto. (defun terzo (lista) (car (cdr (cdr lista)))) Come si vede dall’essempio scrit- to, la proliferazione delle parentesi rischia di confondere la vista. Alcuni dialetti accetterebbero una sintassi con parentesi quadra a chiusura:

(defun terzo (lista) (car (cdr (cdr lista] ma secondo “i puristi” è brutto da

39 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Definizione di nuove funzioni non restituisce esattamente il ri- sultato desiderato. Si vuole costruire una funzione Vediamo: che data una lista ne restituisca (primi_tre ‘(a b c d e f)) un’altra formata solo dai primi due elementi della lista originale. -> ((a b) c) Ecco il codice: cioè non si tratta propriamente di una lista con i primi tre elementi

(defun primi_due (lista) ma di una costruzione più com- (list (car lista) plessa: una lista formata da una (car (cdr lista)) ) sottolista e dal terzo elemento del- ) la lista sorgente. Riteniamo superfluo commentare questo codice che dovrebbe ormai Per ottenere il risultato voluto do- esservi semplice da comprende- vremmo modificare la nostra defi- re. nizione: Ora la funzione applicata ad una (defun primi_tre (lista) lista: (list (car (primi_due lista)) (car (cdr (primi_due lista))) (primi_due ‘(a b c d)) (terzo lista) ) ) -> (a b)

Come si diceva la costruzione di Nuove funzioni matematiche una elaborazione LISP consiste nella definizione di funzioni che Vediamo un esempio di definizio- alla fine portano al risultato. Ad ne di una funzione che fa uso delle esempio per costruire una fun- operazioni aritmetiche. zione che restituisca una lista dei Supponiamo di voler definire una primi tre elementi di un’altra lista funzione che applicata a due nu- sorgente potremmo scrivere: meri restituisca il resto della di- vision. Chiameremo questa fun- (defun primi_tre (lista) (list (car lista) zione RESTO, con uno slancio di (car (cdr lista)) fantasia :-) (car (cdr (cdr lista))) ) ) Dato che la funzione DIV resti- Oppure, usando le funzioni pri- tuisce il quoziente della divisione, mi_due e terzo, prima definite: faremo uso di una funzione prede- finita built-in che si chiama INT e che restituisce la parte intera di un (defun primi_tre(lista) (list (primi_due(lista)) numero. (terzo lista) ) ) Ad esempio: In effetti il codice appena scritto (INT 3.14) -> 3

40 Jurassic News - Anno 5 - numero 27 - gennaio 2010

quindi ad esempio: utili all’elaborazione che affrontia- (DIV 10 3) -> 3.33 mo in quel momento. (INT (DIV 10 3)) -> 3 Concludiamo questa seconda puntata del corso ricordando che Questo è quello che ci serve per il LISP è il linguaggio di program- ricavare il resto, infatti scriveremo: mazione interno ad Autocad, il sof- tware di disegno tecnico leader del (defun resto (a b) (sub b mercato. (mult a (int (div a b)) Tale implementa- ) ) zione viene chiama- ) ta Visual Lisp ed in Ora, basta provare: rete si trovano nu- (resto 10 3) -> 1 merose risorse ad esso dedicate.

Il bello dei linguaggi funzionali è che la costruzione di nuove funzio- [Sm] ni è un processo del tutto naturale e supportato in maniera nativa. Il LISP non possiede di suo una li- breria matematica particolarmente sofisticata. Esistono le funzioni tra- scendenti e trigonometriche e poco altro, ma come abbiamo visto non è difficile procedere alla costruzio- ne di una propria libreria di funzioni

Sopra: la coper- tina del libro “The Visual LISP Deve- loper’s Guide”

a fianco: il sito del prodotto “LISP Generator”

41 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Edicola

Abandoned Times

ta di servizi e di efficienza per l’uti- In edicola o sul lizzatore, nel caso del gioco non è Web le riviste affatto così scontata l’evoluzione. che parlano Ci possono essere cioè dei giochi di computer, che sono inarrivabili per giocabi- preferibilmente lità e atmosfera anche se magari retro e free la grafica è blocchettosa, i colori sono solo quattro e il 3D manca del tutto. Fra i titoli che gradualmente esco- no dai listini e dalla disponibilità del mercato ci sono anche migliaia Scheda di giochi che ogni anno vengono l retro gaming è sicuramente abbandonati al loro destino. La Titolo: una branca notevole delle atti- definizione di abandoned-game Abandoned Times vità che riguardano il recupero fa riferimento al software non più deiI vecchi calcolatori e in partico- supportato e non più disponibile Sottotitolo: lare il loro uso. alla vendita per il quale chi detiene Abandoned but not In effetti, se andiamo ad esami- i diritti di sfruttamente ne ha libera- forgotten nare per cosa sono usati eventual- to l’uso. Pur essendo una minima mente le vecchie piattaforme di parte rispetto alla massa di titoli, Editore: elaborazione, scopriremo che per i giochi “liberati” costituiscono co- Red Avatar la maggior parte dei casi si tratta munque una numerosità notevole di piattaforme adattate al gioco. e un parterre interessantissimo. Web: Cioè si conserva il vecchio home Non mancano i siti Internet curati www.abandonia.com per farci girare i vecchi titoli ludici da appassionati del retro-gaming ai quali siamo affezionati, mentre fra i quali Abandonia (indirizo www. Lingua: è solo marginale l’utilizzo con altri abandonia.org) che è focalizzato Inglese applicativi. principalmente (se non in manie- Prezzo: Se i vari programmi applicativi, ra esclusiva) verso la piattaforma Free ad esempio di produttività perso- PC. Primo numero: nale come word-processor o simili, Recentemente gli amici del sito Maggio 2009 hanno evoluto le loro prestazioni e Abandonia, che fa parte del “giro” in definitiva arricchita la loro offer- che regolarmente visito, hanno

42 Jurassic News - Anno 5 - numero 27 - gennaio 2010 dato vita ad una iniziativa editoria- punto di vista grafico, presenta un le con nome “Abandoned Times” sommario organizzato in rubriche, che intende essere un po’ quello che riporta: che Jurassic News è per il retro • Gaming Sins: how multi-pla- computing in generale. tform releases hurt the PC L’idea di costruire delle fanzine games industry. ad immagine di rivista periodica • Review: DreamWeb prende sempre più piede (in realtà • Listen Up! 2D or not 2D non è mai morta questa idea), an- che se poi, come sappiamo benis- • The Underground: Betasup- simo, queste iniziative raramente pe sopravvivono a qualche numero. • Honour. Fallout VS Fallout 3 Speriamo che Abandoned Times • Review: MechWarrior possa proseguire e costituire un • Loving Memory: Commander interessante archivio di recensio- Keen ni, interviste, prove varie dei titoli che hanno appassionato moltis- In conclusione, una rivista com- sime persone negli anni dal 90 in pletamente free che è piacevole La home page del poi. da leggere e che rivela molte cose sito Abandonia. sui vecchi titoli per PC. La piattaforma PC, come tutti gli Spartano ed essen- appassionati sanno, ha vissuto fra [L2] ziale. il 1990 e il 2000 un’epoca d’oro per quanto riguarda le uscite di titoli di intrattenimento. In quegli anni le console rimasero un po’ al palo e i vecchi home mostrarono il fiato corto rispetto alle crescen- ti esigenze di coinvolgimento da parte del giocatore incallito, ma anche occasionale. Ci sono stati dei titoli vere “killer applications” rispetto alla piattafor- ma. Mi viene in mente ad esempio “Flight Simulator” di Microsoft o “Doom”, tanto per citare due gio- chi che tutti conoscono, ma ovvia- mente la lista sarebbe lunghissi- ma. Venendo alla fanzine, “Aban- doned Times” per ora ha solo 12 pagine, coloratissime e curate dal 43 Jurassic News - Anno 5 - numero 27 - gennaio 2010

SAP Corner

SAP NetWeaver 7.0 Trial Ed.

Una nuova rubrica dedicata ad un ambiente non retrò che ospitiamo in esclusiva per l’Italia

utti i software si evolvono, versione precedente: si parte con così accade anche per la pagina html che riporta le infor- l’ambiente ERP per eccel- mazioni principali e il link per far lenza:T cioè per SAP. partire effettivamente il program- Dopo aver lavorato sulla “vecchia” ma di Setup (figura 2). 4.6, è venuto il momento di aggior- nare la nostra installazione, tanto Per quanto non strettamente ne- per tenersi allineati con le novità. cessario, è bene disinstallare la Abbiamo scaricato la nuova ver- precedente versione, altrimenti si sione del trial dal sito “educational” potrebbero verificare delle interfe- di SAP via registrazione gratuita. I renze nel registry della macchina due file .RAR di circa 1,2 Gb ca- (informazione comunque riportata dauno vanno scompattati per ave- in dettaglio nella documentazione re un’unica directory di installazio- di installazione). ne contenente tutto l’occorrente (2,8 Gb circa). Dal punto di vista tecnologico la L’installazione è simile a quella versione 7.0 è molto diversa dalla Figura 1. che abbiamo già intrapreso per la L’interfaccia. 4.6 con la quale abbiamo mosso

44 Jurassic News - Anno 5 - numero 27 - gennaio 2010 i primi passi nell’ambiente ABAP. Si può schematizzare l’evoluzione nella tabella riportata più sotto. Il bello dell’ambiente SAP è che no- nostante l’evoluzione tecnologica e funzionale, l’intero ERP rimane co- erente con se stesso e i vecchi pro- grammi continuano a “girare” con al li- mite pochi aggiustamenti da ricercare fra l’utilizzo di oggetti complessi che magari, nella nuova versione, hanno avuto in dono un parametro in più.

Figura 2.

Figura 3.

Anche ABAP, il linguaggio di pro- grammazione “storico” di SAP, è ri- masto pressoché invariato mentre ad esso si è affiancato (già dalla versione 6) il più moderno (o “alla moda”) Java. Come abbiamo già avuto modo di ri- levare nelle puntate del corso pubbli- cate su Jurassic News, in effetti pochi usano Java e solo se i loro progetti necessitano di oggetti e librerie “esoti- che” difficilmente riproducibili nell’am- biente ABAP. L’installazione, rispettate le poche re- Figura 4. gole elencate nei requisiti di sistema, non presenta intoppi e prosegue senza difficoltà. L’unica “sorpresa”, se così si può dire, è la constatazione che al ter- mine del processo di setup, l’ambiente va ad occupare qualcosa più di venti giga. Da tenerne conto se si inten- de installare in una macchina virtua- le. Un’altra idiosincrasia è il fatto che l’installazione della GUI, cioè la parte Client dell’ambiente (figura 4), deve es- sere lanciata dopo aver copiato la cor-

45 Jurassic News - Anno 5 - numero 27 - gennaio 2010 rispondente Per far partire il servizio si deve d i r e c t o r y lanciare Start Application Server dal DVD di che si presenta come una conso- installazio- le DOS (figura 7). Questa console ne al file può essere anche chiusa, contra- system (ad riamente alle versioni precedenti Figura 5. esempio sulla scrivania) del com- dell’ambiente Trial che richiedeva- puter ospite. E’ strana questa cosa no di lasciarla in esecuzione. e non ho mai capito se questo suc- A Questo punto va configurata cede solo a me, visto che altri tec- la connessione al server (si tratta, nici cui ho rivolto la domanda non ricordiamo di un ambiente client- mi hanno dato importanza, come server). Attraverso “SAP Logon” se stessi dicendo una stupidaggi- deve essere impostato l’indirizzo ne. Comunque sia, siete avvisati: di rete e i parametri del server da se il setup della GUI vi da un erro- raggiungere (figura 4) re di protezione, copiate la directo- Per configurare i parametri (colo- ry sul disco e partite da li. ri, font,..) della GUI la SAP ha mes- so a disposizione un configuratore Assieme al server e alla GUI (Tweak SAP GUI) (figura 6) client, è possibile (e direi consi- Al momento del LOGIN al siste- gliato), caricare le utility di gestio- ma si possono scegliere tre diversi ne del database (Figura 3). utenti, differenziati per ruolo: SAP* Al termine ci si ritrova con quattro è un utente amministratore, così icone sul desktop (figura 5) come DDIC (ricoprono utilizzi di- Si hanno a disposizione i seguen- versi) e il “classico” BCUSER che ti programmi: SAP Management è l’account di sviluppatore. Tutti e Console, Start Application Server, tre hanno come password “mini- SAP Logon e Tweak SAP GUI. sap” (Figura 7).

Figura 6. Un programmatore SAP che pro- venga da una release precedente dell’ambiente workbench si ritrova famigliarmente con gli stessi stru- menti, menù e tools delle prece- denti versioni. In realtà esistono minime differenze, soprattutto esi- stono tool aggiuntivi che rendono ancora più completa la dotazione degli strumneti disponibili al co- der.

46 Jurassic News - Anno 5 - numero 27 - gennaio 2010 Quello che ha subito un opportu- no svecchiamento è l’editor (figura 8), adattato ora molto meglio alle moderne tecniche di codifica. Scrittura, check e attivazione del codice si svolge esattamente nella forma consueta (Figura 9).

Figura 7.

Conclusione. Un plauso alla SAP AG che con- tinua con lo stesso entusiasmo e con la stessa caparbietà a fornire un ambiente educational/test per avvicinare sempre più persone al proprio sistema ERP. Certo la cri- si economica sta colpendo anche questa azienda, che recentemente ha annunciato un piano di tagli pre- occupante, ma in ogni caso rimane ben salda al top dei sistemi infor- mativi aziendali nel mondo.

Figura 8.

[Mx]

Nota della redazione Figura 9. Sono pochissime le occasioni per sentire parlare di SAP dal punto di vista del programmatore in Italia. Abbiamo colto l’occasione di cono- scenza di una persona che lavora nel campo come consulente free lance per curare prima il corso di ABAP (terminato da poco) ed ora per lancirare una vera rubrica fissa dedicata al sistema leader di mer- cato nell’informatica gestionale.

47 Jurassic News - Anno 5 - numero 27 - gennaio 2010

Apple Club

Tutti i linguaggi dell’Apple (12)

La mela come paradigma della programmazione

Il linguaggio PL/Bit tutto sommato è una traduzione uno a uno fra istruzione e codice omanda: -”Ma se il lin- binario, ma un “vero” linguaggio ad guaggio che sto cercan- alto livello, magari strutturato? do non è disponibile per Prima di tutto è naturale chiedersi il Dmio calcolatore?” che necessità ci sia di disporre pro- -”Nessun problema: se manca un prio di quel particolare interprete o compilatore basta costruirselo!”. compilatore quando è noto a tut- ti che tutti i linguaggi formali sono Certo che questa affermazione equivalenti. Il che significa in paro- mette la parola fine alla ricerca del- le povere che si può implementare la disponibilità del linguaggio del un algoritmo in qualunque linguag- quale abbiamo proprio bisogno. Per gio di programmazione purché suf- contropartita è anche abbastanza ficientemente completo. inquietante, dal momento che chi La risposta è che una macchina Il linguaggio PL conosce di programmazione sa in una particolare benissimo che non è proprio una come l’Apple II è usata molto per il implementazione passeggiata costruirsi un interpre- settore educational, cioè per quelle sponsorizzata dalla te e peggio ancora un compilatore. attività di insegnamento dell’infor- rivista Bit. Passi per un macro-assembler che matica e della programmazione dei

48 Jurassic News - Anno 5 - numero 27 - gennaio 2010 calcolatori. Se disponiamo di una descrizione teorica di un linguag- gio di programmazione, cosa che succede ad esempio sul libro di Nikolaus Wirth “Algorithms + Data structures = Programs”, ci piace- rebbe averne una implementazio- ne pratica con la quale sperimen- tarne le caratteristiche. Preso atto di questa considera- zione e constatato che nel volume citato esiste la descrizione formale del linguaggio di programmazio- che contiene il codice da compila- ne chiamato PL/1, un certo Carlo re, il programma in Applesoft (esi- Il compilatore in Magnaghi ha deciso di costruirse- ste anche in versione compilata azione, dopo aver ne una implementazione che gira con TASC), crea il codice oggetto chiesto il nome del file sull’Apple IIe sotto DOS. La de- e produce infine l’eseguibile con sorgente e i parametri di compilazione scrizione del suo lavoro è appar- l’ausilio di una libreria di funzioni sa su i fascicoli di programmazio- standard a corredo del compilato- ne allegati alla rivista Bit e che si re stesso. chiamava “Bit Riservato Personal” Al termine della compilazione il nell’anno 1984 (precisamente sui file binario prodotto è eseguibile Il compilatore non fascicoli numerati 52, 53 e 54). con il consueto comando BRUN produce direttamente L’articolo è necessariamente mol- del sistema operativo DOS 3.3. l’eseguibile ma un sorgente assembler che to lungo, comprendendo tutti i sor- Non ci sembra il caso di dilun- deve poi a sua volta genti del compilatore: un sorgente garci nell’esame di come sia co- essere assemblato per BASIC di circa 500 Statement più struito questo compilatore che, lo generare il vero file un listato assembler, oltre che tutte ripetiamo, è un eccellente esem- binario pronto per l’esecuzione. le spiegazioni del caso e tre sor- pio di programmazione. Piuttosto genti in PL/Bit come test ed esem- pio delle capacità del linguaggio e del compilatore in se e per se. Davvero è da rendere omaggio all’autore perché è un lavoro accu- rato, per nulla semplice e di gran- de spessore tecnico! Messe da parte le doverose lodi al merito, passiamo a descrivere il prodotto. Partendo da un sorgente di testo

49 Jurassic News - Anno 5 - numero 27 - gennaio 2010

che era un purista ossessionato dalla semantica dei linguaggi for- mali. Si parte con la dichiarazione delle variabili globali. Il linguaggio tratta solo variabili intere e quindi non c’è alcuna necessità di dichiararne il tipo. Quello che segue ARRAY sono dichiarazioni di vettori con i rispettivi limiti inferiore e superio- re. Un programma PL è composto da facciamo un giro nel linguaggio PL un corpo e da eventuali procedure Nessun errore di e nella sua implementazione “ca- che sono richiamate all’interno del- compilazione: bene! sareccia” PL/Bit. le istruzioni. Il programma Queen Purtroppo non possiamo allegare comincia con l’istruzione BEGIN il PDF della serie di articoli, perché in fondo alla pagina e termina con coperti da copyrights, per cui vi do- END seguito dal punto. Il punto “.”, vete accontentare di un sommario come in Pascal, determina la fine overview del sottoscritto sulle prin- del sorgente. cipali caratteristiche del linguag- Le due subroutine, chiamate ri- gio. spettivamente TRY e PRINT si Partiamo con leggere un sorgente chiamano reciprocamente e ricor- di esempio. Si tratta del program- sivamente, nel senso che TRY ma Queen, abbastanza famoso e chiama la PRINT quando ha biso- che consiste nel trovare le posizio- gno di mandare in output un risul- ni di otto regine sulla scacchiera in tato e la TRY chiama se stessa per modo che non siano mutualmente iterare la ricerca delle soluzioni. minacciate. Una cosa strana e che salta im- Nel box listato 1 l’intero sorgen- mediatamente all’occhio è la pre- te. Così a prima vista noterete che senza di istruzioni precedute dal praticamente è Pascal, del resto simbolo chiocchiola “@” e che in il Wirth è proprio l’ideatore del lin- pratica è un codice assembler in- guaggio Pascal e questo PL/1 è line. evidentemente uno studio prelimi- Ad esempio nella procedura nare al linguaggio che poi l’ha reso PRINT serve per chiamare le rou- popolare nel mondo. tine di output sul video contenute L’assegnazione del valore ad una nel firmware dell’Apple IIe. Mentre variabile tramite l’operatore “:=” di- l’istruzione in-line rei che è proprio la firma di Wirth @ JSR $FD8B

50 Jurassic News - Anno 5 - numero 27 - gennaio 2010 VAR I; ARRAY Listato 1. A 1..8, Il sorgente del B 2..16, programma Queen. C -7..7, X 1..8;

PROCEDURE PRINT; VAR K,NUMOUT; BEGIN K:=0; REPEAT K:=K+1; NUMOUT:=X(K); @ LDA LSD @ JSR $FDE3 @ JSR $F948 UNTIL K=8; @ JSR $FD8B END;

PROCEDURE TRY I; VAR J; BEGIN J:=0; REPEAT J:=J+1; IF A(J) AND B(I+J) AND C(I-J) THEN BEGIN X(I):=J; A(J):=0; B(I+J):=0; C(I-J):=0; IF I<8 THEN CALL TRY I+1 ELSE CALL PRINT; A(J):=1; B(I+J):=1; C(I-J):=1 END UNTIL J=8 END;

BEGIN I:=0; @ JSR $FD8B REPEAT I:=I+1; A(I):=1 UNTIL I=8;

CALL TRY 1 END. 51 Jurassic News - Anno 5 - numero 27 - gennaio 2010

che si Vediamo come le procedure pos- trova nel sono ricevere parametri come corpo del nella MOVEDISK che riceve due s o r g e n t e coordinate: ORG e DST, eviden- principale, temente con significato di origine serve per e destinazione. Ricordiamo che il pulire il vi- “gioco” consiste nello spostare dei deo. dischi di dimensione variabile da La stra- un piolo iniziale al piolo finale uti- La macchina, bontà da seguita lizzando al più un piolo intermedio sua, sta sputando fuori dall’autore del compilatore è stata con il vincolo di non appoggiare le soluzioni del gioco quella di focalizzarsi sulla tradu- mai un disco su uno di diametro delle otto regine. I inferiore. numeri si riferiscono zione delle istruzioni proprie del alla posizione della linguaggio usando quello che è di- regina nelle rispettive sponibile per l’I/O già implementa- Usare il compilatore righe. Ad esempio la to nella macchina. prima soluzione: 1, 5, Sul dischetto distribuito con il 8, 6, 3, 7, 2, 4 significa che nella prima compilatore esistono due versioni: colonna la regina è Un pochino più articolato il sor- il sorgente Applesoft classico e il nella casella 1, nella gente HANOI (box listato 2) che compilato via TASC che richiede seconda colonna risolve la famosa torre di Hanoi, però la presenza del RUNTIME c’è una regina nella posizione 5 e così via. altro tormentone da studenti di in- per essere eseguito. formatica primo anno. Devo dire che la differenza di In questo caso si parte con la esecuzione è abbastanza limita- dichiarazione INTERFACE che ta fra le due versioni, almeno sui in pratica dichiara cosa vogliamo sorgenti corti come quelli di esem- usare come output e, lo si capisce pio. Se si vuole usare l’interprete si dalle direttive che seguono la di- lancia con RUN PL/BIT, se si desi- chiarazione, stiamo lavorando con dera usare il compilato si può usa- la pagina semigrafica 1 dell’Apple. re il file di comandi che risiede sul All’interno del sorgente nota- dischetto con nome COMPILER e te le macro come CALL HPLOT, va fatto partire con HPLOTTO, etc... di chiaro signifi- EXEC COMPILER cato. In questo sorgente c’è anche questo carica la libreria TASC la dichiarazione di costante (state- e poi l’eseguibile che si chiama ment CONST) dichiarata all’inizio PL.OBJ prima delle variabili. La sequenza In ogni caso il compilatore chiede delle dichiarazioni è rigida: prima il nome del file sorgente, il nome le costanti, poi le variabili semplici dell’oggetto da produrre, l’indirizzo e poi gli array. Del resto si tratta di di memoria (in decimale) dove si limitazioni più che accettabili.

52 Jurassic News - Anno 5 - numero 27 - gennaio 2010 INTERFACE USEPAGE 1, Listato 2. SHOWPAGE 1, Il sorgente del FILLSCREEN 1, programma Hanoi. HCOLOR 1, HPLOT 2, HPLOTTO 2;

CONST YMOVE=140;

VAR NUM,I,J; ARRAY XMID 1..20, WIDTH 1..20, YLOW 1..20;

PROCEDURE MOVEDISK ORG,DST; VAR XO,YO,XD,YD,X1,X2,XM,I,DISK,D;

BEGIN XO:=ORG*90+50; XD:=DST*90+50; YO:=200; YD:=190; I:=0; REPEAT I:=I+1; IF YLOW(I)ORG)-1; ....

53 Jurassic News - Anno 5 - numero 27 - gennaio 2010

vuole par- per arrivare alla fine. ta il codice Che volete farci: si lancia e si va a e l’indiriz- prendere il caffé, un classico! zo dello Il codice sorgente così ottenu- stack (vie- to consiste in un file di testo con ne consi- l’elenco delle istruzioni mnemoni- gliato per che sono da assemblare con un lo stack assemblatore standard (non pre- il valore sente sul dischetto del compilato- 2048). re). Durante Si comincia la la compi- Assemblare il tutto compilazione del lazione, che avviene in un’unica programma Hilbert. passata, il compilatore stampa le Noi abbiamo deciso di usare l’as- righe di sorgente che sono di volta semblatore EDASM che è presen- in volta tradotte. Sembrerebbe una te sul dischetto “Utility Disk” assie- perdita di tempo e nessun compila- me al DOS 3.3 quando si compra tore oggi si sognerebbe mai di pro- un Apple. Per prima cosa prepa- porre questa opzione, ma invece riamo un dischetto di lavoro che per le macchine “antiche” questo contenga tutto quello che serve. era utile: si capiva che il lavoro an- Noi lo abbiamo fatto partendo da dava avanti e si identificava imme- un floppy vuoto e caricandoci tutti diatamente la riga con l’eventuale i programmi indispensabili per l’in- errore bloccante. tera sessione. Per quanto riguarda la velocità di Per quanto riguarda il compilato- traduzione da sorgente a codice re PL/BIT, ammesso di voler usare oggetto non è nulla di paragona- la versione non compilata, serve bile ad un Turbo Pascal, tanto per solamente il programma Applesoft fare confronti non troppo distanti. PL/BIT. Prima di tutto già la preparazio- Abbiamo messo sul floppy anche ne dell’esecuzione (caricamento il programma GET TEXT che ser- libreria TASC e oggetto PL.OBJ), ve per farsi stampare a video un impiega buoni quaranta secondi file di testo, il programma EDITOR prima di presentare la domanda (sempre trovato sul dischetto utility del nome del sorgente da compi- del DOS) per editare i sorgenti. lare. Per l’assemblatore serve il pro- Un sorgente come HILBERT di gramma EDASM, la sua parte circa un centinaio di statement, compilata che si chiama ASM.OBJ impiega due minuti e trentacinque e un file del quale non abbiamo secondi su un Apple IIe a 1 MHz, capito lo scopo ma che se non è

54 Jurassic News - Anno 5 - numero 27 - gennaio 2010 presente manda in dump l’assem- blatore: ASMIDSTAMP. Serve inoltre la libreria PL chiama- ta RUNTIME che viene assemblata assieme al file oggetto per produrre il compilato eseguibile. La fase di assemblaggio prevede di invocare il programma assem- bler: RUN EDASM e quindi al prompt dello stesso (il carattere “:” due punti) digitare il co- Qui è in funzione l’assembler mando: Conclusione ASM SIER Aldilà dell’effettiva utilità pratica (Nota: SIER è il nome del file object del compilatore PL/Bit, non possia- ottenuto dalla compilazione del sor- mo che constatare con non poca gente Sierpinsky). soddisfazione come il sistema della L’assemblatore produce sul di- Apple si presentava adatto alla ste- schetto il file con nome SIER.OBJ0 sura di codice anche di media com- che è appunto l’eseguibile. L’esecu- plessità. Giocava sicuramente a fa- zione del programma compilato non vore una conoscenza “intima” della richiede runtime e si ottiene con il macchina e delle sue potenzialità semplice comando BRUN: che era disponibile a coloro che si BRUN SIER.OBJ0 potevano dedicare anima e corpo e soprattutto che avevano tempo per esplorarne le potenzialità. Ed ecco il programma Sierpinsky in [Sm] esecuzione. Data la scarsa reperibilità di questo software abbiamo deciso di allegare il dischetto a questo numero della rivista. Prima di fare ciò abbiamo cercato inutilmente di rintracciare il sigron Magnaghi per chiedere il permesso. Purtroppo non ci siamo riusciti, così confidiamo di non fargli cosa sgradita permettendo a tanti appasssionati della Mela ai quali magari a suo tempo era sfug- gito il suo lavoro di farlo rivivere. Potete scaricare l’immagine del floppy da 140 Kb formato DSK dal sito della rivista.

55 Jurassic News Anteprima

Sul prossimo numero ci aspettano: