> Tech > Dossier RPG : Modern RPG (2/2)

Dossier RPG : Modern RPG (2/2)

Tech - Par Scott Klement - Publié le 19 janvier 2011
email

RPG IV est le meilleur langage pour écrire des règles de gestion.

Le changement est important. Pour vous en convaincre, songez à la masse de changements intervenus dans le monde des ordinateurs depuis qu’IBM a cessé d’améliorer le RPG/400, voilà 15 ans.

Dossier RPG : Modern RPG (2/2)


Pour beaucoup, il n’est pas bon d’utiliser RPG pour tout ; il faut utiliser l’outil adéquat pour le job. Je suis d’accord, avec un bémol: dans mon environnement, il n’est guère pratique d’utiliser un outil différent pour chaque mission. Le site où je travaille a un équipe IT de trois personnes : chaque programmeur doit donc être capable de traiter pratiquement tout. Nous ne pouvons pas nous permettre des équipes distinctes pour RPG, Java, C, Cobol, Rexx, PHP, help desk, support PC, réseau, et ainsi de suite. Bien que je les appelle « programmeurs/analystes », ils doivent en réalité répondre à tous les besoins IT de la société, parce que si l’un d’eux est en vacances ou malade, les autres doivent combler le vide. Il est donc logique de limiter le nombre de technologies dont chacun doit être un expert. Même si nous faisions tout notre développement en RPG, ces personnes n’en demeureraient pas moins chargées de faire fonctionner correctement les postes de travail Windows, d’installer et de maintenir i5/OS, de mettre en place et de maintenir notre réseau, et bien d’autres choses – en plus de développer et de maintenir des programmes RPG. La courbe d’apprentissage est suffisamment escarpée sans qu’on les oblige à apprendre tous les langages de programmation de la planète, juste parce que nous avons décidé « d’utiliser l’outil adéquat pour le job ».

Cela dit, je suis tout à fait d’accord pour utiliser d’autres outils. Nous ne sommes plus dans un monde où tout peut être fait avec un langage sur une plate-forme. Mais il est judicieux de réduire au minimum le nombre de technologies. Vous ne voulez sûrement pas que votre environnement devienne si complexe que vous ne puissiez plus former de nouveaux employés. J’ai beaucoup écrit sur l’utilisation des classes Java à partir de RPG pour créer ou lire des feuilles de calcul Excel, accéder à des bases de données étrangères, et créer des graphiques. Et j’utilise tout cela dans mon travail quotidien.

Mais je ne le fais que quand une solution RPG pure n’existe pas ou qu’elle est nettement plus difficile que les alternatives. Ni les sockets ni les fichiers stream ne sont notablement plus difficiles en RPG qu’en tout autre langage. Pour des choses comme le développement XML et Web, tout dépend de la manière dont on les utilise. Je n’ai pas encore vu un autre outil XML, dans quelque langage que ce soit, qui approche la simplicité de l’opcode XML-INTO, ajouté au langage RPG dans la V5R4.

Mais s’il vous faut des possibilités XML plus complexes, vous constaterez que ces simples outils ne suffisent pas. Il en va de même pour le développement Web. Le CGIDEV2 verra un programmeur RPG expérimenté écrire des applications Web en RPG, en une semaine ou moins, mais quand les applications Web deviendront plus complexes, vous constaterez qu’il ne sera pas à la hauteur. Si cette complexité supplémentaire est nécessaire, vous pouvez toujours ajouter un autre langage à l’ensemble, parce que RPG s’intègre très bien avec d’autres langages.

RPG peut facilement appeler des routines écrites en CL, Cobol, C et Java. C’est vrai, Denoncourt nous dit qu’il faut être un programmeur C pour faire bon nombre de choses modernes en RPG, mais il m’a vu utiliser certaines API orientées C pour cela. Mais vous constaterez probablement que, une fois les prototypes écrits (ou quand vous aurez téléchargé les miens), il faut très peu de connaissances C. Bien sûr il faut connaître quelques principes de base mais, pour la plus grande partie, l’appel des API C n’est pas différent de l’appel d’une sous-procédure RPG. En tout cas rien de comparable à ce qu’il faudrait pour apprendre Java !

Comme je l’ai dit, j’ai travaillé avec de nombreux langages de programmation et Java est sans aucun doute le plus dur à apprendre. Le fait d’utiliser les API C à partir de RPG ne signifie pas qu’il faille apprendre C, mais simplement quelques concepts orientés C. Comparer cela à l’apprentissage de Java, revient à comparer un avion en papier à la navette spatiale.

Si j’avais la place dans cet article (et je ne l’ai pas), je fournirais des exemples de code côte à côte montrant comment faire ces choses (par exemple XML, fichiers stream, appels de procédures stockées) en Java et en RPG. Vous verriez très clairement que ce n’est pas plus difficile en RPG qu’en Java. En réalité, ce n’est pas vraiment très différent. Mais ne nous trompons pas de sujet. Les fichiers stream et les sockets ne sont pas des fonctions de gestion centrales. Pour les fonctions centrales absolues, RPG reste encore incontournable.

Téléchargez cette ressource

Travail à distance – Guide IT et Métiers

Travail à distance – Guide IT et Métiers

Le travail à distance met à l'épreuve la maturité numérique des entreprises en termes de Cybersécurité, d'espace de travail, de bien-être des collaborateurs, de communication et gestion de projet à distance. Découvrez, dans ce nouveau Guide Kyocera, quels leviers activer prioritairement pour mettre en place des solutions de travail à domicile efficaces, pérennes et sécurisées.

Tech - Par Scott Klement - Publié le 19 janvier 2011