Générateur automatique de programmes

Générateur automatique de programmes
Page d'aide sur l'homonymie 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 3 d'IBM (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...) Conçu à l'origine pour recycler et convertir les comptables en informaticiens.
    • L'histoire du GAP commence donc avec les cartes perforées : cela se ressent dans l'obligation d'une syntaxe colonnée propre aux comptables.
    • Le GAP1 puis le Gap2 (années 1960 et au-delà) se comportaient comme une machine à états, avec un système de boucles masqué au sein du langage.
  • Quelques évolutions:
    • Le GAP3 : évolue sans pour autant abandonner 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 cycliques
    • 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'est un langage que certains pensent très rigide et très limité mais amplement suffisant pour traiter les travaux administratifs des entreprises de la distribution.(il n'est pas un langage scientifique) Son colonnage possède l'énorme avantage de présenter les instructions sous une forme ordonnée et surtout de permettre à un programmeur expérimenté de repérer facilement une erreur de programmation d'un seul coup d'œil. Il possède un atout considérable en intégrant la notion "d'indicateurs" lui permettant simultanément de tester la valeur d'une donnée sans pour autant surcharger le coding, et ce, aussi bien en entrée ou sortie des données, qu'en cours de calcul. Il est un outil puissant facile et rapide à mettre en œuvre qui n'a rien perdu de ses acquis au cours des versions successives. Un programme Gap est très vite écrit et testé lorsque son programmeur maîtrise bien le langage.
  • 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 qu'énormément d'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

Références

Se reporter aux références indiquées dans l'article System i

Lien externe


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Générateur automatique de programmes de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Generateur 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);… …   Wikipédia en Français

  • 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… …   Wikipédia en Français

  • 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… …   Wikipédia en Français

  • ESPACE (CONQUÊTE DE L’) - Les premiers programmes spatiaux — La recherche scientifique, l’exploration de l’inconnu et la mise au point de la survie de l’homme dans l’espace furent les buts principaux des premiers programmes spatiaux nationaux. Cependant, de plus en plus, on a mis en service des satellites… …   Encyclopédie Universelle

  • AS/400 — System i Le serveur Application System/400 (plus connu sous le nom d AS/400, puis de iSeries et enfin de System i5) est un mini ordinateur de la gamme IBM. Qu il s agisse d AS/400, de iSeries ou de System i5, l ensemble des serveurs de cette… …   Wikipédia en Français

  • AS400 — System i Le serveur Application System/400 (plus connu sous le nom d AS/400, puis de iSeries et enfin de System i5) est un mini ordinateur de la gamme IBM. Qu il s agisse d AS/400, de iSeries ou de System i5, l ensemble des serveurs de cette… …   Wikipédia en Français

  • AS 400 — System i Le serveur Application System/400 (plus connu sous le nom d AS/400, puis de iSeries et enfin de System i5) est un mini ordinateur de la gamme IBM. Qu il s agisse d AS/400, de iSeries ou de System i5, l ensemble des serveurs de cette… …   Wikipédia en Français

  • ISeries — System i Le serveur Application System/400 (plus connu sous le nom d AS/400, puis de iSeries et enfin de System i5) est un mini ordinateur de la gamme IBM. Qu il s agisse d AS/400, de iSeries ou de System i5, l ensemble des serveurs de cette… …   Wikipédia en Français

  • System i — Le serveur Application System/400 (plus connu sous le nom d AS/400, puis de iSeries et enfin de System i5) est un mini ordinateur de la gamme IBM. L AS/400 a été commercialisé le 21 juin 1988, il sera renommé eServer iSeries en 2000… …   Wikipédia en Français

  • Abreviations en informatique G — Abréviations en informatique G G : Giga GAC : Global Assembly Cache (Microsoft .NET) GAMOT : Guichet d Accueil Maintenance Opérateur Tiers (France Telecom) Gandi : Gestion et Attribution des Noms de Domaine sur Internet.… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”