- Générateur Automatique de Programmes
-
Générateur automatique de programmes
Pour les articles homonymes, voir GAP.Le générateur automatique de programmes (GAP) est un langage de programmation dédié à la gestion.
- Apparaît sous ce nom sur les systèmes 36 (ancêtres de l'AS/400); existait sous le nom de RPG (Report Program Generator) dans les systèmes plus anciens d'IBM (1130, 360/370...)
- L'histoire du GAP commence donc avec les cartes perforées : cela se ressent dans l'obligation d'une syntaxe colonnée.
- Le GAP2 (années 1960 et au-delà) se comportait comme une machine à états, avec un système de boucles masqué au sein du langage.
- Quelques évolutions:
- Le GAP3 : abandonne le système de machines à état du GAP2, mais conserve sa rigidité et son colonnage.
- Le RPG IV ILE: abandonne en partie le colonnage, introduit quelques notions supplémentaires comme les pointeurs, les fonctions intégrées, les groupes d'activation ... pour tenter de dépasser les limitations originelles.
- Le RPG V C'est le RPG IV ILE en format full free
Sommaire
Description
- La grammaire originale du langage, assez rudimentaire, comprenait des éléments repris de l'assembleur, du BASIC et du Cobol :
- les mnémoniques classiques de l'assembleur sont là (move, clear, goto...)
- il partage avec ce langage et avec le Basic de fonctionner linéairement, et par des boucles
- comme langage orienté sur la gestion il comporte, à l'instar du Cobol, des fonctions d'accès aux bases de données et de constitutions d'états (reports en anglais, d'où son nom) nécessaires à la gestion et à la comptabilité
- Comme le Cobol encore, c'était un langage très rigide et très limité.
- Aujourd'hui le langage possède toutes les fonctionnalités d'un langage procédural moderne.
- instructions en format libre. Le RPG en format libre présente désormais de grandes similitudes avec des langages tels que Java, Python, ou Perl.
- accès aux tables par des ordres séquentiel/indexé (comme en GAP 3) ou par SQL
- manipulations des champs date/heure, des champs VARCHAR, des BLOB, etc.
- utilisations de plus de 80 fonctions intégrées du langage
- possibilité d'écrire ses propres fonctions, externes avec la technologie ILE, qui peuvent être placées dans un objet OS/400 nommé Programme de Service (une sorte de DLL)
- possibilité d'appeler des services web, et d'être appelé par eux, ce qui permet au RPG de demeurer un acteur tout à fait valable dans le développement d'application web.
- Des produits tiers tentent de pallier la lourdeur de l'éditeur natif, lors de la mise au point. On peut désormais éditer ses sources depuis MS-Windows ou avec une surcouche à Eclipse, fournie par IBM sous le nom de WDSC (Websphere Development Studio Client).
- Malgré tout, l'héritage des versions précédentes est lourd:
- Ce langage n'a jamais été normalisé.
- Des instructions continuent à être ajoutées au fur et à mesure des releases de l'OS/400 (au moins jusqu'à la v5r3).
- Malgré (ou à cause de) tous les ajouts, la syntaxe reste lourde et les programmes monolithiques.
Futur
- Ce langage n'est plus beaucoup enseigné en France à part chez IBM (son concepteur) ou dans des centres de formation privés.
- Remplacé petit à petit et partiellement, soit par Java qui est devenu un des standard de facto de l'AS/400, soit par PHP pour lequel la société ZEND vient d'annoncer une version "Zend Core for I5/OS".
- Les programmes en place sont maintenus, ou remplacés petit à petit par les SSII qui ont fait elles aussi évoluer leurs normes.
- Au Québec, ce langage est enseigné dans de rares établissements scolaires (entre autres, le Collège de Valleyfield). Bien que quelques entreprises qui utilisent l'AS/400 se servent de ce langage, son futur est aussi questionnable qu'en France.
Voir aussi
System i, iSeries, OS/400, Langage CLP
References
Se reporter aux références indiquées dans l'article System i
Lien externe
- La page d'accueil System i
- Documentation technique
- (fr) La gamme iSeries sur le site d'IBM
- (fr) Introduction à l’AS/400
- Full Commands List AS400
- IBM eServer iSeries Information Center
- (fr) XDOCS, site dédié à la Conduite de projet et à la plateforme iSeries
- (fr) iSeries News, le magazine de référence pour la plateforme iSeries
- (fr) L'actualité et des astuces de l'AS400
- (fr) Toutes les nouveautés de l'AS400
- (fr) Expertise et formation AS400
Catégories : Langage de programmation | Grand Système IBM - Apparaît sous ce nom sur les systèmes 36 (ancêtres de l'AS/400); existait sous le nom de RPG (Report Program Generator) dans les systèmes plus anciens d'IBM (1130, 360/370...)
Wikimedia Foundation. 2010.