Non vi preoccupate, nonostante il titolo, questa non è una macabra fiaba a sfondo informatico. Se qualcuno di voi è un appassionato di body building, forse avrà capito di cosa voglio parlare, mentre per gli altri diventerà tutto molto più chiaro tra qualche riga. L’estate scorsa mi hanno spiegato che un “Giants’ Killer” è, più o meno, un culturista, geneticamente poco dotato, che ha sviluppato dei muscoli eccezionali per la sua struttura fisica, tanto da battere concorrenti con un bagaglio genetico molto superiore. In pratica, un uomo alto 1 metro e 20 cm con i muscoli di Lou
Ferrigno è un Giants’ Killer.
Dopo questa breve premessa, entriamo nel merito informatico.
Qualche tempo fa, Virtual ha regalato ai suoi lettori un dischetto contenente alcuni programmi. Niente di strano, non è la prima volta, ma scorrendo le varie directory si arriva ad un punto in cui i file .EXE/.COM non superano i 4KB. Eccoci nel mondo dell’Assembler.
Superata la prima diffidenza, ecco che lancio gli eseguibili, e, con mia enorme sorpresa, mi accorgo di essere davanti a delle vere e proprie opere d’arte. Cosa facevano con 4KB di codice? E’ presto detto: grafica 3D, frattali, rendering in tempo reale (ombreggiatura di Phong, per la precisione), e anche un piccolo ambiente di Realtà Virtuale!
Ma questo è niente: quando ho visto Mars, ho rischiato l’infarto. Questo
“mostro” da 6 KB genera dei paesaggi virtuali 3D (come Vista Pro, anche se più semplici), e deve il suo nome al fatto che, per default, il cielo e i rilievi sono rossi. Ebbene, dopo pochi secondi appare una splendida immagine, ma se si muove il mouse ci si accorge che è proprio un paesaggio, e si può “girovagare” liberamente, in tempo reale!
Arriviamo ora al mio preferito: Starport. In soli 1993 byte, questo programma genera una bella scritta 3D che ondeggia in un pezzo di cielo che viene continuamente ruotato, causando quindi anche la rotazione del testo; i possessori di una scheda sonora Sound Blaster compatibile potranno anche udire la colonna sonora!
Perchè vi ho parlato di questi mini programmi? Semplice, perchè ho notato che, ultimamente, le software house hanno perso la ragione: Microsoft,
Borland, Corel & Co. stanno sfornando programmi bellissimi e facilissimi da usare (anche se i pareri sulle ultime versioni di vari “mostri divora bit” sono molto discordanti), ma il prezzo da pagare in termini di hardware è troppo elevato. In effetti, pensare che per far girare un wordprocessor serva quella che, un anno fa, era una stazione CAD, mi sembra un po’ eccessivo, anche considerando tutte le funzioni. Il problema
è uno solo: per vincere la guerra del software non si sparano missili ma gadget, wizard, e funzioni aggiuntive, con il duplice effetto di appesantire il programma (in termini di spazio occupato, RAM necessaria e potenza elaborativa richiesta) e di nascondere le funzioni realmente importanti in mezzo ad una serie di gadget spesso inutili.
La soluzione? Forse sviluppare programmi che consentano di disabilitare la maggior parte dei propri componenti, tenendo solo quelli necessari, oppure scrivere versioni light dei prodotti, che consentano di alleggerire anche le richieste in termini di portafoglio. Il tutto, senza dimenticare di ottimizzare il codice.
Io programmo in C/C++, e sono il primo a respingere l’idea, ma dopo aver visto questi programmini, ogni KB delle mie “creature” (e sono tanti KB di codice morto) pesa sulla mia coscienza.
Quello che sto’ dicendo, non è che bisogna scrivere tutto in Assembler, ma che occorre pensare anche a sfruttare bene le macchine, agendo anche sui compilatori. Il fatto che un processore sviluppi 100 MIPS, non mi autorizza a consumarne 80 solo per pigrizia!
Se volete provare i programmi di cui ho parlato (MARS e STARPORT), cliccate QUI.
Giants’ Killers
Luca Venturi