www.neronero.it cialde lavazza

Menu Principale

Acquisti da casa

Foto Desktop

Quiz

Compara ADSL

Storia Informatica

Indice Guide

Offerte Hotels

Offerte Voli

Offerta Vacanze Offerta Autonoleggio
 

 

 

 

 

 

 

 

 

 

 

 

 




 
 

 

 

Il linguaggio RPG

 

 

 

Questa è una delle tante assurdità dell'informatica!

Se io parlassi di FORTRAN, BASIC, Assembler, ADA, COBOL e via discorrendo, tutti saprebbero che si tratta di linguaggi di programmazione, più o meno recenti e più o meno utilizzati.

FORTRAN è servito per sviluppare sul computer complessi calcoli matematici. Poi, che qualcuno abbia pensato di utilizzare un linguaggio che non trattava l'input/output anche per elaborare fatture potrà sembrare bizzarro, ma così è stato!

Un programma scientifico è evidente che richiede pochissimi dati in ingresso e pochissimi dati in uscita, così come l'elaborazione di dati aziendali necessita proprio dell'opposto: semplici operazioni aritmetiche e tanto input/output.

BASIC è il linguaggio che ha tenuto a battesimo intere generazioni di programmatori. La semplicità dell'approccio iniziale ed una buona elasticità ne decretarono subito il successo. Anche in questo caso, un linguaggio nato in università per insegnare le basi della programmazione agli studenti, divenne uno standard di programmazione, con tutti i suoi bravi dialetti e derivati.

Peccato che anche il Basic non fosse molto ben disposto ne al trattamento dei dati su disco, ne alla composizione di report e, malgrado ciò, fu ampiamente utilizzato nelle applicazioni aziendali.

Assembler è stato il padre dei linguaggi di programmazione, il capostipite. Il linguaggio era poverissimo di istruzioni, visto che tutto ciò che sapeva fare era muovere dei dati dal registro A al registro B (o poco più). Si trattava di un linguaggio di macchina che obbligava i programmatori a scrivere fiumi di istruzioni per fare anche le cose più semplici e ricorrenti.

ADA è un linguaggio progettato per la difesa degli Stati Uniti. Come tale qualcuno ha pensato bene che fosse l'esempio migliore da proporre agli studenti universitari italiani, che, evidentemente, tutto devono imparare, tranne cose utili!

COBOL, invece, è un vero e proprio linguaggio realizzato per la gestione aziendale. Finalmente!

E visto che non tutti i programmatori del mondo dovevano occuparsi di calcoli scientifici o di disegno tecnico o di video games, non c'erano dubbi: se avevi bisogno di progettare applicazioni per le aziende, potevi usare il COBOL.

E che questo sia stato e sia tuttora un linguaggio mirato per le esigenze di programmazione e gestione di dati aziendali non c'è alcun dubbio.

Qualche dubbio, però, viene nel momento in cui se ne valutano le prestazioni in termini di tempi di scrittura del codice.

COBOL è un linguaggio prolisso come pochi altri, che costringe i programmatori a scrivere fiumi di parole, tutte in termini inglesi.

Adatto agli scopi, dunque, ma non certo sintetico.

E la storia dei linguaggi potrebbe per molti finire qui.

Ma e l'RPG?

Ecco il mistero! Parallelamente allo sviluppo e affermazione del COBOL è nato (e a sua volta si è sviluppato) il linguaggio RPG.

Le storie però sono diverse: COBOL viene presentato come linguaggio standard utilizzabile su diverse piattaforme e diventa infatti anche ANSI COBOL. 

RPG, invece, viene sviluppato dalla IBM come "strumento di utilità".

Il nome assai riduttivo la dice lunga su questo fatto: RPG sta per Report Program Generator, cioè programma generatore di stampe.

La nascita risale al 1961 (per i sistemi IBM 1401) e anche successivamente il compilatore è usabile solamente su sistemi IBM 360 e questo spiega già in parte l'ostruzionismo che l'RPG ha avuto almeno dai concorrenti IBM.

Veramente il linguaggio racchiudeva in sé delle potenzialità notevolissime, che neppure la IBM ha saputo apprezzare per molti anni.

Salvo casi particolari (tra cui il sottoscritto) chi utilizzava sistemi IBM 360 programmava in Assembler o in COBOL.

In effetti le prime versioni di RPG erano piuttosto lacunose nella gestione delle periferiche. Ma il problema era facilmente aggirabile con piccole subroutines scritte in Assembler, che si potevano evocare dall'interno del programma RPG.

Dopo la famiglia dei sistemi 360 uscirono i 370 ed il discorso della programmazione continuò imperterrito: COBOL o Assembler.

