Pagina Principale del sito Come contattarci e copyright Iscriviti ai forum e alla newsletter Agenda degli eventi I temi trattati Archivio delle prime pagine

ultimo aggiornamento: 12/03/2002

Il Manuale

     

Parte 6. I linguaggi di codifica

6.1 I linguaggi: dichiarativi e procedurali

L’esigenza di produzione di testi in formato elettronico ha condotto all’elaborazione di molteplici sistemi orientati alla creazione e manipolazione di testi, che vanno dai word-processor ai più sofisticati sistemi di desktop publishing (che consentono di controllare tutto il processo di produzione, composizione e formattazione dei testi a fini editoriali).

Diremo che i sistemi di text processing si possono dividere in due classi: i sistemi di tipo WYSIWYG (What You See Is What You Get) e i sistemi basati su markup language.

I primi sono programmi che sfruttano le sempre maggiori potenzialità grafiche offerte dagli elaboratori per tentare di rappresentare sul video esattamente ciò che apparirà poi sulla carta stampata. Il problema sostanziale di questi sistemi è che pur agevolando notevolmente il lavoro dell’utente, proponendosi come mezzo rapido ed amichevole anche all’operatore meno esperto (consentendogli di interagire con la macchina tramite l’interfaccia grafica, e cioè manipolando direttamente la rappresentazione visibile sullo schermo), legano l’elaborazione del testo ad un determinato programma, rendendo quindi alquanto problematica la portabilità tra ambienti software diversi. Impiegando cioè, al fine della rappresentazione del testo, dei caratteri di controllo invisibili, immessi dentro il file di testo, rendono il file leggibile esclusivamente dal sistema che l’ha generato. E’ la macchina che inserisce direttamente il markup, la codifica, non l’utente, che non necessita quindi di conoscere i comandi a memoria. I sistemi di questo tipo non si rivelano dunque come i più adatti alla codifica scientifica di un testo.

Esistono anche programmi che non si interessano dell’aspetto che il documento assume sul video, per concentrarsi invece sul risultato finale. I file destinati a questo tipo di programmi sono composti dal testo che si vuole realizzare e da una serie di istruzioni che indicano al device di output (normalmente la stampante) quello che deve fare. Se, da un lato, questi programmi rendono complessa l’operazione di elaborazione del testo, dall’altro, utilizzando file scritti con un normale editor (e quindi in plain ASCII o formato “solo testo”), rendono più agevole la trasportabilità dei prodotti.

Questi markup language, detti in italiano linguaggi di marcatura o di codifica del testo, si basano su un insieme di istruzioni facente parte, appunto, di un vero e proprio linguaggio orientato alla descrizione dei fenomeni di strutturazione, composizione, impaginazione del testo stesso. I comandi si configurano come sequenze di caratteri ASCII visibili, e vengono immessi dentro il file del testo, secondo una determinata sintassi, immediatamente accanto alla sequenza di caratteri a cui si riferiscono e cioè “marcando” direttamente i blocchi di testo cui intendono assegnare una determinata funzione.

Il termine markup, impiegato nell’ambito della codifica del testo in formato elettronico, deriva dalla designazione, nella stampa tipografica tradizionale, di quell’insieme di simboli, indicazioni, annotazioni aggiunte dall’autore o dall’editore su di un manoscritto o su di un dattiloscritto per istruire il tipografo o il compositore relativamente a come trattare, dal punto di vista grafico, il testo: impaginazione, scelta dei caratteri da impiegare, spaziature, a capo ecc....

E’ possibile distinguere due diverse classi di linguaggi di markup, che differiscono per il tipo di comandi impiegati all’atto dell’operazione di codifica ovvero per la semantica delle istruzioni utilizzate: markup specifico e markup generico.

Il primo tipo consiste di un insieme di istruzioni operative che indicano localmente la struttura tipografica e compositiva della pagina, le spaziature, l’interlineatura, le caratteristiche dei font, modificando questi parametri direttamente per le porzioni di testo cui si riferiscono. Questo tipo di marcatura è anche detta procedurale in quanto indica alla macchina le procedure di trattamento cui deve sottoporre la sequenza di caratteri al momento della stampa.

Si tratta dei primi linguaggi di marcatura, ideati con l’obiettivo di occuparsi essenzialmente dell’aspetto tipografico del testo. Non accettando ancora l’ottica del WYSIWYG, era necessario individuare una serie di istruzioni locali che consentissero alla periferica di generare il documento nella forma tipografico-compositiva desiderata. Sono questi i linguaggi orientati sul documento più che sul testo, da intendersi secondo le caratteristiche in precedenza descritte.

