ALTRE CARATTERISTICHE DELLA LIBRERIA MIDRES

Per illustrare le altre caratteristiche della libreria, pensiamo a questa affermazione: un codice che si adatta da solo a cose diverse non implica una astrazione. Per esempio, TUTTI i miei giochi si riorganizzano come area di gioco a seconda della superficie del monitor. Questo adattamento avviene al momento della compilazione, non al momento dell'esecuzione.

Per esempio, nel gioco "The Elevator" vi sono tanti piani quanti ne lascia disponibili l'area disegnabile. Nella versione per VIC-20 vi sono meno piani che nella versione per C=64. La libreria MIDRES, di suo, non pone alcun vincolo sulla larghezza e sull'altezza: detto in termini diversi, il programmatore che usa libreria MIDRES non ha bisogno di restare (chessò) su uno schermo da 40×25 caratteri “virtuale”, che poi viene ridotto o allargato a seconda dell'hardware reale; oppure non deve pensare in termini di “dimensioni possibili” a botte di #ifdef…#endif. Per questo si può affermare che non vi sia alcuna astrazione perché, per quanto diverse siano le implementazioni dei computer, il concetto di “schermo” come “una superficie rettangolare” non è una astrazione ma è un dato di fatto.

Nella libreria MIDRES non è necessario differenziare l'inizializzazione della grafica a seconda delle “performance” dello stesso. Per esempio, se ha i colori o se non li ha.

C'è la possibilità di sincronizzare la velocità di esecuzione secondo un meccanismo esterno, senza introdurre fattori di rallentamento programmatici e/o empirici. Questo permette di scrivere un gioco su un computer con un processore lento e farlo funzionare perfettamente su un computer con un processore veloce. Senza impazzire andando per “tentativi” o costringendo a rivedere la logica algoritmica per ogni target.

Esiste, di norma, una sola configurazione per ogni piattaforma. Non ha alcun senso, dal punto di vista del progetto della libreria MIDRES, che esistano 10 possibilità tra cui scegliere. Una sola è quella efficiente e quella va scelta. Efficiente, in questo contesto, vuol dire scritta in modo che le prestazioni siano accettabili sulla piattaforma di riferimento e rimangano identiche se la si cambia, a prescindere da quale sarà quella di destinazione, e senza fine tuning.

Vai alla pagina CONCLUSIONI E PREVISIONI