Générateur automatique de programmes
Un article de Wikipédia, l'encyclopédie libre.
Le Générateur automatique de programmes 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, ... pour tenter de dépasser les limitations originelles.
Sommaire |
[modifier] Description
- La grammaire du langage ressemblait à celle d'un assembleur rudimentaire:
- les mnémoniques classiques sont là (move, clear, goto...)
- quelques fonctions nécessaires à la gestion (recherches de clés dans un fichier, ...)
- 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 editer 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.
[modifier] 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 par Java qui est devenu un des standard de facto de l'AS/400 ou par PHP pour lequel la société ZEND vient d'annoncer une version "Zend Core for I5/OS".
- Les programmes en place sont maintenus, et remplacés petit à petit par les SSII qui ont fait elles aussi évoluer leurs normes.
[modifier] Voir aussi
[modifier] References
Se reporter aux références indiquées dans l'article System_i
[modifier] 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