RPG (linguaggio di programmazione): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Aggiunta sezione "Evoluzione del linguaggio"
→‎Evoluzione del linguaggio: Creata sezione separata RPG IV
Riga 27:
L''''RPG/400''' era in pratica RPG III per i midrange della serie [[IBM System i|AS/400]]. [[IBM]] ha denominato il linguaggio "RPG/400" ma al momento della sua introduzione si trattava esattamente dello stesso linguaggio supportato dai [[System/38]]. Le due versioni hanno cominciato a differenziarsi solo con lo sviluppo da parte di IBM di nuovi codici operativi come SCAN, CAT e XLATE, diversi anni dopo l'introduzione dell'AS/400. Questi miglioramenti all'RPG non erano disponibili nelle versioni dell'RPG III per i [[System/38]].
 
== RPG IV ==
Nel [[1994]], con la release V3R2 del sistema operativo [[I5/OS|OS/400]], è stato distribuito l'RPG IV, conosciuto anche come RPG/LERPGLE oppure RPG/ILE. Notare come il nome del linguaggio ha perso il significato iniziale, come dichiarato ufficialmente dalla stessa IBM. Questa versione offre ai programmatori la possibilità di scrivere codice in formato più libero, cioè non vincolato da un rigido incolonnamento delle parole chiave, ed un set di istruzioni molto più ricco, definito ''Extended Calculation Specification''. L'RPG è così strettamente correlato alle [[Application programming interface|API]] del [[sistema operativo]] [[I5/OS|OS/400]] che praticamente tutti gli oggetti software sono trattati come se fossero [[file]] (qualcosa di analogo alla filosofia alla base di [[Unix]]). Il contenuto visualizzato sui display dei terminali, suddiviso in sotto-finestre, è aggiornato semplicemente scrivendo su un file, con un'istruzione tipo: *DISPLAY.
 
Nel [[2001]], con la release V5R1, l'RPG ha visto l'introduzione del "formato libero", una specifica (/''FREE'') grazie alla quale non era più richiesto di disporre i codici operativi in una particolare colonna. Questo ha iniziato a rendere l'RPG molto più simile agli altri linguaggi di programmazione più comunemente utilizzati su altre piattaforme. Fino al novembre [[2013]], il formato libero si poteva applicare solo alle specifiche di calcolo. Dall'aggiornamento V7R1 TR7, le specifiche "/''FREE''" e "/''END-FREE''" non sono più necessarie, rompendo definitivamente gli ultimi legami con le [[Scheda perforata|schede perforate]].
 
== Esempio di codice ==