All'epoca io riuscii a dimostrare, proprio a sistemisti della IBM di Milano, che i tempi per lo sviluppo usando i tre linguaggi in vigore erano assolutamente a favore dell'RPG. In pratica un programma di medie difficoltà scritto in Assembler richiedeva un mese-uomo, in COBOL sette giorni, in RPG 1 giorno! 

Ma non solo, i tempi di ripresa di un programma per l'inevitabile manutenzione, erano ancora più interessanti, vista la sinteticità dell'RPG rispetto agli altri linguaggi e l'auto documentazione che offriva.

Il tempo mi diede ragione (anche se con molto ritardo) e questo articolo vuole in un certo senso rendere onore al merito ad uno strumento nel quale ho creduto per primo e che mi ha sostenuto per molti anni di attività.

All'inizio degli anni settanta, infatti, IBM annunciava un nuovo sistema il System 3, che - guarda caso!- era programmabile solamente in RPG!

A onor del vero l'RPG un problema lo aveva ed era la serie di Indicatori che metteva a disposizione del programmatore. Gli Indicatori in pratica erano degli switch gestibili all'interno del programma per condizionarne il flusso e quant'altro.

Molti programmatori non capirono che la comodità di questi indicatori aveva una controindicazione: dovevano essere usati con molta parsimonia, altrimenti si rischiava di inondare le varie righe di codice con condizioni di tipo and/or difficilmente controllabili in fase di debug, qualcosa che rischiava d'essere peggio del famigerato GOTO di altri linguaggi. Ma i linguaggi strutturati all'epoca non esistevano!

Schivato il problema, il linguaggio RPG era quanto di più pratico si potesse immaginare per sviluppare software gestionale, al punto che dopo 35 anni ha ancora un solido futuro innanzi a sé.

La IBM ha distribuito per ogni famiglia di minicomputer uscita tra gli anni 60 ad oggi, una versione aggiornata e implementata del linguaggio RPG. Che da RPG puro e semplice è diventato RPG II, poi RPG III, quindi RPG AS/400, RPG/ILE e attualmente s'è aggiunta anche una versione Visual RPG. 

 

Da linguaggio sequenziale, coi suoi bravi goto, è diventato un linguaggio moderno, con call a subroutines esterne, strutturazione identica agli altri linguaggi, abbandono del formato fisso delle istruzioni, apertura al mondo delle interfacce grafiche, e via dicendo.

Una caratteristica peculiare dell'RPG era il ciclo fisso di esecuzione delle istruzioni: input, calcolo, output, con tutta la gestione delle condizioni particolari (uscite di dettaglio e totali, per esempio, o ancora, ciclo di overflow del modulo in stampa).

L'RPG garantiva l'esatta gestione di flussi di due o più files di input da elaborare secondo priorità di codici, svolgendo automaticamente tutte le funzioni richieste dalla casistica, con il semplice utilizzo di un indicatore speciale (MR).

Anche i vari livelli di totalizzazione erano automatizzati, con uscite di esecuzione dell'output in sequenza gerarchica: prima il dettaglio, poi i totali di più basso livello, seguiti da quelli superiori, fino a 9 livelli più totali generali.

L'output era facilmente mascherabile per le varie esigenze di formattazione dei campi.

I programmi potevano dare luogo a chiamate di altri sottoprogrammi, con passaggio di parametri.

L'RPG era nato in epoca in cui si elaborava solo batch, ma seppe subito adattarsi alla perfezione al mondo interattivo. La gestione delle comunicazioni da/per i terminali collegati in locale o remoto al sistema centrale era ed è tutt'ora della massima semplicità ed efficacia, con tempi di risposta decisamente molto bassi.

Se pensiamo alla continuità, in perfetta compatibilità, dal 1965 ad oggi, capiamo quale garanzia d'investimento duraturo il linguaggio abbia saputo offrire ai consulenti informatici, alle aziende utilizzatrici ed ai programmatori che con esso sono cresciuti, potendo focalizzare la loro attenzione sui problemi reali dei clienti più che sulle problematiche tecniche dei tools di sviluppo.

 

Ricky Spelta

 

Vedi anche:

Vendite online

Corsi online

Realizzazione siti internet

 scambio link

 

Ammissione.it Test

W3design Posizionamento e realizzazione siti web

 
 

 


Introduzione alla Storia Computer e Informatica

Cronologia ed evoluzione hardware

Protagonisti e inventori

Storia Linguaggi programmazione e Sistemi Operativi

Storia computer IBM

Storia computer Microsoft

Storia computer Apple

Evoluzione Interfacce grafiche

Storia Internet e reti

