Générateur automatique de programmes - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

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.

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.

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.
Page générée en 0.029 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise