Paolo Guccini

"Impossibile" non è mai la risposta giusta

OFFICE AUTOMATION
istruzioni d'uso per il programmatore

La diffusione dell’office automation è divenuta una realtà. Quasi ogni azienda dispone di almeno un personal computer e il word processing rappresenta un’attività espletata con il PC. Ma l’avvento delle nuove generazioni di software di Office Automation programmabile mediante linguaggi interni pone sotto una nuova luce quest’area che in precedenza era raramente toccata dai programmatori se non per la realizzazione di macro più o meno complesse oppure per l’integrazione fra il mondo dell’Office Automation ed altri programmi.
Oggi, sempre più spesso, si sente parlare di programmi che implementano al loro interno un interprete di linguaggio Basic like. In apparenza sembrerebbe un grande passo in avanti: il vantaggio di disporre di un linguaggio di programmazione già conosciuto non renderebbe più necessario il dover apprenderne un altro con tutti i problemi e gli investimenti necessari, ma sarebbe sufficiente studiar lo in modo incrementale, ovvero rapportando le differenze tra il nuovo Basic e il know how di cui già si dispone sugli altri Basic conosciuti. Purtroppo, andando ben ol tre la semplice apparenza, ci si rende conto che è un mondo nuovo e che l’esperienza di programmazione in Basic non è un passaporto sufficiente. Conoscere più o meno bene un Basic in una delle sue varianti o dialetti costituisce un piccolo e non sostanziale aiuto, poiché gli oggetti da gestire sono totalmente differenti da quelli che un programmatore "classico" è abituato a maneggiare.
Così, anche i metodi per eseguire la scansione di frasi all’interno di un documento spesso rappresentano un qual osa da studiare ex novo. Ma, tralasciando gli aspetti negativi che si incontrano sempre quando si studia un nuovo linguaggio (perché di un nuovo linguaggio si tratta), è possiate vedere anche i benefici che se ne possono trarre.
Ad esempio, il software di office automation programmabile apre di fatto la porta su tutte quelle piccole aziende che, sebbene non siano generalmente disposte a fare grossi investimenti, hanno problematiche risolvibili mediante personalizzazioni ottenibili coi linguaggi interni oppure mediante programmi esterni scritti in C che sfruttano le API messe a disposizione dal software.
Insomma si possono sfruttare i software di O.A. (Office Automation) come nucleo fondamentale o base sulla quale sviluppare le personalizzazioni o veri e propri programmi.


Cos’è l’office automation

Dal punto di vista degli sviluppatori, si può dire che l’office automation è l’insieme di programmi dedicati alla gestione delle informazioni all’interno delle varie aree di un ufficio. Con questa semplice definizione si apre un intero universo: videoscrittura, fogli elettronici, data base, Cad, Desk Top Publishing, posta elettronica e qualcos’altro ancora.
Affrontiamo quindi sistematicamente i vari mondi all’interno di questo universo.


Il mondo dei word processor e dtp

