COBOL est encore (fortement?) Utilisé pour le calcul financier. C'est un ancien langage, et AFAIK la plupart des programmeurs détestent, ou du moins n'aiment pas, COBOL. Cela pose une question: est-ce la seule raison pour laquelle COBOL est toujours utilisé que les logiciels hérités l'utilisent, ou at-il de réels avantages par rapport aux autres langages de programmation?
Juste curieux.
Réponses:
C'est surtout hérité maintenant. De nombreux systèmes d'entreprise critiques sont toujours dans COBOL simplement parce qu'ils sont si grands et intégrés que le coût de la réécriture ne semble pas en valoir la peine. Il n'est probablement plus possible d'écrire un nouveau système dans COBOL, car la plupart des développeurs COBOL sont si rares qu'ils peuvent retirer une somme considérable d'argent pour la compétence spécialisée (similaire à un développeur Foxpro maintenant). Il y a peu ou pas de raisons de garder une application COBOL, mais malheureusement, le raisonnement commun est lorsque l'application COBOL est déjà en place, fiable et étroitement couplée avec d'autres systèmes là où elle est presque impossible à remplacer. Ce raisonnement est exactement pourquoi il devrait être remplacé avant d'arriver à une situation où le seul matériel qui exécute l'application doit être construit sur mesure à partir de pièces Ebay des années 80/90.
la source
C'est ça?
Cela dépend de ce que vous appelez l'informatique financière. Si vous appelez tout le code géré par les institutions financières, c'est probablement le cas. La plupart ont des règles commerciales écrites dans les années 60 et 70. Le risque + le coût de la mise à niveau de systèmes comme celui-ci vers un nouvel environnement n'en vaut pas la peine. Je doute qu'il y ait quelqu'un qui écrive un nouveau code COBOL. Il existe aujourd'hui des compilateurs COBOL qui s'intègrent dans la pile .NET, par exemple. Il existe souvent des outils pour intégrer et exploiter les applications héritées dans des piles de logiciels modernes, mais ces outils sont souvent inconnus des personnes qui n'ont pas à les utiliser, car il s'agit d'un marché très spécialisé.
Maintenant, si vous appelez l'informatique financière quelque chose de plus semblable à un logiciel de finance quantitative, je n'ai jamais entendu parler de quelqu'un utilisant COBOL. C ++ est beaucoup plus courant, le long de certains langages de niche comme k, un dérivé APL.
la source
k
et ses descendantsq
sont une telle douleurCOBOL voit principalement l'héritage utilisé maintenant. Sa base d'utilisateurs diminue lentement par attrition, car aucune nouvelle application n'est en cours d'écriture et les anciennes sont progressivement, mais sûrement, supprimées.
La plupart des systèmes COBOL qui pourraient être remplacés rapidement et à moindre coût ont déjà été remplacés. Ceux qui ne sont pas devenus de plus en plus chers à réparer ou à remplacer, mais moins chers et moins chers à entretenir par rapport aux systèmes plus récents - ils fonctionnent bien sur du matériel bon marché et obsolète et, après de nombreuses années de service, ne sont plus montrant plus de nouveaux bugs. La plupart des bogues ont été corrigés ou ont des traditions de longue date qui conviennent comme solutions de rechange. La maintenance a généralement été réduite à un ou deux employés spécialisés qui, après avoir longtemps travaillé sur le système, le connaissent plus intimement que vous ne pouvez l'imaginer.
Même d'un point de vue technique, il existe généralement de bonnes raisons de conserver les anciens systèmes. Ils sont relativement stables, ont été corrigés pour la plupart par des bogues et sont bien connus / compris par l'utilisateur final.
Vous verrez cependant que le système sera éventuellement remplacé. En règle générale, cette décision vient du côté des affaires:
la source
me demande ce que vous entendez par «la plupart des programmeurs». Je travaille dans une grande boutique informatique au même étage que les programmeurs cobol, les programmeurs Java, le programmeur .NET (au singulier), les programmeurs VB à l'ancienne. Il n'y a ni haine ni aversion. cobol est un langage comme tout autre langage de programmation - les gens qui programment en cobol le font parce que c'est un travail qui n'est pas différent pour eux de programmer en java ou de conduire un camion. Contrairement à la conception populaire aux États-Unis, de nombreux cobols continuent à être écrits, mais la plupart se trouvent en Inde où chaque jour de nouveaux programmeurs Cobol commencent à travailler.
Je pense que la raison pour laquelle pas trop de nouveaux systèmes nets sont écrits en Cobol est parce que le type de systèmes qui convient à cobol (traitement de fichiers à gros volume) est déjà écrit. Très peu de nouvelles grandes sociétés sont créées de nos jours. Et ceux qui le font pourraient sous-traiter des éléments comme la paie et les avantages sociaux à des entreprises qui gèrent des systèmes Cobol hérités.
la source
Une grande partie du code principal de PeopleSoft est écrite en COBOL.
la source
Avec 20 ans d'expérience COBOL, sur trois mainframes différents, il est à mon humble avis qu'il y a peu de vrais programmeurs COBOL et à la place il y a des programmeurs IBM, des programmeurs Sperry (Unisys 2200), des programmeurs Burroughs (Unisys MCP) et Tandem (HP NonStop) programmeurs. En signe de respect à leur égard, je dois également mentionner la présence de programmeurs HP 3000, de programmeurs BULL et de programmeurs DEC.
COBOL fonctionne sur de grandes boîtes en fer, pour la plupart. Peut-être que les seuls vrais programmeurs COBOL, selon mes propres normes, sont ceux qui écrivent COBOL sur une boîte UNIX. Wow, je vais en entendre parler.
Parce que le matériel est l'élément central, la plupart des programmeurs qui écrivent COBOL s'identifient par le matériel sur lequel le code qu'ils écrivent s'exécute. Au fil des ans, en écoutant d'autres programmeurs me parler des mérites de Sperry, Burroughs ou Tandem, je me suis souvent demandé quel genre de guerre s'ensuivrait si je les rassemblais et les plaçais ensemble dans une pièce incapable de partir jusqu'à ce qu'ils convenu d'une plate-forme matérielle pour tous les COBOL. Je n'ai pas mentionné les autres plateformes car je n'ai jamais travaillé dessus.
J'ai rencontré et parlé avec de nombreux programmeurs IBM, et ils se qualifieront de programmeurs COBOL. Cependant, si l'on les engage dans la conversation, ils commencent rapidement à se référer aux procédures et outils spécifiques d'IBM. Compte tenu de la nature matérielle de COBOL, cela est très compréhensible, pour toutes les plates-formes matérielles.
Parce que COBOL est généralement lié à un matériel très coûteux, tant que ce matériel exécute les programmes COBOL compilés dessus, il n'y a pas de forte volonté de migrer de COBOL pour le bien de la migration. Cependant, avec une population vieillissante de programmeurs COBOL, la migration est inévitable.
Étant donné que toutes les grandes boîtes de fer exécutant COBOL exécuteront également Java, Java est le chemin naturel de migration loin de COBOL. Le code peut être converti, en particulier maintenant dans une économie en baisse, pour un prix plutôt économique. Une fois qu'il n'y a pas de COBOL, seulement Java, sur ce gros matériel coûteux, alors quelqu'un plus haut dans l'organisation va commencer à se demander s'il est possible de déplacer le code Java vers un autre matériel beaucoup moins cher.
Les programmeurs IBM, Sperry, Burroughs et Tandem le savent, ils ne proposeront donc JAMAIS l'idée. Ce serait un sacrilège pour certains.
la source