Sostanziali si rivelano quindi i limiti di un markup di tipo procedurale. In un documento testuale la composizione del manufatto rappresenta la realizzazione della struttura astratta (logica) del testo, la quale costituisce un bagaglio informativo essenziale ai fini di una corretta comprensione del testo stesso. Indispensabili le divisioni di un testo in sezioni o capitoli, che coordinano l’intreccio testuale ed indicano al lettore il ritmo narratologico. In una codifica procedurale queste informazioni vengono inevitabilmente perdute in quanto non rappresentate e si rivela dunque necessario, per accedere ad esse, conoscerne esattamente la composizione tipografica. In più si presentano limiti anche di carattere pratico: un linguaggio di codifica procedurale comporta uno stretto legame con il software di trattamento del testo che è in grado di interpretarlo, limitando dunque la portabilità del testo codificato tra ambienti diversi. Inoltre le istruzioni di formattazione di un testo di questo tipo vengono fissate una volta per tutte: se si intende alterare l’aspetto stampato di un testo è necessario modificare tutte le istruzioni di codifica.

Proprio a causa di questa serie di limitazioni si è rivelata indispensabile l’elaborazione di un nuovo tipo di linguaggio che consentisse essenzialmente la rappresentazione della struttura astratta del testo. Sono stati così creati i cosiddetti linguaggi di markup generico dove i simboli di codifica non vengono più impiegati come istruzioni di formattazione, di impaginazione, ma come indicatori di struttura.

I linguaggi basati su un generic markup sono costituiti da un insieme di marcatori (tag) che, immessi nel testo, indicano non le caratteristiche fisiche, ma la funzione assolta dal blocco di testo cui si riferiscono. A ciascun blocco viene associato un marcatore che lo definisce come titolo, paragrafo, nota, citazione ecc., senza preoccuparsi di come tali elementi del testo appariranno fisicamente.

Poiché consentono di dichiarare a quale tipo di struttura appartiene una qualsivoglia porzione della fonte, questi linguaggi vengono anche definiti linguaggi dichiarativi.

Diremo quindi che mentre un linguaggio basato su di uno specific markup (o linguaggio procedurale) si concentra essenzialmente sul documento, un linguaggio basato su di un generic markup (o linguaggio dichiarativo) si concentra sul testo

Marcando elementi appartenenti alla struttura astratta del testo, un generic markup language risulta dunque assolutamente indipendente dai diversi device; questo però non esclude la possibilità che venga usato anche per ottenere un determinato output del documento. E’ cioè possibile marcare dichiarativamente anche aspetti grafici della pagina (salti-pagina, spazi bianchi, rientri ecc.) [1] . Se quindi il linguaggio scelto si configura come piuttosto potente, sarà possibile rappresentare il testo, e cioè i suoi elementi, a vari livelli; si potranno cioè costruire molteplici modelli del testo e, in più, sarà consentito impiegare un testo trattato con un linguaggio di codifica dichiarativa per qualsiasi tipo di trattamento informatico. Non essendo cioè tali linguaggi dedicati a nessuna particolare applicazione, se si è stati in grado di dichiarare tutto ciò di cui si necessita, il testo potrà essere analizzato dal punto di vista morfologico, lessicografico, narratologico.

Pagina stampabile

 

 



 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Formazione e Didattica Il Bollettino del '900 Informatica Umanistica I percorsi di Griselda Online

[1] Se si codifica cioè esattamente l’aspetto grafico che deve avere un titolo (corpo 14, grassetto, centrato, 12 punti tipografici dopo), quella riga, quel titolo si porterà sempre dietro quella sua rappresentazione grafica, se invece ci limitassimo a dire che quello è un titolo nulla ci vieterebbe di istruire il nostro programma di visualizzazione o di stampa al fine di renderlo in molti modi differenti.

 

  Università degli Studi di Bologna
e ArchetipoLibri
AddThis Social Bookmark Button
Altre informazioni

 

Formazione e Didattica Il Bollettino del '900 Informatica Umanistica I percorsi di Griselda Online

 

 

 

Risorse on line Il Bollettino del '900 Informatica Umanistica I percorsi di Griselda Online Il Glossario di Informatica Umanistica