Ritengo che la videoscrittura sia lo strumento che non manchi in quasi nessun ufficio. I motivi sono numero si ed immediati. A causa della diffusione capillare, si può notare che il mercato presenta numerosi programmi di trattamento testi e che essi sono costantemente oggetto di nuove release, a testimonianza di questa costante effervescenza.
Ripensando ai primi programmi di word processing (la mente mi ritorna al Wordstar ed al Write Assistant di una decina d’anni fa) e confrontandoli con quelli odierni, si comprende immediatamente che molto, se non quasi tutto, è cambiato: font scalabili, interfaccia grafica, gestione multidocumento, stili e formattazione automatica, correttore ortografico, grafica, eccetera.
Rimane uguale solo il concetto di fondo: il poter gestire un documento che sia essenzialmente basato sulle parole e potervi apportare tutte le modifiche e correzioni desiderate.
In altre parole si è partiti con l’idea di uno strumento che potesse sostituire la macchina da scrivere e siamo arrivati a programmi in grado di scrivere testi sotto dettatura, eseguire le correzioni ortografiche, manipolare correttamente grafica e tabelle esterne mediante tecniche OLE o simili. Un bel salto, non c’è che dire.
Ma quello che ad un programmatore può interessare principalmente sono le caratteristiche di programmabilità.
Oggi quasi tutti i word processor incorporano un meta linguaggio che permette di automatizzare compiti ripetitivi. Essi prendono il nome di macro o linguaggi macro ed hanno raggiunto in alcuni casi dei livelli di funzionalità tali da poter creare intere procedure aventi per oggetto il trattamento testi.
Ma, come se non bastasse, acquistando i kit di sviluppo, è addirittura possibile interfacciare il word processor con programmi esterni, ovvero è possibile scrivere del software che richiami il w.p. e le sue funzioni. Inoltre, lentamente anche se con decisione, si è potuto vedere quanto il w.p. si sia avvicinato e sovrapposto al Desk Top Pubushing di fascia bassa. Se si vuole stampare un cartello di piccole dimensioni riportante la scritta "Si prega di non fumare’, non è certo necessario, acquistare un DTP.
Neppure per creare una piccola pubblicazione quale un giornalino scolastico è necessario il DTP: basta solo un buon word processor. Per adesso w.p. e DTP trovano come netta linea di demarcazione e separazione la concettualità con cui viene approcciato il documento:

  • il w.p. ragiona fondamentalmente considerando che il documento sia una sequenza di oggetti (i caratteri) che devono porsi su una serie dì righe che occupino aree orizzontali successive della pagina (eventualmente considerando la formattazione su colonne come nei quotidiani), ognuna avente un’altezza pari al carattere più grande che essa contiene;
  • il DTP ragiona secondo il concetto di oggetti liberamente posizionabili all’interno della pagina, quindi sovrapponibili; perciò non viene eseguito alcun calcolo sulle distanze o sugli ingombri quando essi vengono collocati sulla pagina. Il testo viene trattato come un oggetto relativamente solo al suo ingombro o involucro: una specifica routine si incarica di trattarlo come farebbe un word proccssor considerando l’ingombro come il suo limite di estensione.

Questa sostanziale differenziazione nel modo di operare è il motivo per cui il word processor e il DTP occupano due diversi segmenti di mercato; comunque non sarei affatto sorpreso se a breve il w.p. implementasse la gestione di oggetti sovrapponibili e posizionabili all’interno della pagina.


Il mondo dei fogli elettronici

Non so quanti di voi si ricordano il preistorico Visicalc. Credo che sia stato proprio il primo spreadsheet per personal computer. Da allora ad oggi questo genere di software ha subito vistose e profonde modificazioni: ora supportano un numero incredibile di funzioni, operano sui più fogli con temporaneamente, interfaccia grafica e Wysiwyg, sono programmabili.
Non sono solo queste le innovazioni, ma anche tante altre. Essi erano nati per poter eseguire simulazioni sui dati numerici o, come si dice oggi, per fornire un supporto decisionale. Così le segretarie cominciarono a compilare grandi fogli elettronici contenenti ognuno miriadi di informazioni per lo più sintetizzate in pochi valori che venivano poi utilizzati dalla dirigenza aziendale per pianificare strategie. Erano nati i DDS Decision Support System.
Con il passare del tempo sono cambiati i fogli elettronici: la continua crescita delle richieste riguardo nuove funzionalità ed il confronto con la concorrenza hanno permesso che il semplice foglio elettronico divenisse molto, ma molto di più di quello per cui fu concepito. Gli utilizzi non istituzionali sono oramai tantissimi: si possono gestire archivi come con un data base, creare sofisticate rappresentazioni grafiche di valori numerici o funzioni, impaginare testo e grafica, creare della modulistica senza ricorrere al DTP.
Tuttavia l’aspetto che più interessa è la grande programmabilità che oggi essi consentono, grazie alla possibilità di integrazione degli interpreti di un linguaggio Basic-like.
Prima era possibile programmarli mediante il linguaggio macro, ma esso raccoglieva molte critiche e dissensi in quanto giudicato ostico e criptico. Anche se condivido in linea di principio questo giudizio, non si deve costituire un pregiudizio: il linguaggio macro dei fogli elettronici è spesso complesso, ma, come qualunque nuovo strumento, va studiato e compreso per trarne tutti i benefici. Sicuramente le nuove generazioni dì spreadsheet che affiancano un Basic al linguaggio macro hanno le carte in regola per vedere una nuova alba, soprattutto commerciale. Infatti implementare il Basic non costituisce una vera esigenza se si pensa a cosa serve un foglio elettronico, ma certamente fornisce un valido strumento per dare potere all’utente, il quale sta acquisendo una crescente dimestichezza con l’informatica e conseguentemente desidera disporre di strumenti tanto semplici quanto potenti e completi, binomio che fino ad alcuni anni addietro era considerato improbabile. Il Linguaggio macro comunque non è morto, anche se il suo futuro non appare roseo.
E mia personale opinione che le macro verranno sostituite da funzioni Basic, esattamente come ora si fa creando un foglio di macro e richiamandole dai fogli dei dati. L’ultimo passo della transizione da macro a Basic sarà il consentire all’utente di mettere direttamente in una cella qualche linea di sorgente Basic.


