Presentazione dell'edizione italiana

 

La grafica con elaboratore si sta affermando e sviluppando con risultati di sempre più grande interesse. Due sono stati, in Italia come nel resto del mondo, i filoni guida: la progettazione assistita dall'elaboratore, il CAD e, più recentemente, i videogiochi e le applicazioni creative che hanno esplorato i campi dell'animazione e del realismo.

 

Per molti anni la ricerca e le applicazioni lungo questi filoni hanno proceduto in modo molto frammentato, dando origine a "scuole" e metodologie di approccio assai differenziate.  Si è così venuto a costituire una sorta di intreccio tra case produttrici di periferiche e sistemi grafici ed esperti di applicazioni. Come ben sottolineano gli autori, la grafica è stato l'unico settore in cui la problematica della standardizzazione dei linguaggi ha stentato ad affermarsi, e tutt'ora costituisce terreno di studio e sviluppo di standard di linguaggio.  Una delle ragioni di ciò è senz'altro da ricondurre a quanto detto, che, a sua volta, è conseguenza dell'enorme complessità delle problematiche sollevate dalle applicazioni grafiche.

 

La grafica con elaboratore è uno dei campi in cui tutte le problematiche dell'elaborazione dei dati vengono stimolate, e per ciascuna si richiedono le soluzioni più avanzate per raggiungere i migliori risultati di efficienza.  La grafica si basa sulla elaborazione di enormi quantità di dati con algoritmi di elevata complessità computazionale e che molto spesso agiscono su numeri reali. A livello hardware ciò si ripercuote su esigenze di alta velocità delle periferiche e nello stesso tempo della cpu, i processi in questione richiedono enormi quantità di dati da elaborare sia in memoria centrale sia su supporti di massa. A livello software, la logica delle elaborazioni grafiche è tra le più complesse in quanto richiede lo studio di primitive evolute, assai distanti dalle istruzioni elementari di un normale elaboratore.

 

La sfida che la grafica ha aperto è stata affrontata con un continuo miglioramento delle prestazioni di terminali e stazioni grafiche e con un continuo sviluppo di linguaggi grafici sempre più ricchi e potenti.

 

Questo trend si è scontrato ormai da tempo con le esigenze più tipiche degli ambienti di produzione industriale di software. Le esigenze di portabilità, manutenibilità e di modificabilità del software grafico, si scontrano con la varietà dei dialetti e dei linguaggi di singole famiglie di terminali o sistemi grafici.

 

Lo sforzo fatto dal gruppo impegnato nella definizione del GKS, possiede il merito di aver evidenziato in modo radicale queste problematiche, avviando prime soluzioni ai classici problemi dell'ingegneria del software grafico.

 

Non ritengo che il GKS costituisca la soluzione globale ai problemi della grafica. Infatti questo standard si presenta come eccezionalmente valido per una gamma di applicazioni classiche, ovvero per lo sviluppo di sistemi grafici interattivi orientati tipicamente al CAD. Vi sono tuttavia due aspetti che l'attuale versione del GKS non permette di affrontare: uno riguarda la gestione di strutture di dati dotate di relazioni di tipo gerarchico, l'altra riguarda le problematiche del "real-time" e della sintesi di immagini realistiche. Lo standard GKS si scontra, in questo, con il continuo arricchirsi di prestazioni nei sistemi e terminali grafici evoluti. Ciò che si può prevedere nel prossimo futuro è la definizione di estensioni, laddove GKS rimarrà una sorta di piattaforma per gli aspetti di base delle applicazioni grafiche.

A. GRANELLI

Milano, Novembre 1985