Et pour les technologies du futur qu'on attend partout ailleurs (et le pourquoi que le mainframe n'est pas remplacé malgré qu'IBM et d'autres du secteur se gavent)
- analyse des requêtes SQL à la compilation (aucune injection possible, optimisation de la stratégie, séparation stricte de la donnée et du code).
- description portable, simple, très performante et orientée métier des données.
- rétro-compatibilité+++ (faut que ça tourne dans 50 ans) c'est pas du code vieux qu'on manipule, mais du code pérenne (avec effectivement ce problème du sachant et de la doc qui se perdent)
- type décimal natif avec calcul exact sans arrondis.
- aucun soucis d'adressage mémoire.
- t'as aussi des trucs autour de DB2 (et ptet même Cobol), qui peut exposer des services HTTP.
- la notion de partition et toute la gestion matérielle et des droits pour concevoir les environnements prod/hors-prod et gérer les, milliers, d'utilisateurs
- accès bien contrôlé des ressources fichiers/db
- Services Unix (c'est... spécial... on n'est pas sur du Linux), y'a un serveur SSH et même un client git.
- système batch ET temps réel
C'est aussi un savoir-faire : faire un tri puis une rupture ou une jointure sans taper dans une base de donnée SQL pour un oui ou un non, une bonne part des cobolistes savent faire. Produire un MPD qui tienne à peu prêt la route. Savoir écrire du code modulaire (pas le choix en Cobol!). Écrire et maintenir du code sur plusieurs décennies, c'est pas un problème de langage mais d'interface chaise-clavier. Ce sont des attendus de base de toute personne du métier et expérimentée mais qui ne sont pas si bien acquises (voire parfois les soit-disantes bonnes pratiques de l'informatique sont des anti-patterns). Raison pour laquelle tant et tant de projets de migration se cassent la gueule. Y'a aussi l'architecture qui est déjà bien assez compliquée et serait un vrai casse-tête à s'arracher les cheveux sur système distribué.
[^] # Re: Pourquoi casser ce qui fonctionne
Posté par Nicolas (site web personnel) . En réponse au lien Faut-il se débarrasser des systèmes COBOL ? Entre dédain et transmission des savoirs. Évalué à 5.
Support unicode aussi.
Et pour les technologies du futur qu'on attend partout ailleurs (et le pourquoi que le mainframe n'est pas remplacé malgré qu'IBM et d'autres du secteur se gavent)
- analyse des requêtes SQL à la compilation (aucune injection possible, optimisation de la stratégie, séparation stricte de la donnée et du code).
- description portable, simple, très performante et orientée métier des données.
- rétro-compatibilité+++ (faut que ça tourne dans 50 ans) c'est pas du code vieux qu'on manipule, mais du code pérenne (avec effectivement ce problème du sachant et de la doc qui se perdent)
- type décimal natif avec calcul exact sans arrondis.
- aucun soucis d'adressage mémoire.
- t'as aussi des trucs autour de DB2 (et ptet même Cobol), qui peut exposer des services HTTP.
- la notion de partition et toute la gestion matérielle et des droits pour concevoir les environnements prod/hors-prod et gérer les, milliers, d'utilisateurs
- accès bien contrôlé des ressources fichiers/db
- Services Unix (c'est... spécial... on n'est pas sur du Linux), y'a un serveur SSH et même un client git.
- système batch ET temps réel
C'est aussi un savoir-faire : faire un tri puis une rupture ou une jointure sans taper dans une base de donnée SQL pour un oui ou un non, une bonne part des cobolistes savent faire. Produire un MPD qui tienne à peu prêt la route. Savoir écrire du code modulaire (pas le choix en Cobol!). Écrire et maintenir du code sur plusieurs décennies, c'est pas un problème de langage mais d'interface chaise-clavier. Ce sont des attendus de base de toute personne du métier et expérimentée mais qui ne sont pas si bien acquises (voire parfois les soit-disantes bonnes pratiques de l'informatique sont des anti-patterns). Raison pour laquelle tant et tant de projets de migration se cassent la gueule. Y'a aussi l'architecture qui est déjà bien assez compliquée et serait un vrai casse-tête à s'arracher les cheveux sur système distribué.