> Tech > La concurrence Java et PHP

La concurrence Java et PHP

Tech - Par iTPro - Publié le 19 janvier 2011
email


Java supporte tous ces concepts de base, mais pas de la même manière que RPG. Nombres décimaux, chaînes et dates, ne sont pas des types de données primitives dans Java. Ils sont mis en oeuvre en tant que classes et, pour les manipuler, il faut appeler leurs

La concurrence Java et PHP

méthodes. Cela marche fort bien mais demande plus de travail qu’en Modern RPG. L’accès aux bases de données demande lui aussi plus de travail. JDBC est un outil puissant, mais parfois complexe et lourd à utiliser. Si vous examinez le code nécessaire pour effectuer un accès base de données dans Java, vous verrez que cela ressemble beaucoup à utiliser SQL CLI (Call Level Interface) en C. Rien d’étonnant à cela parce que CLI est dans une grande mesure le moyen standard d’effectuer des tâches sur bases de données dans la plupart des langages de programmation PC. Mais, pour des programmeurs RPG habitués à voir la base de données étroitement intégrée dans le système, CLI est pataud. L’accès base de données de RPG est nettement supérieur à celui de Java. Rien d’étonnant puisque Java n’a pas été conçu comme un langage de gestion – il a été conçu comme un langage polyvalent.

En matière d’intégration avec i5/OS, l’intégration étroite avec le système d’exploitation est importante. Comment bénéficier des points forts de votre système si votre langage de programmation a été conçu pour fonctionner n’importe où? Si mon programme Java fonctionne de la même manière sur Windows que sur i5/OS, comment pourrait-il tirer parti des points forts de ce dernier ? Quand un langage est conçu pour s’exécuter partout, il doit s’aligner sur le « plus petit commun dénominateur » – c’est-à-dire qu’il ne peut utiliser que des fonctions disponibles partout. Quand un système d’exploitation offre un moyen plus innovant, il faut l’ignorer, car le programme ne pourra alors pas être hétérogène, c’est-à-dire fonctionner sur toutes les plates-formes. RPG est conçu dès le départ pour i5/OS. Java ne l’est pas.

Bien entendu, pour rendre Java utilisable sur i5/OS, IBM a dû créer un environnement ligne de commande entièrement nouveau (QShell). Et aussi beaucoup de classes (Java Toolbox/400). Malgré cela, Java ne supporte pas certaines des fonctions principales du système, comme le fait que ses messages d’erreur aillent dans le job log. Et il n’a jamais été aussi performant que les autres langages sur le système. En réalité, jusqu’à ce que IBM décide finalement de sortir le JVM de l’environnement natif pour le faire entrer dans l’environnement PASE (où il s’exécute comme un programme AIX plutôt qu’un i5/OS), la performance de Java était inutilisable pour de petits sites. Exécuter Java dans PASE est logique : après tout, Java a été conçu par Sun, une firme orientée Unix. Arriver à faire tourner Java sous i5/OS, c’est résoudre la quadrature du cercle. Et je salue bien bas IBM pour l’avoir fait. Un bon travail d’ingénierie, en vérité !

Bien qu’étant depuis peu sur le System i, PHP a suscité beaucoup d’intérêt. Si la manipulation de chaînes est bonne en RPG, elle est absolument superbe en PHP : celui-ci a les meilleures possibilités de manipulation de chaînes que j’ai jamais vues, à l’exception peut-être de Perl (qui a eu une grande influence sur les développeurs de PHP). Cela dit, le calcul décimal et l’accès aux bases de données ne sont pas aussi bons en PHP. En fait, PHP a vraiment été conçu dans un seul but : créer des applications Web. Il y excelle, mais il ne vaut pas RPG pour écrire des règles de gestion.

Dans son article, « Au-delà de RPG », Denoncourt dit que les experts suggèrent des alternatives à RPG, comme PHP et EGL. Selon moi, il exagère peut-être. Beaucoup de ces experts ne préconisent pas ces langages en remplacement mais plutôt comme des outils à utiliser conjointement à RPG.

Téléchargez gratuitement cette ressource

Cybersécurité sous contrôle à 360°

Cybersécurité sous contrôle à 360°

Avec Cloud in One, les entreprises ne gagnent pas uniquement en agilité, en modernisation et en flexibilité. Elles gagnent également en sécurité et en résilience pour lutter efficacement contre l’accroissement en nombre et en intensité des cyberattaques. Découvrez l'axe Cybersécurité de la solution Cloud In One.

Tech - Par iTPro - Publié le 19 janvier 2011