lundi 19 décembre 2011

Quel avenir pour le Cobol ?

Parmi les professionnels de l’informatique il existe un débat récurent : Java ou pas Java. Est-ce que Java est le langage d’avenir qui va remplacer tous les autres. Il y a les pour et les contre Java. Personne n’est indifférent. Différentes solutions alternatives sont évoquées comme : Ruby, Python, C, C#, C++, PHP, JavaScript, Visual Basic,… Il y a là une panoplie complète allant du plus nouveau au plus classique et on oublie dans la liste le très traditionnel Cobol. On le considère généralement comme un langage en déclin rapide et on annonce régulièrement sa mort imminente. Il est vrai qu’il a plus de 50 ans. Mais cela fait déjà 20 ou 30 ans que des prophètes auto-proclamés annoncent périodiquement sa mort. Mais il vit toujours. Dans les années 70 IBM avait d’ailleurs développé un langage qui devait déjà tuer Cobol : le PL/1. Depuis on l’a bien oublié. Paix à ces cendres.
Annoncer la fin de Cobol était probablement un peu anticipée. Selon le Gartner Group 75 % des applications de gestion utilisées dans le monde sont écrites en Cobol. Cela représente un stock de code compris entre 180 et 200 milliards de lignes. Comment voulez-vous remplacer du jour au lendemain une telle masse de programmes. Sur la base d’un coût de développement de 7 à 25 euros par ligne ([1]) cette masse de programme représente un investissement compris entre 1.300 et 4.000 milliards d’euros ([2]). Ce montant est sans commune mesure avec le coût des mainframes et ses serveurs qui l’exploitent. Il n’est pas possible de faire du jour au lendemain un write-off d’un montant aussi important. De plus cette masse de code augmente chaque année. On estime qu’actuellement 15 % des nouvelles applications sont développées en Cobol ce qui représente une augmentation du stock de code de 5 milliards de ligne de code par an.
L’essentiel de ce code fonctionne sur des mainframes d'IBM travaillant sous Z/OS mais aussi sur AS/400. Il existe aussi des applications Cobol sur les matériels de Bull, d’Unisys, de Siemens, de Nec, de Fujitsu, d’Hitachi,… La plupart fonctionnent sur des systèmes d’exploitation propriétaire comme par exemple GCOS 7 et GCOS 8 chez Bull ou OS 2200 chez Unisys. Mais de plus en plus d’applications écrites en Cobol fonctionnent sur des systèmes sous Unix ou Linux comme ceux d’HP, de Sun,… De plus on constate qu’un nombre croissant d’applications écrites en Cobol fonctionnent sur des serveurs Windows.
L’intervenant clé sur le marché du Cobol est une entreprise anglaise, Micro Focus, qui réalise un chiffre d’affaires de 430 millions de dollars en vendant un compilateur Cobol qui est devenu le standard du marché : AcuCobol. Traditionnellement il fonctionne en environnement CICS mais depuis il a considérablement évolué et fonctionne sous Windows, avec .Net, la JVM, sous Unix ou Linux et même sur le Cloud. Il a été adapté à tous les environnements notamment Visual Studio et Eclipse. Il est même orienté objet. La dernière version (15 juin 2011)  est Visual Cobol R4 est orientée vers l’environnement Windows avec .Net et il existe une version orientée sites centraux : Virtual mainframe. En 2009, Micro Focus a racheté Borland et plus récemment l’activité de tests de Compuware.
Mais Micro Focus n’est pas seul acteur présent. IBM est aussi très actif sur ce segment. Elle propose Cobol on z/OS, Cobol for Aix,…Allez voir sur son site « Cobol café ». Il est très intéressant. Vous pourrez constater par la richesse et la variété des discussions que Cobol n'est pas mort.
Mais à côté de ces deux leaders : Micro Focus et IBM il existe de nombreux produits autour du Cobol. Un site américain les recense : The COBOL Center . Il existe un Cobol sans run-time développé par Fujitsu Software : le NetCOBOL. Il est diffusé par Alchemy. Il existe une version qui fonctionne sur Azure, le service Cloud de Microsoft. NetCobol est diffusé depuis plus de 10 ans par Microsoft sous le nom de Cobol for Microsoft.NET.
On trouve aussi un système qui prend du Cobol et génère du code Java : Cobol for Java ou isCOBOL de Veryant. Il existe même plusieurs compilateurs Cobol libres : Cobol for GCC, Tiny COBOL et Open Cobol. Ce dernier produit est intéressant car il traduit le code Cobol en C puis le code produit est compilé en C avant d’être exécuté. Il fonctionne ainsi dans de nombreux environnements : Windows, Mac OS, Linux, Unix,… Une société de service française, Cobol-IT, assure la diffusion d’Open Cobol avec ou des interfaces pour Oracle ou DB2 mais en proposant aussi pour PostgreSQL et MySQL.  Comme on le voit le Cobol n’est pas mort. Au contraire il est bien vivant. La question n’est pas de savoir si Java le remplacera mais plutôt de se demander si un jour on ne va pas constater que Cobol a fini par remplacer Java dans le domaine de la gestion.

Sur ce sujet voir sur ce même blog : "Le Cobol n’est toujours pas mort" du  mardi 10 décembre 2013


[1] - 7 euros la ligne de code est un prix d’ami. Je pense que le coût réel : conception, réalisation et tests compris est plus près de 25 euros que de 10 euros.
[2] - Le PIB de la France en 2010 est de 1.932 milliards d’euros.

Aucun commentaire: