Pour relier l’ancien et le nouveau monde applicatif, Ionica Bizau, un jeune développeur roumain, s’est amusé à créer un pont entre le vénérable langage Cobol et Node.js, la plateforme JavaScript server-side utilisée pour le développement multi-environnements d’applications web. Son projet node-cobol, publié sur GitHub, permet d’exploiter du code Cobol à partir de Node.js. Dans un e-mail à nos confrères d’InfoWorld, Ionica Bizau reconnaît qu’il n’y a sans doute pas de réel besoin à cela, si ce n’est la nostalgie que cela peut susciter chez les personnes qui connaissent Cobol.

Il y a encore beaucoup de lignes de code Cobol exploitées dans les programmes qui tournent actuellement. La plupart des interventions faites sur ces applications portent sur leur maintenance ou leur extension et il y a encore de la demande pour des experts Cobol. Sur le site Dice.com (ex IT Job board), qui répertorie des offres d’emploi IT aux Etats-Unis et en Europe (au Royaume-Uni, en Belgique, aux Pays-Bas et en Allemagne), on trouve toujours des annonces pour des programmeurs Cobol.

Insérer le code dans des services ou des API ?

Node-cobol nécessite de recourir au compilateur GNUcobol. Ce dernier reçoit en entrée le code Cobol et construit un exécutable en arrière-plan puis le fait tourner. Cette méthode permet au programmeur d’avoir un contrôle total du code Cobol. « Il serait intéressant d’utiliser un compilateur basé sur JavaScript pour compiler le code reçu en entrée, ce qui supprimerait la dépendance à GnuCobol », note le développeur.

Pour l’analyste Kurt Bittner, interrogé par InfoWorld, il serait plus approprié d’insérer le code Cobol dans des services et des API. « Ainsi, n’importe quelle application pourra l’utiliser de façon contrôlée tout en le laissant évoluer indépendamment de toute autre application qui l’appelle ». Ce qui, selon lui, présenterait en outre l’avantage de pouvoir remplacer le code Cobol au fur et à mesure quand si on souhaite le faire. Ionica Bizau suggère aux développeurs qui s’intéresseraient à son projet de proposer des améliorations dans le référentiel.