Storia Linux

Approfondimenti e articoli vari su computer e informatica

Altri link sul tema dei vecchi computer

Breve corso di grafica al computer e ritocco fotografico

Glossario dei termini informatici

Storia dei Giochi e videogiochi al Computer

Corsi online e videocorsi

Racconto di Attilio Romita
"Computer, Ordinateur, Elaboratori ... Forse Cervelloni!"

 

 

ricerca altro con tema computer pc e tecnologia

 

 

Guida Computer indice argomenti di Windoweb

Acquisti PC computer

Com'è fatto un PC

Componenti PC

Computer graphics

Distributori PC

Guida foglio di calcolo Excel

Guide PC

IBM AS/400 computer aziend.

Negozi online di Elettronica

Marche PC

Periferiche PC

Rivenditori PC- computer

Shareware

Sistemi operativi

Software per aziende

Software per PC

Software per Internet

Stampanti

Storia dei computer e dei PC

Tools di sviluppo per computer

Indice di tutte le TABELLE

Clicca qui per vedere tutti i titoli di libri e DVD su computer e pc   Libri acquistabili su computer e pc

 

Guida Tecnologie indice argomenti di Windoweb

 

 

 

 Selezione di libri su computer e informatica 

Bambini e computer. Alla scoperta delle Bambini e computer. Alla scoperta delle nuove tecnologie a scuola e in famiglia  
Etas
€ 18,00  
C'era una volta un computer C'era una volta un computer 
Zuddas Gianluigi, Larcher
€ 10,00  
Computer no problem. Soluzioni ai proble Computer no problem. Soluzioni ai problemi più comuni del tuo pc  
Future Media Italy
€ 8,90  
computer partendo da zero. Vol. 1 Il computer partendo da zero. Vol. 1
Scozzari Giuseppe, Edizionifutura.Com
€ 28,50  
computer partendo da zero. Vol. 2 Il computer partendo da zero. Vol. 2
Scozzari Giuseppe, Edizionifutura.Com
€ 28,50  
Computer sicuro. La guida Symantec contr Computer sicuro. La guida Symantec contro spyware, worm, virus, spam e intrusi nel tuo PC  
Conry-Murray Andrew; Weafer Vincent, Mondadori Informatica
€ 16,20   (Prezzo di copertina € 18,00  Sconto 10%)
Cosa c'è dentro il computer? Cosa c'è dentro il computer?  
Schuhl Alain, Dedalo
€ 6,38   (Prezzo di copertina € 7,50  Sconto 15%)
ECDL. La patente europea del computer. M ECDL. La patente europea del computer. Manuale
Alpha Test
€ 22,80  
Fondamenti di reti di computer Fondamenti di reti di computer  
Hallberg Bruce A., McGraw-Hill Companies
€ 25,08   (Prezzo di copertina € 29,50  Sconto 15%)
libro dei piccoli computer. Telefoni, GP Il libro dei piccoli computer. Telefoni, GPS, notebook e altri dispositivi portatili  
MacRae Kyle, Mondadori Informatica
€ 15,92   (Prezzo di copertina € 19,90  Sconto 20%)
Metti le mani nel computer Metti le mani nel computer
Edibrico
€ 13,00  
mio primo computer Il mio primo computer  
Magid Lawrence J., Mondadori Informatica
€ 15,04   (Prezzo di copertina € 18,80  Sconto 20%)
patente europea del computer. Test e qui La patente europea del computer. Test e quiz. Versione Office XP. Con CD-ROM  
Pezzoni Sergio; Pezzoni Paolo; Vaccaro Silvia, Mondadori Informatica
€ 10,88   (Prezzo di copertina € 12,80  Sconto 15%)
Windows XP. Computer e internet per i ba Windows XP. Computer e internet per i bambini. Con CD-ROM  
Future Media Italy
€ 9,90  

 

 

 

Come inviare il vostro materiale

Istruzioni d'uso

Community Windoweb

  Segnala un sito

© 1999-2009 Tutti i diritti riservati

 

 

 

 

 


Guide:
 

Arte
Ambiente
Animali
Computer
Cultura
Gastronomia
Famiglia
Giochi
Internet
Lavoro
Medicina
Musica
News
Scienze
Società
Spettacolo
Sport
Tecnologie
Turismo
 

Dossier:
 

Aiutiamo Amref
Calendario 2009
Cartoline San Valentino
Corso di grafica
Fumo
Guadagnare in borsa
Numeri incredibili
Ricette settimanali
Storia Informatica
Tabelle utilissime
Video Interessanti

 

Speciale:

Clipart
Foto per desktop
Google gadget

MIDI files
Quiz
Tutto città