Il mondo dei data base

I data base costituiscono indubbiamente un mondo che vede impegnati moltissimi programmatori. Il motivo è semplice: i database costituiscono uno strumento eccellente per la memorizzazione e gestione dei dati e forniscono un’interfaccia completa sia per chi programma e sia per chi invece opera tramite scelte di menu.
Il poter disporre di un valido strumento che costituisse la base per sviluppare programmi per il trattamento delle informazioni, era stata una chiara esigenza di coloro che erano impegnati nel realizzare dei sistemi informativi: il poter focalizza re l’attenzione sugli algoritmi anziché sull‘implementare parti relativamente banali quali l’I/O sui file e relative strutture costituiva e costituisce un considerevole aiuto e risparmio di risorse.
Oggi si differenziano sulla base di alcuni ma sostanziali elementi:

  • la completezza dello strumento e principe per i programmatori: il linguaggio, che deve essere relativamente facile da apprendere, completo di quasi tutte quelle funzioni che un linguaggio tradizionale offre (come la strutturazione ed il debugging), ma soprattutto deve avere una grande potenza nella manipolazione dei dati;
  • il tipo di dati che è possibile trattare e memorizzare oltre a quelli standard, come le immagini ed il suono;
  • le piattaforme (hardware e software) sulle quali sono disponibili le implementazioni dello stesso data base sulle quali siano esportabili le procedure e i dati.
  • la sua attuale o probabile futura diffusione: è importante capirese un prodotto avrà successo perché da questo dipende lo sviluppo di nuove release, la disponibilità del supporto tecnico, la vastità del mercato verso il quale sarà spendibile il know how che si acquisisce sul prodotto;
  • la disponibilità di strumenti per la generazione automatica di programmi, detti CASE, o an che solamente per la creazione, più o meno sofisticata, di tracciati video (maschere) e stampe (report). Inoltre ogni software house è costantemente impegna ta a fornire ai propri utenti un qualcosa in più o più funzionale in ogni nuova release.

Dove reperire informazioni

Concludiamo questa breve panoramica sull’universo dell’Office Automation fornendo una serie di brevi ma utili rimandi ad alcune case editrici che pubblicano libri inerenti all’argomento, riportandone nome, indirizzo, telefono e fax nonché i siti di Web Internet ove si possono consultare i relativi cataloghi on-line:

  • Addison Wesley, V. Deffenu 7, 20133 Milano MI, tel.: 02/70.63.15.93, fax: 02/26.66.637 www.aw.com www.doit.it\ addison\ (non molto aggiornato); www.aw.nl (di imminente attivazione);
  • Jackson Libri, Via XXV Aprile 39, 20091 Bresso MI, tel.: 02/66.52.61, fax: 02/69.64.231;
  • McGraw-Hill Libri, Piazza Emilia 5, 20129 Milano, tel.: 02/70.16.01, fax: 02/73.36.43, www.mcgraw-hill.co.uk;
  • Mondadori Informatica Area Libri (Microsoft Press), Via Mondadori 1, 20090 Segrate (MI), tel.: 02/7542.3392, fax 02/7542.3337
  • Tecniche nuove, Via Ciro Menotti 14, 20129 Milano MI, tel.: 02/75.70.252, fax: 02/75.70.236; www.tecnet.it

Il testo e' stato acquisito tramite OCR dalla rivista su cui e' stato pubblicato e velocemente ricontrollato.
Le segnalazioni di errori saranno molto gradite e si possono fare alla pagina Contatti.

Tratto da:
Paolo Guccini
Rivista DEV Computer Programming
Edizioni Infomedia
1995