@SURTITRE:
@TITRE:Pas si ringard que ça!
@CHAPO:Evoluant doucement au fil des décennies, Cobol garde encore une position honorable par rapport à des solutions plus avancées mais encore souvent décevantes.
@TEXTE:Maintes fois condamné sans appel aux oubliettes de l'histoire informatique, Cobol parviendra-t-il à se refaire une jeunesse avec sa version orientée objet? Un mariage choquant, sans doute entre deux générations d'informatique, mais un "compromis historique" notait récemment Cornel Simiu (*) dans nos colonnes (LMI du 1er juillet): "L'approche objet n'a pas aujourd'hui les moyens de se priver d'un allié, fût-il contre nature, du poids de Cobol".
On estime à 80 milliards le nombre de lignes de Cobol actuellement opérationnelles dans le monde. Leur ancienneté varie de 2 à 30 ans. Si l'on y compte beaucoup de "Cobol spaghetti", nombre d'entreprises ont fait, et continuent de faire, des efforts de structuration. Bref il s'agit d'un énorme capital, souvent bien entretenu. Et bien rodé sur le terrain, c'est le moins qu'on puisse dire.
On comprend donc que les responsables informatiques n'affichent qu'un enthousiasme modéré à les remplacer par du beau code tout neuf, mais à déboquer. Et cher. D'autant que Cobol a su régulièrement se renouveler et profiter de la puissance accrue des machines pour se structurer.
@INTER:La vielle dame s'offre un lifting
@TEXTE:Cobol n'est plus ce qu'il était il y a 35 ans. Techniquement, comme le montre François Jeanne dans ce même dossier, le langage a progressivement renforcé ses aptitudes à la programmation structurée. Méthodologies et ateliers de génie logiciel permettent de le gérer correctement et de pratiquer l'assurance qualité. Enfin, le développement sur micro-ordinateur réduisent sensiblement les coûts. Tout en apportant une convivialité qui peut faire rêver les programmeurs d'hier, avec leurs bordereaux qu'il fallait saisir sur carte perforées et leurs listings qui revenaient le lendemain avec les erreurs à corriger!
Les services informatiques sérieux ont donc peu à peu entretenu leurs parc d'applications. Et peuvent donc prétendre qu'il est en bon état de marche, avec des coûts de maintenance plus raisonnables qu'on veut bien le dire.
Cobol parvient même à profiter du downsizing. Gecip (spécialiste des publipostages), par exemple, a reconstitué un environnement de type mainframe (VM en l'occurrence) sur un réseau de micro avec réseau local mainframe. Et y a transféré sans difficulté majeure son parc d'applications Cobol, essentiellement en batch. Poussant le jeu à ses limites, les Mutuelles du Mans informatisent leurs agences en Cobol sur mini-6. Du client-serveur, en quelque sorte, un peu en retard sur l'histoire. Mais pour lequel on n'exclut pas un portage ultérieur sous Unix.
@INTER:Les concurrents ont leurs points faibles
@TEXTE:Dans le même temps, des défauts de jeunesse ou des handicats naturels continuent de peser sur ses multiples concurrents: langages de 4e génération, langages orientés objets, progiciels
Les progiciels, par exemple, progressent régulièrement. Ils ne laissent aucune chance à la programmation spécifique pour les applications standard comme la paie ou la comptabilité. En tous cas dans les entreprises petites, moyennes et même assez grandes. Mais nous avons souvent attiré l'attention sur le coût parfois très élevé des "paramétrages" et autres compléments spécifiques. Et sur la difficulté de les maintenir au fil des nouvelles versions du système d'exploitation comme du progiciel lui-même. Jean-Jacques Michel, par exemple, responsable du département informatique du Cetim, explique la part encore non négligeable du Cobol dans son parc applicatif de gestion: " Nous avons encore beaucoup de travaux typiquement batch. Le progrès des AGL fournis par notre fournisseur Bull nous permet aujourd'hui de travailler rapidement, par couper-coller notamment. Il suffit aujourd'hui d'une journée pour réaliser un programme Cobol typique, avec une demi-douzaine de fichiers à manipuler et des éditions".
Les langages de quatrième génération s'avèrent efficaces dans les domaines qui leur conviennent. Mais leur variété empêche l'émergence de véritables standards, et l'entreprise retrouve les entraves liés à tout outil "propriétaire": risques en cas de difficultés du fournisseur, motivation modérée des informaticiens à se spécialiser sur un créneau étroit. Cobol a au moins l'avantage d'être une véritable norme Ansi (American national standards institute). Même si nombre de constructeurs évitent la référence "Cobol 85" et parlent, chez IBM par exemple, de Cobol V2.
Le goût du jour, renforcé par la vague universelle du client/serveur, pousse en avant le C++. Outil de professionnels, il leur apporte une concision appréciée, une structuration hiérarchisée (fonctions, bibliothèques #include). Si nécessaire pour des raisons de performances, il se complètent facilement de modules assembleur. A l'inverse, il conduit en douceur vers la programmation objet. Il souffre cependant de deux défauts. Le manque de lisibilité, d'abord, si le programmeur sacrifie à un certain "esprit C" qui pousse notamment à l'abus des pointeurs. La lourdeur ensuite de son écriture dès qu'on entre dans l'optique objet et le jeu subtil des classes et des héritages. Par contraste, la lourdeur verbeuse de Cobol laisse une impression de lisibilité.
@INTER:Cobol objet: la révolution en douceur est-elle possible?
@INTER: Donc Cobol garde sa place. Et l'apparition d'une version orientée l'objet lui redonne un horizon à long terme. Replâtrage illusoire ou vraie solution d'avenir? Daniel Martin ne comprend pas "qu'on essaye de mélanger une culture devenue obsolète avec l'orientation objet". Pour lui, Cobol manque fondamentalement du concept d'évènement comme de l'interactivité. Pour lui, les compilateurs Cobol fournissent des programmes de bonne qualité, logiquement exacts. Et le langage s'intègre bien avec SQL. Il conclut "Loin d'être mort, le veau d'or est toujours debout. Mais son créneau se limite au batch, qui ne représente plus qu'un quart des programmes, toutes applications confondues". D'autres craignent que cette nouvelle évolution ne fasse encore qu'ajouter des couches supplémentaires à la pile des outils de développement. En revanche, des études d'Arthur Andersen (voir article ci-joint), comparent favorablement Cobol Objet à Smalltalk.
Bref, Cobol a encore sa chance: un créneau désormais étroit, mais non sans avenir. Pratiquement tous les constructeurs poussent aujourd'hui à la migration plutôt qu'à la persévérance. Bulle, par exemple, a créé avec Syseca une filiale commune, Transtar, pour assister les entreprises dans les transitions nécessaires. IBM, de par ses dimensions et la confiance que lui accordent beaucoup de grands comptes, reste le seul grand partenaire susceptible de donner de la crédibilité à une évolution en douceur de la tétralogie MVS/CICS/DB2/Cobol vers de nouvelles formes d'architectures ouvertes. L'avenir du langage mis au point il y 35 ans par Grace Hopper dépendra largement de la politique du Numéro Un.
@SIGNATURE:PIERRE BERGER
@NOTE:(*) Directeur général, Cap Sesa Institut
icono: il faudrait obtenir de Microfocus une capture d'écran montrant bien un morceau de programme dans l'environnement de développement convivial.
@ENCADRE TITRE:Cobol, comme la carte perforée
@ENCADRE TEXTE:Il existe encore, sur la place de paris, des dizaines de façonniers offrant la saisie sur carte perforée. Il y a donc tout lieu de penser qu'on trouvera encore des programmeurs dans vingt ou trente ans. De là à y placer ses économies et son avenir professionnel...
@ENCADRE TITRE:Le fort et le faible
@ENCADRE TEXTE:
- Une lisibilité relativement grande et de réelles possibilités de programmation structurée
- Une immense parc d'applications existantes et bien rodées
- Une vaste population de programmeurs expérimentés et d'outils de développement en tous genres
- L'espoir d'une migration en douceur vers l'informatique du XXIeme siècle, soutenue par les fournisseurs de grands systèmes.
Mais
- Une orientation essentiellement batch, de plus en plus éloignée des besoins actuels d'interactivité et de programmation événementielle autant que graphique
- Une verbosité qui déplaît aux jeunes professionnels habitués à la nervosité technique de C comme à la richesse des ateliers de développement graphique