> Tech > Dossier RPG : Le framework .NET (2/2)

Dossier RPG : Le framework .NET (2/2)

Tech - Par Craig Pelkie - Publié le 31 janvier 2011
email

Abandonnez vos idées préconçues.

Toute discussion sur l’utilisation des langages de programmation et des outils de développement Microsoft pour des applications System i, est susceptible de provoquer des sarcasmes, des remarques à propos de Bill Gates et des pratiques commerciales douteuses, des interrogations sur la santé mentale de l’auteur de ces propos et, pour finir, l’affirmation sans réplique que seul RPG convient à des applications de gestion : pas question de langages-jouets.

Pourtant des entreprises de toutes tailles confient tout ou partie de leurs applications à des systèmes Windows : serveur et poste de travail. Et la plupart des sites System i ont aussi quelques applications Windows. Il ne faut donc pas affirmer sur un ton péremptoire que Windows et les applications de gestion ne vont pas ensemble : toutes les preuves montrent exactement le contraire.

Dossier RPG : Le framework .NET (2/2)


Si vous n’avez encore jamais travaillé avec la version .NET de Visual Basic, de grâce oubliez toutes les idées préconçues que vous pourriez avoir sur les versions antérieures de Visual Basic (VB1-VN6). En effet, je connais beaucoup de programmeurs, par ailleurs intelligents, qui traînent encore une mauvaise impression de Visual Basic remontant aux jours de VB3. Il n’y avait d’ailleurs rien à redire sur VB3 ou versions ultérieures de Visual Basic, mais beaucoup de programmeurs Visual Basic ont commencé à abandonner le langage quand ils ont crû, à tort, que Microsoft ne l’améliorerait jamais pour en faire un langage complètement orienté objet. Beaucoup de programmeurs n’ayant jamais travaillé avec Visual Basic ont repris ces ragots en ont fondé leur opinion sur le langage à partir de là. Si vous n’avez pas travaillé avec Visual Basic, vous pouvez juger de l’absurdité des préjugés sur Visual Basic .NET en pensant à ce que vous éprouveriez si un programmeur n’ayant jamais utilisé RPG jugeait celui-ci en se basant sur RPG III.

Vous pouvez ignorer tout autant les grincheux qui déplorent les incompatibilités de Visual Basic .NET avec les versions antérieures. Si vous débutez en Visual Basic et .NET, les changements apportés aux versions antérieures vous importent peu : vous démarrez avec une page blanche. Visual Basic, dans sa version .NET, est un langage orienté objet, fournissant pratiquement les mêmes fonctionnalités que C#. Visual Basic ne reconnaît pas les pointeurs, tandis que C# permet d’y accéder et de les manipuler. Avant d’estimer combien il doit être horrible de ne pas supporter des pointeurs (après tout, pour travailler avec de nombreuses API System i, vous devez utiliser des pointeurs), aucune des fonctions de .NET Framework que vous utiliserez quotidiennement ne demande de pointeur. La prise en charge des pointeurs est simplement incluse pour accéder à l’ancien code Windows.

Pour les programmeurs RPG, Visual Basic est probablement le plus facile à apprendre des deux langages. Il ressemble au RPG en format libre. C# ressemble à C ou Java, donc si vous connaissez déjà ces langages, C# vous sera immédiatement familier. J’ai commencé la programmation .NET avec C#, après avoir développé pendant quelques années des applications Java pour WebSphere sur le System i. Après une heure ou deux d’utilisation de C#, je l’ai jugé très semblable à Java et j’ai aussi commencé à développer des applications.

Quel que soit le langage choisi, la principale difficulté pour les programmeurs RPG traditionnels est que Visual Basic et C# exigent tous deux de développer des programmes par des techniques modulaires. Si vous avez écrit des sous-procédures en ILE RPG et si vous êtes à l’aise avec les paramètres facultatifs, les valeurs de renvoi, le mot-clé export, les modules et les programmes de service, ce bagage vous sera utile avec les langages .NET. En revanche, peut-être n’avez-vous jamais eu l’occasion de développer des compétences ILE. Malheu – reusement, beaucoup de sites System i ont retardé leurs compétences en développement sous le prétexte que les programmeurs actuels ne sauraient être plus savants que leur manager, luimême ancien programmeur. Dans un tel cas, vous aurez toute latitude pour travailler avec les éditions Visual Studio Express pour votre propre compte. Tout comme vous jugeriez les compétences ILE utiles pour développer des applications .NET, vous constaterez que l’inverse est vrai : en apprenant à créer des programmes à l’aide de Visual Basic ou C#, vous aurez pris beaucoup d’avance en apprenant les concepts ILE et en les appliquant à RPG.

L’expérience vous montrera un point important : il n’y a pas toujours d’équivalents directs entre RPG et les langages .NET. En entendant cela, beaucoup de programmeurs RPG en déduisent que cela prouve la supériorité de RPG pour tous les besoins de programmation, passés, présents et futurs. En réalité, s’il n’y a peut-être pas d’opcode direct équivalent dans .NET, il est très probable qu’il existe une fonction .NET équivalente dont l’invocation fournira la même possibilité. L’un des changements les plus significatifs qu’il vous faudra apporter lors de l’apprentissage de n’importe quel langage orienté objet est qu’il y a relativement peu d’opcodes et, dans un langage comme C#, pas de fonctions intégrées (BIF, built-in functions) à proprement parler (la version .NET de Visual Basic conserve la plupart des fonctions qui existaient dans les anciennes versions de Visual Basic, même s’il est fortement recommandé d’utiliser les caractéristiques .NET au lieu des fonctions.) Vous apprendrez donc à utiliser les classes .NET avec leurs méthodes et propriétés pour effectuer les tâches de vos programmes.

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Craig Pelkie - Publié le 31 janvier 2011