Archives de catégorie : COBOL Info

Conseils important en File-Status

Voici quelques conseils importants à garder à l’esprit concernant le File-Status :

  1. Comprendre les codes file-status :
    Assurez-vous de connaître la signification de chaque code file-status possible. Les codes file-status les plus courants incluent “00” (opération réussie), “10” (fin de fichier atteinte), “22” (enregistrement introuvable), “30” (fin de fichier atteinte lors d’une lecture séquentielle), etc. Une compréhension solide de ces codes vous aidera à identifier rapidement les problèmes.

  2. Utiliser un paragraphe de traitement des erreurs :
    Dans votre programme COBOL, créez un paragraphe de traitement des erreurs dédié pour gérer les situations où un code file-status indique une erreur. Cela permettra de centraliser la gestion des erreurs et d’améliorer la lisibilité de votre code.

  3. Vérifier les paramètres de fichier :
    Assurez-vous que les paramètres de fichier (organisation, mode d’accès, etc.) dans votre programme correspondent à ceux définis dans la définition du fichier (FD) et dans la clause OPEN. Une incompatibilité entre ces paramètres peut entraîner des erreurs file-status.

  4. Utiliser le code AFTER :
    Le code AFTER dans la clause OPEN peut être utilisé pour spécifier le comportement du programme après une opération de lecture infructueuse. Par exemple, vous pouvez utiliser “AFTER INVALID KEY” pour définir des actions spécifiques en cas d’erreur.

  5. Vérifier les noms de fichiers :
    Assurez-vous que les noms de fichiers spécifiés dans votre programme correspondent aux noms de fichiers réels sur le système. Une faute de frappe ou une différence de casse peut entraîner une erreur file-status.

  6. Utiliser des procédures de test :
    Vous pouvez utiliser des procédures de test (IF, EVALUATE) pour vérifier le code file-status après chaque opération d’E/S. Cela vous permettra de prendre des décisions en fonction du résultat de l’opération.

  7. Utiliser la clause INVALID KEY :
    Lorsque vous effectuez des opérations d’E/S, utilisez la clause INVALID KEY pour spécifier ce que vous voulez faire en cas d’erreur file-status. Vous pouvez enregistrer des informations d’erreur, générer des messages d’erreur ou prendre d’autres mesures appropriées.

  8. Effectuer une gestion appropriée des fichiers vides :
    Assurez-vous d’avoir un mécanisme en place pour gérer les fichiers vides, car cela peut entraîner des codes file-status spécifiques. Vous pouvez utiliser des instructions OPEN EXTEND ou évaluer le code file-status après une opération d’E/S pour détecter cette condition.

En suivant ces conseils et en ayant une solide compréhension des file-status, vous serez mieux équipé pour développer des programmes COBOL fiables et résilients lorsqu’il s’agit de traiter avec des fichiers. N’oubliez pas que la documentation COBOL est également une ressource précieuse pour en apprendre davantage sur les codes file-status spécifiques à votre environnement COBOL.

Histoire du COBOL

Le COBOL (Common Business Oriented Language) a été développé dans les années 1950 pour répondre à la nécessité d’un langage de programmation universel pour les applications commerciales. Depuis lors, il est devenu un langage de choix pour les systèmes de traitement des transactions financières, de la paie et d’autres applications d’entreprise critiques.

Les débuts du COBOL

En 1959, une équipe de programmeurs dirigée par Grace Hopper a été chargée de développer un langage de programmation universel pour les applications commerciales. La nouvelle langue devait être facile à comprendre et à utiliser, capable de traiter de grands ensembles de données, et compatible avec les ordinateurs de l’époque.

A ce moment, les ordinateurs étaient relativement nouveaux et les entreprises utilisaient des machines très différentes les unes des autres, rendant la programmation difficile et coûteuse. Le gouvernement américain a alors initié un projet de développement d’un langage de programmation commun, qui est devenu le COBOL.

Grace Hopper et d’autres avec UNIVAC System – Univac Division

Le COBOL a été développé à partir de la combinaison de différents langages de programmation, dont le FACT, le COMTRAN et le FLOW-MATIC. Le langage a été conçu pour être hautement lisible et structuré, ce qui permettait aux programmeurs d’écrire des programmes plus clairs et plus compréhensibles.

Les premières versions du COBOL ont été publiées en 1959 et ont rapidement été adoptées par de nombreuses entreprises, ce qui a contribué à l’essor de l’informatique commerciale.

L’adoption du COBOL

Le COBOL est rapidement devenu populaire en raison de sa convivialité et de sa facilité d’apprentissage. Il a été adopté par les gouvernements et les entreprises du monde entier, devenant rapidement le langage de programmation standard pour les applications commerciales. En 1960, le premier compilateur COBOL a été publié, permettant aux programmeurs de compiler leurs programmes COBOL en langage machine.

Grace Murray Hopper a participé à la conception d’UNIVAC I et d’applications navales en Cobol. (Crédit D.R.) – 1960.

Dans les années 1960, les applications commerciales étaient souvent développées sur des ordinateurs centralisés. Le COBOL est devenu le langage de programmation privilégié pour ces ordinateurs, offrant une solution efficace pour le traitement des transactions commerciales. Les grandes entreprises ont commencé à développer des systèmes de traitement de transactions en temps réel, utilisant le COBOL pour gérer les opérations commerciales de base telles que la facturation, la paie et la gestion des stocks.

L’évolution du COBOL

Au fil des ans, le COBOL a évolué pour répondre aux besoins changeants des entreprises. Les versions ultérieures ont introduit de nouvelles fonctionnalités, notamment la prise en charge des tableaux multidimensionnels, la programmation orientée objet et la connectivité Internet.

Le COBOL a également été porté sur de nombreuses plates-formes informatiques différentes, des mini-ordinateurs aux systèmes mainframe en passant par les ordinateurs personnels. Il reste toujours largement utilisé aujourd’hui, en particulier dans les secteurs financiers et gouvernementaux.

Dans les années 1960 et 1970, des extensions ont été ajoutées pour améliorer la gestion des fichiers, des bases de données et la communication entre systèmes.
Les années 1980 ont vu l’apparition de COBOL 85, qui a introduit de nouvelles fonctionnalités telles que les variables locales et les instructions de contrôle de boucle améliorées.
Dans les années 1990, le COBOL a été adapté pour fonctionner sur des ordinateurs personnels, tandis que les années 2000 ont vu l’introduction de COBOL pour les applications Web et les services Web.
Aujourd’hui, le COBOL continue d’être utilisé pour des applications critiques dans des secteurs tels que la finance, les assurances et les gouvernements, et des efforts sont faits pour moderniser et adapter le langage pour les technologies émergentes telles que le cloud computing et les applications mobiles.

L’importance continue du COBOL

Malgré son âge, le COBOL continue de jouer un rôle crucial dans de nombreuses entreprises, en particulier dans les secteurs financiers et gouvernementaux. De nombreuses applications commerciales critiques ont été développées en COBOL et sont toujours en service aujourd’hui.

Cependant, l’utilisation de COBOL a également créé un défi pour de nombreuses entreprises. Les développeurs COBOL sont souvent des professionnels expérimentés qui ont travaillé sur des systèmes informatiques pendant des décennies. De nombreux programmeurs COBOL sont proches de la retraite ou ont déjà pris leur retraite, ce qui crée un risque de pénurie de compétences. Cela a été accentué par la diminution de l’enseignement du COBOL dans les universités, les étudiants étant plus susceptibles d’apprendre des langages plus récents tels que Java ou Python.

L’avenir du COBOL

Cependant, de nombreux experts estiment que le COBOL restera un langage de programmation important pour de nombreuses années encore. Les systèmes COBOL continuent de traiter des milliards de transactions commerciales chaque jour et les entreprises doivent continuer à les prendre en charge.

Des initiatives ont été lancées pour former une nouvelle génération de programmeurs COBOL, en particulier pour répondre à la demande de remplacement des programmeurs expérimentés qui quittent le marché du travail. Des programmes de formation en ligne et des bootcamps de codage ont été lancés pour aider à former de nouveaux programmeurs COBOL.

En outre, de nouvelles initiatives ont été lancées pour moderniser les applications existantes en COBOL en les rendant plus agiles, plus accessibles et plus faciles à intégrer avec d’autres technologies. Les développeurs utilisent des outils de développement modernes tels que les interfaces graphiques utilisateur (GUI), les services Web et les architectures orientées services pour moderniser les applications COBOL existantes et les intégrer à d’autres systèmes.

Aujourd’hui

Le COBOL a une longue histoire en tant que langage de programmation universel pour les applications commerciales. Bien qu’il ait été développé il y a plus de six décennies, il continue de jouer un rôle crucial dans de nombreuses entreprises et gouvernements. Toutefois, la pénurie de compétences et la nécessité de moderniser les applications existantes représentent des défis pour l’avenir du COBOL. Les entreprises doivent prendre des mesures pour former une nouvelle génération de programmeurs COBOL et moderniser leurs applications existantes pour assurer la continuité de leurs opérations informatiques critiques.

L’importance de la formation en COBOL

COBOL (COmmon Business-Oriented Language) est un langage de programmation utilisé pour le développement de logiciels pour les entreprises. Bien que ce langage ait été développé il y a plusieurs décennies, il reste toujours d’actualité dans de nombreuses organisations. Dans cette page web, nous allons discuter de l’importance de la formation en COBOL et pourquoi elle est cruciale dans le monde des affaires.

COBOL : Un langage de programmation largement utilisé

COBOL est l’un des langages de programmation les plus anciens et les plus largement utilisés dans le monde des affaires. Il est principalement utilisé pour la programmation de logiciels d’entreprise, tels que les systèmes de gestion de la paie, les systèmes de gestion des stocks, les systèmes de gestion de la comptabilité, etc. COBOL est également utilisé dans des secteurs tels que l’assurance, la banque, la finance, la santé, les transports et la distribution.

La demande pour les compétences en COBOL reste élevée

Bien que COBOL soit un langage de programmation ancien, la demande pour les compétences en COBOL reste élevée dans de nombreuses entreprises. Les organisations qui utilisent encore des systèmes hérités ont besoin de programmeurs pour maintenir et mettre à jour ces systèmes. Les programmeurs COBOL sont également nécessaires pour effectuer des migrations de données entre les anciens systèmes et les nouveaux systèmes.

Les logiciels COBOL sont robustes et fiables

Les systèmes d’entreprise, tels que les systèmes de gestion de la paie et les systèmes de gestion des stocks, doivent être robustes et fiables. Les logiciels COBOL ont été utilisés depuis des décennies pour développer des systèmes d’entreprise et ont fait leurs preuves en termes de robustesse et de fiabilité. Les systèmes COBOL ont la capacité de traiter de grandes quantités de données et de gérer des opérations critiques pour l’entreprise.

Les compétences en COBOL sont transférables

Les compétences en COBOL sont transférables entre différentes entreprises et secteurs. Les programmeurs COBOL peuvent travailler dans des entreprises de différents secteurs, car les principes fondamentaux de programmation restent les mêmes. De plus, la plupart des entreprises utilisent des systèmes d’exploitation similaires, tels que z/OS, pour exécuter des applications COBOL.

La formation en COBOL est abordable

La formation en COBOL est abordable et accessible. De nombreuses écoles et universités proposent des cours de programmation COBOL pour les étudiants en informatique et en génie logiciel. Il existe également de nombreux cours en ligne et des ressources gratuites pour apprendre COBOL.

La formation en COBOL peut aider à élargir les compétences des programmeurs

De nombreux programmeurs travaillent avec des langages de programmation modernes tels que Java, Python et Ruby, mais peu ont une expérience avec COBOL. Pourtant, la demande pour les programmeurs COBOL est toujours présente, en particulier dans les grandes entreprises et les gouvernements qui utilisent encore des mainframes et des systèmes hérités. En apprenant COBOL, les programmeurs peuvent élargir leur champ de compétences et leur portée d’emploi, ce qui peut améliorer leur employabilité à long terme.

De plus, la formation en COBOL peut également aider les programmeurs à mieux comprendre l’architecture et le fonctionnement des systèmes mainframe, ainsi qu’à développer des compétences en résolution de problèmes et en optimisation de performances. Ces compétences peuvent être transférées à d’autres langages de programmation et peuvent aider les programmeurs à devenir plus efficaces dans leur travail.

La formation en COBOL est une opportunité pour les jeunes générations

Bien que COBOL soit un langage de programmation hérité, la demande pour les programmeurs COBOL est toujours présente et devrait augmenter dans les années à venir. Les entreprises sont à la recherche de programmeurs qualifiés pour travailler sur leurs systèmes mainframe et il y a une pénurie de main-d’œuvre qualifiée pour répondre à cette demande.

Cela crée une opportunité pour les jeunes générations qui cherchent à entrer dans l’industrie de la programmation. En apprenant COBOL, les nouveaux programmeurs peuvent se démarquer de la foule et trouver des emplois bien rémunérés dans des entreprises qui ont besoin de programmeurs pour travailler sur leurs systèmes mainframe.

La formation en COBOL peut aider les entreprises à assurer la continuité de leurs opérations

Les systèmes mainframe et les applications COBOL qui les alimentent sont souvent critiques pour les entreprises. Ils traitent des volumes massifs de données et supportent des applications essentielles pour les opérations quotidiennes des entreprises. Si ces systèmes devaient tomber en panne ou être indisponibles, cela pourrait avoir des conséquences graves pour les entreprises.

En formant des programmeurs à travailler avec COBOL, les entreprises peuvent s’assurer qu’elles ont une main-d’œuvre qualifiée pour maintenir et améliorer leurs systèmes mainframe. Cela peut aider à garantir la continuité des opérations et à minimiser les temps d’arrêt, ce qui peut être coûteux pour les entreprises.

La formation en COBOL peut aider à moderniser les systèmes hérités

Même si les systèmes hérités sont considérés comme étant obsolètes, ils continuent de fonctionner et de servir de nombreuses entreprises. Toutefois, avec l’évolution des technologies, ces systèmes peuvent devenir difficiles à maintenir et à modifier. La formation en COBOL peut aider les développeurs à moderniser ces systèmes et à les rendre plus efficaces.

En apprenant les compétences nécessaires pour travailler avec des systèmes hérités, les développeurs peuvent mieux comprendre comment fonctionnent ces systèmes et comment ils peuvent être améliorés. Ils peuvent également utiliser leur expertise pour moderniser ces systèmes en utilisant des technologies plus récentes telles que les services Web, les API et les applications mobiles.

De plus, la formation en COBOL peut aider à réduire les coûts de maintenance des systèmes hérités. Les systèmes hérités nécessitent souvent des mises à jour et des modifications régulières pour continuer à fonctionner correctement. En formant des développeurs à travailler avec ces systèmes, les entreprises peuvent réduire les coûts de maintenance en interne plutôt que de devoir externaliser ces tâches coûteuses.

En fin de compte, la formation en COBOL peut aider à moderniser les systèmes hérités et à les rendre plus efficaces tout en réduisant les coûts de maintenance. Cela peut aider les entreprises à rester compétitives et à répondre aux besoins de leurs clients de manière plus rapide et plus efficace.

La formation en COBOL peut améliorer la sécurité des applications

La sécurité est un aspect crucial de la programmation informatique, et cela est particulièrement vrai pour les applications financières et bancaires qui traitent des données sensibles. La formation en COBOL peut aider les développeurs à écrire des applications sécurisées qui protègent les informations sensibles des clients.

Le langage COBOL a été conçu pour les systèmes critiques tels que les systèmes bancaires et de paiement, ce qui signifie qu’il dispose de nombreuses fonctionnalités de sécurité intégrées. Les développeurs qui maîtrisent le COBOL peuvent utiliser ces fonctionnalités pour écrire des applications qui sont plus résistantes aux attaques et aux piratages.

En outre, la formation en COBOL peut aider les développeurs à comprendre les meilleures pratiques en matière de sécurité des applications, telles que la validation des entrées utilisateur, la gestion des sessions utilisateur et la protection des données sensibles. Cela peut aider à prévenir les failles de sécurité et à protéger les informations sensibles des clients.

Synthèse

La formation en COBOL est cruciale pour plusieurs raisons. Tout d’abord, COBOL est toujours largement utilisé dans les systèmes hérités et il y a donc une demande constante pour des programmeurs qualifiés. De plus, la programmation COBOL peut être une compétence clé pour travailler dans certaines industries, comme la finance et les services gouvernementaux. En outre, la formation en COBOL peut aider les programmeurs à élargir leurs compétences, à moderniser les systèmes hérités et à améliorer la performance et la sécurité des applications existantes. Enfin, la formation en COBOL peut être un choix judicieux pour les personnes cherchant à démarrer une carrière en informatique, car elle offre une opportunité d’emploi stable et bien rémunérée dans un domaine en constante évolution.

Comparaison de mots réservés

Cette annexe contient un tableau qui montre les différences entre les mots réservés OS/VS COBOL, VS COBOL II, IBM COBOL et Enterprise COBOL.

Note:
Les nouveaux mots réservés (à l’exclusion des nouveaux mots réservés pour un développement futur) qui ont été ajoutés depuis IBM COBOL sont mis en évidence en gras.

 XLe mot est réservé dans le produit
 X*Dans la colonne IBM COBOL, le mot est réservé uniquement dans COBOL pour OS/390 & VM, Version 2 Release 2. Il n’est pas réservé en version 1 version 1 ou versions antérieures.
 X**Dans la colonne Enterprise COBOL, le mot est réservé uniquement dans Enterprise COBOL, version 4 Release 1. Il n’est pas réservé dans Enterprise COBOL Version 3.
 – (minus)Le mot n’est pas réservé dans le produit. (Cela inclut les mots réservés obsolètes qui ne sont plus signalés).
 CDWLe mot est une instruction de directive de compilateur COBOL Enterprise. S’il est utilisé comme mot défini par l’utilisateur, il est marqué d’un message sérieux.
 RFDLe mot est réservé au développement futur. S’il est utilisé, il est marqué d’un message d’information.
 SYSLe mot est un mot ayant une signification spécifique pour le système d’exploitation. Il ne peut être utilisé que dans des contextes spécifiques au sein du programme.
 UNSLe mot est un mot réservé standard COBOL 1985 pour une fonctionnalité non prise en charge par ce compilateur. Pour certains de ces mots, la fonctionnalité est prise en charge par le précompilateur Report Writer. S’il est utilisé dans un programme, il est reconnu comme un mot réservé et marqué d’un message sérieux.

Comparaison de mots réservés

Mot RéservéEnterprise COBOLIBM COBOLVS COBOL IIOS/VS COBOL
ACCEPTXXXX
ACCESSXXXX
ACTIVE-CLASSRFD
ACTUALX
ADDXXXX
ADDRESSXXXX
ADVANCINGXXXX
AFTERXXXX
ALIGNEDRFD
ALLXXXX
ALLOCATERFD
ALPHABETXXX
ALPHABETICXXXX
ALPHABETIC-LOWERXXX
ALPHABETIC-UPPERXXX
ALPHANUMERICXXX
ALPHANUMERIC-EDITEDXXX
ALSOXXXX
ALTERXXXX
ALTERNATEXXXX
ANDXXXX
ANYXXX
ANYCASERFD
APPLYXXXX
AREXXXX
AREAXXXX
AREASXXXX
ARITHMETICRFDRFD
ASX**
ASCENDINGXXXX
ASSIGNXXXX
ATXXXX
ATTRIBUTESX**
AUTHORXXXX
AUTOMATICRFD
B-ANDRFDRFDRFD
B-EXORRFDRFD
B-LESSRFDRFD
B-NOTRFDRFDRFD
B-ORRFDRFDRFD
B-XORRFD
BASEDRFD
BASISCDWCDWCDWX
BEFOREXXXX
BEGINNINGXXXX
BINARYXXX
BINARY-CHARRFD
BINARY-DOUBLERFD
BINARY-LONGRFD
BINARY-SHORTRFD
BITRFDRFDRFD
BITSRFDRFD
BLANKXXXX
BLOCKXXXX
BOOLEANRFDRFDRFD
BOTTOMXXXX
BYXXXX
CALLXXXX
CANCELXXXX
CBLCDWCDWCDWX
CDUNSUNSUNSX
CFUNSUNSUNSX
CHUNSUNSUNSX
CHANGEDX
CHARACTERXXXX
CHARACTERSXXXX
CLASSXXX
CLASS-IDXX
CLOCK-UNITSUNSUNSUNS
CLOSEXXXX
COBOLXXX
CODEXXXX
CODE-SETXXXX
COLRFD
COLLATINGXXXX
COLSRFD
COLUMNUNSUNSUNSX
COLUMNSRFD
COM-REGXXX
COMMAXXXX
COMMITRFDRFD
COMMONXXX
COMMUNICATIONUNSUNSUNSX
COMPXXXX
COMP-1XXXX
COMP-2XXXX
COMP-3XXXX
COMP-4XXXX
COMP-5XX*RFD
COMP-6RFDRFD
COMP-7RFDRFD
COMP-8RFDRFD
COMP-9RFDRFD
COMPUTATIONALXXXX
COMPUTATIONAL-1XXXX
COMPUTATIONAL-2XXXX
COMPUTATIONAL-3XXXX
COMPUTATIONAL-4XXXX
COMPUTATIONAL-5XX*RFD 
COMPUTATIONAL-6RFDRFD
COMPUTATIONAL-7RFDRFD
COMPUTATIONAL-8RFDRFD
COMPUTATIONAL-9RFDRFD
COMPUTEXXXX
CONDITIONRFD
CONFIGURATIONXXXX
CONNECTRFDRFD
CONSOLESYSSYSSYSX
CONSTANTRFD
CONTAINEDRFDRFD
CONTAINSXXXX
CONTENTXXX
CONTINUEXXX
CONTROLUNSUNSUNSX
CONTROLSUNSUNSUNSX
CONVERTINGXXX
COPYCDWCDWCDWX
CORRXXXX
CORR-INDEXX
CORRESPONDINGXXXX
COUNTXXXX
CRTRFD
CSPSYSSYSSYSX
CURRENCYXXXX
CURRENTRFDRFD
CURRENT-DATEX
CURSORRFD
C01SYSSYSSYSX
C02SYSSYSSYSX
C03SYSSYSSYSX
C04SYSSYSSYSX
C05SYSSYSSYSX
C06SYSSYSSYSX
C07SYSSYSSYSX
C08SYSSYSSYSX
C09SYSSYSSYSX
C10SYSSYSSYSX
C11SYSSYSSYSX
C12SYSSYSSYSX
DATAXXXX
DATA-POINTERRFD
DATEXXXX
DATE-COMPILEDXXXX
DATE-WRITTENXXXX
DAYXXXX
DAY-OF-WEEKXXX
DBRFDRFD
DB-ACCESS-CONTROL-KEYRFDRFD
DB-DATA-NAMERFDRFD
DB-EXCEPTIONRFDRFD
DB-RECORD-NAMERFDRFD
DB-SET-NAMERFDRFD
DB-STATUSRFDRFD
DBCSXXX
DEUNSUNSUNSX
DEBUGX
DEBUG-CONTENTSXXXX
DEBUG-ITEMXXXX
DEBUG-LINEXXXX
DEBUG-NAMEXXXX
DEBUG-SUB-1XXXX
DEBUG-SUB-2XXXX
DEBUG-SUB-3XXXX
DEBUGGINGXXXX
DECIMAL-POINTXXXX
DECLARATIVESXXXX
DEFAULTRFDRFDRFD
DELETEXXXX
DELIMITEDXXXX
DELIMITERXXXX
DEPENDINGXXXX
DESCENDINGXXXX
DESTINATIONUNSUNSUNSX
DETAILUNSUNSUNSX
DISABLEUNSUNSUNSX
DISCONNECTRFDRFD
DISPX
DISPLAYXXXX
DISPLAY-STX
DISPLAY-1XXX
DISPLAY-2RFDRFD
DISPLAY-3RFDRFD
DISPLAY-4RFDRFD
DISPLAY-5RFDRFD
DISPLAY-6RFDRFD
DISPLAY-7RFDRFD
DISPLAY-8RFDRFD
DISPLAY-9RFDRFD
DIVIDEXXXX
DIVISIONXXXX
DOWNXXXX
DUPLICATERFDRFD
DUPLICATESXXXX
DYNAMICXXXX
ECRFD
EGCSXXX
EGIUNSUNSUNSX
EJECTCDWCDWCDWX
ELEMENTSX**
ELSEXXXX
EMIUNSUNSUNSX
EMPTYRFDRFD
ENABLEUNSUNSUNSX
ENCODINGX**
ENDXXXX
END-ACCEPTRFD
END-ADDXXX
END-CALLXXX
END-COMPUTEXXX
END-DELETEXXX
END-DISABLERFDRFD
END-DISPLAYRFD
END-DIVIDEXXX
END-ENABLERFDRFD
END-EVALUATEXXX
END-EXECXX*
END-IFXXX
END-INVOKEXX
END-MULTIPLYXXX
END-OF-PAGEXXXX
END-PERFORMXXX
END-READXXX
END-RECEIVEUNSUNSUNS
END-RETURNXXX
END-REWRITEXXX
END-SEARCHXXX
END-SENDRFDRFD
END-STARTXXX
END-STRINGXXX
END-SUBTRACTXXX
END-TRANSCEIVERFDRFD
END-UNSTRINGXXX
END-WRITEXXX
END-XMLX
ENDINGXXXX
ENTERXXXX
ENTRYXXXX
ENVIRONMENTXXXX
EORFD
EOPXXXX
EQUALXXXX
EQUALSRFDRFD
ERASERFDRFD
ERRORXXXX
ESIUNSUNSUNSX
EVALUATEXXX
EVERYXXXX
EXACTRFDRFD
EXAMINEX
EXCEEDSRFDRFD
EXCEPTIONXXXX
EXCEPTION-OBJECTRFD
EXCLUSIVERFDRFD
EXECXX*
EXECUTEXX*
EXHIBITX
EXITXXXX
EXTENDXXXX
EXTERNALXXX
FACTORYXX*
FALSEXXX
FDXXXX
FETCHRFDRFD
FILEXXXX
FILE-CONTROLXXXX
FILE-LIMITX
FILE-LIMITSX
FILLERXXXX
FINALUNSUNSUNSX
FINDRFDRFD
FINISHRFDRFD
FIRSTXXXX
FLOAT-EXTENDEDRFD
FLOAT-LONGRFD
FLOAT-SHORTRFD
FOOTINGXXXX
FORXXXX
FORMATRFDRFDRFD
FREERFDRFDRFD
FROMXXXX
FUNCTIONXX
FUNCTION-IDRFD
FUNCTION-POINTERX
GENERATEUNSUNSUNSX
GETRFDRFDRFD
GIVINGXXXX
GLOBALXXX
GOXXXX
GOBACKXXXX
GREATERXXXX
GROUPUNSUNSUNSX
GROUP-USAGEX
HEADINGUNSUNSUNSX
HIGH-VALUEXXXX
HIGH-VALUESXXXX
I-OXXXX
I-O-CONTROLXXXX
IDXXXX
IDENTIFICATIONXXXX
IFXXXX
INXXXX
INDEXXXXX
INDEX-1RFDRFD
INDEX-2RFDRFD
INDEX-3RFDRFD
INDEX-4RFDRFD
INDEX-5RFDRFD
INDEX-6RFDRFD
INDEX-7RFDRFD
INDEX-8RFDRFD
INDEX-9RFDRFD
INDEXEDXXXX
INDICATEUNSUNSUNSX
INHERITSXX
INITIALXXXX
INITIALIZEXXXX
INITIATEUNSUNSUNSX
INPUTXXXX
INPUT-OUTPUTXXXX
INSERTCDWCDWCDWX
INSPECTXXXX
INSTALLATIONXXXX
INTERFACERFD
INTERFACE-IDRFD
INTOXXXX
INVALIDXXXX
INVOKEXX
ISXXXX
JNIENVPTRX
JUSTXXXX
JUSTIFIEDXXXX
KANJIXXX
KEEPRFDRFD
KEYXXXX
LABELXXXX
LASTUNSUNSUNSX
LDRFDRFD
LEADINGXXXX
LEAVEX
LEFTXXXX
LENGTHXXXX
LESSXXXX
LIMITUNSUNSUNSX
LIMITSUNSUNSUNSX
LINAGEXXXX
LINAGE-COUNTERXXXX
LINEXXXX
LINE-COUNTERUNSUNSUNSX
LINESXXXX
LINKAGEXXXX
LOCALLYRFDRFD
LOCAL-STORAGEXX
LOCALERFD
LOCKXXXX
LOW-VALUEXXXX
LOW-VALUESXXXX
MEMBERRFDRFD
MEMORYXXXX
MERGEXXXX
MESSAGEUNSUNSUNSX
METACLASSX
METHODXX
METHOD-IDXX
MINUSRFD
MODEXXXX
MODIFYRFDRFD
MODULESXXXX
MORE-LABELSXXXX
MOVEXXXX
MULTIPLEXXXX
MULTIPLYXXXX
NAMEDX
NAMESPACEX**
NAMESPACE-PREFIXX**
NATIONALX
NATIONAL-EDITEDX
NATIVEXXXX
NEGATIVEXXXX
NESTEDRFD
NEXTXXXX
NOXXXX
NOMINALX
NONERFDRFD
NOTXXXX
NOTEX
NULLXXX
NULLSXXX
NUMBERUNSUNSUNSX
NUMERICXXXX
NUMERIC-EDITEDXXX
OBJECTXX
OBJECT-COMPUTERXXXX
OBJECT-REFERENCERFD
OCCURSXXXX
OFXXXX
OFFXXXX
OMITTEDXXXX
ONXXXX
ONLYRFDRFD
OPENXXXX
OPTIONALXXXX
OPTIONSRFD
ORXXXX
ORDERXXX
ORGANIZATIONXXXX
OTHERXXX
OTHERWISEX
OUTPUTXXXX
OVERFLOWXXXX
OVERRIDEXX
OWNERRFDRFD
PACKED-DECIMALXXX
PADDINGXXX
PAGEXXXX
PAGE-COUNTERUNSUNSUNSX
PARAGRAPHRFDRFD
PASSWORDXXXX
PERFORMXXXX
PFUNSUNSUNSX
PHUNSUNSUNSX
PICXXXX
PICTUREXXXX
PLUSUNSUNSUNSX
POINTERXXXX
POSITIONXXXX
POSITIONINGX
POSITIVEXXXX
PRESENTRFDRFDRFD
PREVIOUSRFDRFD
PRINT-SWITCHX
PRINTINGUNSUNSUNS
PRIORRFDRFD
PROCEDUREXXXX
PROCEDURE-POINTERXX
PROCEDURESXXXX
PROCEEDXXXX
PROCESSINGXXXX
PROGRAMXXXX
PROGRAM-IDXXXX
PROGRAM-POINTERRFD
PROPERTYRFD
PROTECTEDRFDRFD
PROTOTYPERFD
PURGEUNSUNSUNS
QUEUEUNSUNSUNSX
QUOTEXXXX
QUOTESXXXX
RAISERFD
RAISINGRFD
RANDOMXXXX
RDUNSUNSUNSX
READXXXX
READYXXXX
REALMRFDRFD
RECEIVEUNSUNSUNSX
RECONNECTRFDRFD
RECORDXXXX
RECORD-NAMERFDRFD
RECORD-OVERFLOWX
RECORDINGXXXX
RECORDSXXXX
RECURSIVEXX
REDEFINESXXXX
REELXXXX
REFERENCEXXX
REFERENCESXXXX
RELATIONRFDRFD
RELATIVEXXXX
RELEASEXXXX
RELOADXXXX
REMAINDERXXXX
REMARKSX
REMOVALXXXX
RENAMESXXXX
REORG-CRITERIAX
REPEATEDRFDRFD
REPLACEXXX
REPLACINGXXXX
REPORTUNSUNSUNSX
REPORTINGUNSUNSUNSX
REPORTSUNSUNSUNSX
REPOSITORYXX
REREADX
RERUNXXXX
RESERVEXXXX
RESETXXXX
RESUMERFD
RETAININGRFDRFD
RETRIEVALRFDRFD
RETRYRFD
RETURNXXXX
RETURN-CODEXXXX
RETURNINGXX
REVERSEDXXXX
REWINDXXXX
REWRITEXXXX
RFUNSUNSUNSX
RHUNSUNSUNSX
RIGHTXXXX
ROLLBACKRFDRFD
ROUNDEDXXXX
RUNXXXX
SAMEXXXX
SCREENRFD
SDXXXX
SEARCHXXXX
SECTIONXXXX
SECURITYXXXX
SEEKX
SEGMENTUNSUNSUNSX
SEGMENT-LIMITXXXX
SELECTXXXX
SELECTIVEX
SELFXX
SENDUNSUNSUNSX
SENTENCEXXXX
SEPARATEXXXX
SEQUENCEXXXX
SEQUENTIALXXXX
SERVICEXXXX
SESSION-IDRFDRFD
SETXXXX
SHAREDRFDRFD
SHARINGRFD
SHIFT-INXXX
SHIFT-OUTXXX
SIGNXXXX
SIZEXXXX
SKIP-1X
SKIP-2X
SKIP-3X
SKIP1CDWCDWCDW
SKIP2CDWCDWCDW
SKIP3CDWCDWCDW
SORTXXXX
SORT-CONTROLXXX
SORT-CORE-SIZEXXXX
SORT-FILE-SIZEXXXX
SORT-MERGEXXXX
SORT-MESSAGEXXXX
SORT-MODE-SIZEXXXX
SORT-RETURNXXXX
SOURCEUNSUNSUNSX
SOURCE-COMPUTERXXXX
SOURCESRFD
SPACEXXXX
SPACESXXXX
SPECIAL-NAMESXXXX
SQLXX*
STANDARDXXXX
STANDARD-1XXXX
STANDARD-2XXX
STANDARD-3RFDRFD
STANDARD-4RFDRFD
STARTXXXX
STATUSXXXX
STOPXXXX
STORERFDRFD
STRINGXXXX
SUB-QUEUE-1UNSUNSUNSX
SUB-QUEUE-2UNSUNSUNSX
SUB-QUEUE-3UNSUNSUNSX
SUB-SCHEMARFDRFDRFD
SUBTRACTXXXX
SUMUNSUNSUNSX
SUPERXX
SUPPRESSXXXX
SYMBOLICXXXX
SYNCXXXX
SYNCHRONIZEDXXXX
SYSINSYSSYSSYSX
SYSIPTSYSSYSSYS
SYSLISTSYSSYSSYSX
SYSLSTSYSSYSSYS
SYSOUTSYSSYSSYSX
SYSPCHSYSSYSSYS
SYSPUNCHSYSSYSSYSX
SYSTEM-DEFAULTRFD
S01SYSSYSSYSX
S02SYSSYSSYSX
S03SYSSYSSYS
S04SYSSYSSYS
S05SYSSYSSYS
TABLEUNSUNSUNSX
TALLYXXXX
TALLYINGXXXX
TAPEXXXX
TENANTRFDRFD
TERMINALUNSUNSUNSX
TERMINATEUNSUNSUNSX
TESTXXX
TEXTUNSUNSUNSX
THANXXXX
THENXXXX
THROUGHXXXX
THRUXXXX
TIMEXXXX
TIME-OF-DAYX
TIMESXXXX
TITLECDWCDWCDW
TOXXXX
TOPXXXX
TOTALEDX
TOTALINGX
TRACEXXXX
TRACK-AREAX
TRACK-LIMITX
TRACKSX
TRAILINGXXXX
TRANSCEIVERFDRFD
TRANSFORMX
TRUEXXX
TYPEXX*
TYPEDEFRFD
UNEQUALRFDRFD
UNITXXXX
UNIVERSALRFD
UNLOCKRFD
UNSTRINGXXXX
UNTILXXXX
UPXXXX
UPDATERFDRFDRFD
UPONXXXX
UPSI-0SYSSYSSYSX
UPSI-1SYSSYSSYSX
UPSI-2SYSSYSSYSX
UPSI-3SYSSYSSYSX
UPSI-4SYSSYSSYSX
UPSI-5SYSSYSSYSX
UPSI-6SYSSYSSYSX
UPSI-7SYSSYSSYSX
USAGEXXXX
USAGE-MODERFDRFD
USEXXXX
USER-DEFAULTRFD
USINGXXXX
VAL-STATUSRFD
VALIDRFDRFDRFD
VALIDATERFDRFDRFD
VALIDATE-STATUSRFD
VALUEXXXX
VALUESXXXX
VARYINGXXXX
WAITRFDRFD
WHENXXXX
WHEN-COMPILEDXXXX
WITHXXXX
WITHINRFDRFD
WORDSXXXX
WORKING-STORAGEXXXX
WRITEXXXX
WRITE-ONLYXXXX
XMLX
XML-CODEX
XML-DECLARATIONX**
XML-EVENTX
XML-NAMESPACEX**
XML-NAMESPACE-PREFIXX**
XML-NNAMESPACEX**
XML-NNAMESPACE-PREFIXX**
XML-NTEXTX
XML-TEXTX
ZEROXXXX
ZEROESXXXX
ZEROSXXXX
<XXXX
<=XXX
+XXXX
*XXXX
**XXXX
XXXX
/XXXX
>XXXX
>=XXX
=XXXX

Identificateurs de phase du compilateur

Dans les messages, les deux caractères suivant IGYC sont des identificateurs de phase du compilateur, qui identifient la phase du compilateur qui a émis le message.

AS
Phase du module de contrôle de phase du générateur de code (IGYCASMB).
Cette phase charge et contrôle la phase de générateur de code IGYCCBE.

CB
Phase de génération et d’optimisation de code (IGYCCBE).
Cette phase (facultativement) optimise le programme, puis génère des instructions machine et alloue et gère l’utilisation des registres.
Cette phase place également la sortie LIST dans la liste et (éventuellement) génère des informations de débogage si la sous-option DWARF de TEST|NOTEST était en vigueur.

DI
Phase diagnostique (IGYCDIAG).
Cette phase traite le texte électronique et génère des diagnostics du compilateur pour les erreurs du programme source.

DM
Phase DMAP (IGYCDMAP).
Cette phase traite l’option MAP pour générer la mappe de stockage DATA DIVISION.
Il utilise les données contenues dans le dictionnaire pour produire la carte de stockage.

DS
Sous-phase de numérisation des données (IGYCDSCN).
Cette phase traduit les instructions de source d’entrée dans la  IDENTIFICATION DIVISION, ENVIRONMENT DIVISION et DATA DIVISION en texte interne du compilateur.
Il identifie et classe également les déclarations et effectue une analyse syntaxique des déclarations et des éléments de déclaration.
Une entrée est créée dans la table des symboles pour chaque nom d’utilisateur unique identifié dans cette analyse.

Cette phase crée des entrées de table d’attributs pour les éléments de définition de données (par exemple, des noms de données ou des noms de fichiers), traite les clauses d’entrée de description de données et vérifie la compatibilité des clauses dans une entrée.

Des entrées de table d’informations générales sont également créées pour les masques d’IMAGE édités et les séquences d’assemblage définies par l’utilisateur associées à un nom alphabétique.

FG
Phase de génération de fichiers (IGYCFGEN).
Cette phase est une phase conditionnelle exécutée uniquement si le programme COBOL contient un FD (fichier d’E/S) et/ou un SD (fichier de tri).

GR
Sous-phase de processus de groupe (IGYCGROU).
La sous-phase de traitement de groupe de la phase d’analyse traite les références aux noms de données dans la ENVIRONMENT DIVISION et DATA DIVISION.
Cette phase résout toutes les références de données directes rencontrées par DSCN (et pour lesquelles le texte I a été produit), en complétant les entrées de table d’attributs et de GIT pour ces références.
Cette phase est également responsable du traitement des littéraux de la clause VALUE et de la création du formulaire de procédure requis I-text (pour format-1 VALUE) ou des entrées GIT (pour format-2 VALUE) pour ces littéraux.

IN
Phase d’initialisation (IGYCINIT).
Cette phase exécute les fonctions de gestion interne requises pour préparer l’environnement d’exploitation pour le traitement des programmes sources.
Il est également invoqué à la fin de la compilation pour effectuer le ménage impliqué dans l’arrêt normal du programme.

Comme ces fonctions ne sont exécutées qu’une seule fois pour chaque compilation, le code est contenu dans la phase d’initialisation plutôt que dans la phase de contrôle résident.
Cette phase n’est pas résidente lors de la compilation.

LI
Phase de copie (IGYCLIBR).
Cette phase analyse la source COBOL de l’utilisateur à la recherche d’instructions COPY, BASIS et REPLACE.
Elle n’est invoquée que si l’option LIB a été spécifiée.
Les textes sources originaux et de la bibliothèque sont traités et une analyse lexicale et syntaxique des instructions COPY, BASIS et REPLACE est effectuée.
La phase met à jour le texte de la bibliothèque et crée un texte de forme C (COPY).

LS
Phase de listage (IGYCLSTR).
Cette phase gère la construction de la liste des sources du programme.
Cette phase traite le L-text (texte de liste) et, si les options appropriées du compilateur sont sélectionnées, intègre les messages de diagnostic, les informations cartographiques et les informations de référence croisée dans la liste source.
Il indique également les niveaux d’imbrication des instructions ou des programmes pour chaque ligne source.

OS
Phase d’analyse des options (IGYCOSCN).
Cette phase détermine quelles options de compilation doivent être actives en fusionnant les options et en résolvant les conflits parmi les éléments suivants :

  • Tableau des options par défaut
  • Relevés CBL
  • Instruction JCL PARM
  • Instruction JCL OPTION (VSE uniquement)

PA
Sous-phase d’analyse de la procédure (IGYCPANA).
Cette phase effectue une analyse sémantique des instructions source de PROCEDURE DIVISION, transforme le texte I en texte M et résout les références de nom de procédure.

PG
Phase de génération de procédure (IGYCPGEN).
Cette phase traite les verbes codés dans la PROCEDURE DIVISION du programme COBOL ou générés par la phase d’analyse de la procédure.

De plus, certaines informations sur le programme source nécessaires aux phases d’assemblage sont collectées dans cette phase.
Si l’option NOCOMPILE est active, cette phase n’est pas exécutée.

PS
Sous-phase de balayage de procédure (IGYCPSCN).
La sous-phase Procedure Scan de la phase Scan effectue une analyse syntaxique et une partie de l’analyse sémantique sur les instructions source PROCEDURE DIVISION.
Il traduit chaque nom de données apparaissant comme opérande dans une instruction en décalage de table d’attributs et collecte les informations d’attribut pour l’opérande.
Il valide également chaque opérande. Sur la base de la définition du langage, il diagnostique les opérandes invalides.

RC
Phase de contrôle résident (IGYCRCTL).
Cette phase établit l’environnement de compilation et contrôle le chargement et la suppression de toutes les phases du compilateur.
IGYCRCTL est chargé par le système d’exploitation hôte ou par la phase d’interface CMS, COBOL2, sous CMS.
Cette phase reste en mémoire tout au long du processus de compilation.

SC
Phase de balayage (IGYCSCAN).
Cette phase gère les sous-phases Data Scan (DS) , Group Process (GR), Procedure Scan (PS)  et Procedure Analysis (PA) .

SI
Phase d’interface système (IGYCSIMD).
Cette phase obtient et initialise le stockage dynamique pour le traitement du compilateur.
Il est appelé par toutes les phases via les macros de service communes pour exécuter des fonctions dépendantes du système.
Cette phase est toujours chargée dans les 16 premiers mégaoctets de stockage et réside dans le stockage tout au long de la compilation.
IGYCSIMD est chargé par IGYCRCTL, la phase de contrôle résidente.

XR
Phase de référence croisée (IGYCXREF).
Cette phase produit les renvois demandés par l’option XREF.

Limites du compilateur

COBOL a les limites du compilateur suivantes pour les programmes et les définitions de classe.

Bien que le compilateur COBOL prenne en charge l’adressage de plusieurs zones de mémoire au sein d’une unité de compilation jusqu’aux limites décrites dans cette annexe, une application complète, généralement composée de plusieurs unités de compilation, est toujours limitée par la quantité de stockage privé disponible dans l’espace d’adressage à laquelle il court.

En d’autres termes, une application peut manquer d’espace de stockage avant d’atteindre les limites décrites.

Limites du compilateur

Élément de langueLimite du compilateur
Longueur maximale des mots définis par l’utilisateur (par exemple, nom-données , nom-fichier , nom-classe )30 octets
Taille du programme999 999 lignes
Nombre de littéraux4 194 303 (Remarque 1)
Longueur totale des littéraux4 194 303 octets (Remarque 1)
Entrées de table de mots réservés1536
COPY REPLACING . . . BY . . . (éléments par déclaration COPY)Sans limites
Nombre de bibliothèques COPYSans limites
Taille de bloc de la bibliothèque COPY32 760 octets
IDENTIFICATION DIVISION
ENVIRONMENT DIVISION
Configuration section
Paragraphe des noms spéciaux
nom-mnémonique IS18
UPSI- n … (commutateurs)0-7
nom-alphabet IS . . .Sans limites
Littéral THRU . . . ou ALSO. . .256
Input-Output section
File-control paragraphe
SELECT nom-fichier …Un maximum de 65 535 noms de fichiers peuvent être attribués à des noms externes
ASSIGN nom-système …Sans limites
ALTERNATE RECORD KEY nom-données …253
RECORD KEY LongueurAucune limite (Remarque 3)
RESERVE entier (buffers)255 (Remarque 4)
I-O-control paragraphe
RERUN ON nom-système …32 767
RERUN entier RECORDS16 777 215
SAME RECORD AREA255
SAME RECORD AREA FOR nom-fichier …255
SAME SORT/MERGE AREAAucune limite (Remarque 2)
MULTIPLE FILE nom-fichier …Aucune limite (Remarque 2)
DATA DIVISION
77 taille de l’élément de données999 999 999 octets
01-49 taille de l’élément de données999 999 999 octets
Total 01 + 77 (éléments de données)Sans limites
88 noms-condition . . .Sans limites
Clause VALUE de niveau 88 . . .Sans limites
66 RENAMES . . .Sans limites
Clause PICTURE, nombre de caractères dans chaîne-caractères50
Clause PICTURE, positions des chiffres des éléments numériquesAvec ARITH(COMPAT): 18
Avec ARITH(EXTEND): 31
Clause PICTURE, positions de caractères éditées numériquement249
Réplication du symbole d’image ( )999 999 999 octets
Réplication de symboles d’image (édition)32 767
Réplication de symbole d’image ( ), éléments DBCS de classe499 999 999 octets
Reproduction d’un symbole d’image ( ), classer les éléments nationaux499 999 999 octets
Taille de l’élément élémentaire134 217 727 octets
OCCURS entier999 999 999
Nombre total d’ODO4 194 303 (Remarque 1)
Taille du tableau999 999 999 octets
Taille des éléments du tableau999 999 999 octets
ASCENDING or DESCENDING KEY . . . (par clause OCCURS)12 CLÉS
Longueur totale des clés (par clause OCCURS)256 octets
INDEXED BY . . . (noms d’index par clause OCCURS)12
Nombre total d’index (noms d’index) par classe ou programme65 535
Taille de l’index relatif32 765
FILE SECTION
Saisie de la description de l’enregistrement FD1 048 575 octets
nom-fichier FD . . .65 535
LABEL nom-donnée . . . (si pas de clauses facultatives)255
Longueur d’enregistrement de l’étiquette80 octets
BLOCK CONTAINS entier2 147 483 647 (remarque 8)
RECORD CONTAINS entier1 048 575 (remarque 5)
Valeurs de la clause LINAGE99 999 999
nom-fichier SD . . .65 535
DATA RECORD nom-donnée . . .Aucune limite (Remarque 2)
LINKAGE SECTION
Taille totaleSans limites
LOCAL-STORAGE SECTION
Taille totale2 147 483 646 octets
WORKING-STORAGE SECTION
Taille totale des éléments sans l’attribut externe2 147 483 646 octets
Taille totale des éléments avec l’attribut externe2 147 483 646 octets
PROCEDURE DIVISION
Procédure et aire constante4 194 303 octets (Remarque 1)
PROCEDURE DIVISION USING identifiant . . .32 767
Procedure-names1 048 575 (Remarque 1)
Noms de données en indice par instruction32 767
Relevés par ligne (TEST)7
Instruction ACCEPT, longueur d’enregistrement sur le périphérique d’entrée32 760
ADD identifiant . . .Sans limites
ALTER nom-procédure-1 TO nom-procédure-2 . . .4 194 303 (Remarque 1)
CALL . . . BY CONTENT Identifiant2 147 483 647 octets
CALL identifiant ou littéral USING identifiant ou littéral . . .16 380
CALL littéral . . .4 194 303 (Remarque 1)
Programmes actifs dans une unité d’exécution32 767
Nombre de noms appelés (option DYN)Sans limites
CANCEL identifiant ou littéral . . .Sans limites
CLOSE nom-fichier . . .Sans limites
COMPUTE Identifiant  . . .Sans limites
DISPLAY identifiant ou littéral   . . .Sans limites
DIVIDE Identifiant  . . .Sans limites
ENTRY USING identifiant ou littéral . . .Sans limites
EVALUATE . . . sujets64
EVALUATE . . . WHEN  clause 256
GO nom_procédure . . . DEPENDING255
INSPECT TALLYING et REPLACING ClausesSans limites
MERGE nom-fichier ASC ou DES KEY . . .Sans limites
Longueur totale de la clé de fusion4 092 octets (Remarque 6)
MERGE USING nom-fichier . . .16 (Note 7)
MOVE Identifiant ou littéral TO identificateur . . .Sans limites
MULTIPLY Identifiant  . . .Sans limites
OPEN nom-fichier . . .Sans limites
PERFORM4 194 303
PERFORM . . . TIMES identifiant ou littéral999 999 999
SEARCH ALL . . . longueur de clé maximaleSans limites
SEARCH ALL . . . longueur totale des clésSans limites
SEARCH . . . WHEN . . .Sans limites
SET index ou identifiant . . . TOSans limites
SET indice . . . UP/DOWNSans limites
SORT nom-fichier ASC ou DES KEYSans limites
Longueur totale de la clé de tri4 092 octets (Remarque 6)
SORT USING nom-fichier . . .16 (Remarque 7)
STRING Identifiant  . . .Sans limites
STRING DELIMITED Identifiant ou littéral  . . .Sans limites
UNSTRING DELIMITED identifiant ou littéral   . . .Sans limites
UNSTRING INTO identifiant ou littéral . . .Sans limites
USE . . . ON nom-fichier . . .Sans limites
Instruction XML PARSE, taille maximale de identifiant999 999 999 octets

Remarques:

  1. Éléments inclus dans la limite de 4 194 303 octets pour la procédure plus la zone constante.
  2. Syntaxe vérifiée, mais n’a aucun effet sur l’exécution du programme ; il n’y a pas de limites.
  3. Pas de limite de compilateur, mais VSAM le limite à 255 octets.
  4. QSAM.
  5. Limite du compilateur affichée, mais QSAM la limite à 32 760 octets.
  6. Pour QSAM et VSAM, la limite est de 4088 octets si EQUALS est codé dans l’instruction de contrôle OPTION.
  7. Limite SORT pour QSAM et VSAM.
  8. Nécessite la prise en charge de l’interface LBI (Large Block Interface) fournie par OS/390® DFSMS Version 2 Release 10.0 ou ultérieure.
    Sur les systèmes OS/390 avec des versions antérieures de DFSMS, la limite est de 32 760 octets.

Le Guide du COBOL

Quatre faits sur COBOL

  • COBOL a été l’un des premiers langages de programmation conçus pour être utilisés dans les affaires et la finance. Lorsque le langage s’est développé dans les années 1950, il n’a pas attiré l’attention des informaticiens qui étaient plus intéressés par le développement de ressources pour les applications mathématiques et scientifiques.
  • Grace Hopper est connue comme la mère du COBOL. Elle a développé le langage de programmation FLOW-MATIC qui a servi de base au nouveau logiciel.
  • Le département américain de la Défense était l’un des principaux partisans du COBOL. Cette agence souhaitait un langage de programmation portable en raison de son investissement croissant dans les ordinateurs centraux à l’époque.
  • En 1970, COBOL était le langage de programmation le plus utilisé au monde. Les banques, les entreprises et les entités gouvernementales dépendaient des capacités de traitement des données de la langue.

Qu’est-ce que le COBOL ? 

Dans les années 1950, la plupart des travaux en informatique se concentraient sur le potentiel d’utilisation de la puissance de calcul au profit de projets mathématiques et scientifiques. Cependant, les institutions financières ont vu le potentiel des applications informatiques dans le monde des affaires.

En 1959, CODASYL, le Comité sur les langages des systèmes de données, s’est réuni pour développer un langage conçu spécifiquement pour les applications métier. Après une analyse comparative, ils ont déterminé les trois principaux traits nécessaires dans la nouvelle langue.

Le langage de programmation informatique résultant était connu sous le nom de Common Business-Oriented Language. La première version de COBOL était un langage procédural de haut niveau qui ne pouvait gérer que des nombres et des chaînes comme types de données. L’adoption par le ministère de la Défense et son utilisation avec les mainframes IBM ont fait du langage un incontournable de l’industrie informatique.

Ses particularités

  • Lisibilité : il devait avoir une syntaxe lisible pour que les non-programmeurs puissent la comprendre.
  • Portabilité : il fallait permettre aux programmes de voyager d’un ordinateur à l’autre.
  • Flexibilité : Le langage devait pouvoir s’adapter à l’évolution des besoins technologiques améliorés.

Faits rapides

  • Créateur (personne) : Grace Hooper
  • Prix ​​d’origine : 800 000 $
  • Système opérateur : cadres modernes
  • Développé par (entreprise) : CODASYL, ANSI, ISO

Comment utiliser COBOL

COBOL est un langage de programmation informatique de haut niveau avec une syntaxe lisible. Avant que son programme ne s’exécute, le programmeur doit utiliser un compilateur pour convertir le programme de syntaxe anglaise en un langage machine de bas niveau.

Bien que les versions modernes de COBOL puissent fonctionner avec la programmation orientée objet, le langage a été conçu pour être procédural. L’écriture d’un programme en COBOL ressemble beaucoup à la création d’une recette étape par étape. Chaque étape du processus indique à l’ordinateur quoi faire avec les données.

Comment apprendre COBOL

Pour les programmeurs modernes, une étude comparative des langages révélera rapidement les limites du COBOL pour les nouvelles applications. Les outils de script comme Python, JavaScript ou C++ offrent une plus grande flexibilité et s’adaptent mieux aux environnements informatiques modernes.

Cependant, les systèmes informatiques d’entreprises comme IBM permettent une rétrocompatibilité, de sorte qu’il exécute encore de nombreux programmes dans le monde des affaires. L’un des défis actuels en informatique est que les programmeurs COBOL arrivent à l’âge de la retraite. Des personnes familiarisées avec ce langage de programmation informatique sont nécessaires pour maintenir les programmes hérités.

Un étudiant familiarisé avec d’autres langages de programmation devrait avoir peu de mal à apprendre COBOL. Il existe plusieurs ressources en ligne telles que l’Open Mainframe Project qui proposent des tutoriels qui enseignent les bases du langage. Quelqu’un qui souhaite développer une expertise COBOL devra également comprendre comment travailler avec un compilateur et les environnements mainframe IBM hérités.

Caractéristiques des applications COBOL

COBOL est l’un des langages les plus puissants et les plus robustes, il existe depuis 60 ans et a fait ses preuves. Au 21e siècle, en raison de la caractéristique principale mentionnée ci-dessous, COBOL livre toujours un dur combat au langage de programmation de nouvelle génération.

  • COBOL est un langage robuste.
  • COBOL s’auto-documente.
  • COBOL est stable
  • COBOL est simple
  • COBOL est maintenable

COBOL : l’actif caché

En réalité, COBOL est sans doute le principal langage de programmation pour les applications métier. Les chiffres soutenant la domination de COBOL dans le domaine des applications métier semblent incroyables. Certes, beaucoup de scepticisme a été exprimé à leur sujet sur Internet et ailleurs. Mais une grande partie du scepticisme vient de ceux qui ont peu ou pas de connaissances sur le domaine du mainframe, un domaine dans lequel COBOL est fort, voire suprême.

La différence entre COBOL et FORTRAN

COBOL et FORTRAN sont deux des plus anciens langages de programmation informatique encore utilisés aujourd’hui. FORTRAN a été créé en 1957 en tant que langage conçu pour les calculs scientifiques. COBOL est apparu quelques années plus tard en réponse au besoin d’une ressource orientée métier. Les deux outils sont des langages de haut niveau qui nécessitent un compilateur.

Les objectifs déclarés des deux langues ont déterminé leur structure. FORTRAN est un langage générique de forme libre qui permet une variété de calculs complexes. Son manque de structure le rend moins lisible que les autres langages de programmation. Cependant, c’était un outil utile pour créer rapidement des programmes qui seraient utilisés dans des expériences.

COBOL utilise une syntaxe de type anglais pour favoriser la lisibilité. Il a été conçu pour que les employés du monde financier puissent comprendre les programmes et les procédures sans beaucoup de formation. Le langage était idéal pour créer des opérations commerciales qui seraient effectuées à plusieurs reprises.

La différence de public visé explique aussi la longévité des deux langues. Les programmes COBOL sont devenus intégrés dans de nombreuses entreprises et ministères, de sorte que les programmeurs COBOL sont toujours nécessaires. FORTRAN est parfois utilisé pour des calculs physiques complexes, mais la plupart des membres de la communauté scientifique sont passés à des langages plus avancés comme Python ou C++.

L’Avenir du COBOL

COBOL a fait ses preuves depuis 60 ans dans la production, la maintenance et l’amélioration d’applications. L’espace informatique d’aujourd’hui est inondé de nouveaux langages de programmation avec des tonnes de fonctionnalités, mais ils ne peuvent toujours pas battre le COBOL. COBOL continue de croître à un rythme constant et vous serez surpris d’apprendre que 9/10 des applications métier critiques utilisent le COBOL. Près de 70 % des personnes utilisent des applications COBOL lorsqu’elles voyagent/retirent de l’argent à un guichet automatique, etc.

GRACE HOPPER : La mère du COBOL

Qui était Grace Hopper ?

Grace Hopper était une informaticienne américaine et officier de la marine américaine, surtout connue pour son travail sur le compilateur A-0 (alias A-0 System) et ses successeurs A-1, A-2, A-3 (le premier ALGOL 60 complet mise en œuvre), A-4, A-5 et A8. Elle a inventé l’un des tout premiers ordinateurs personnels aux côtés de Kay McNulty Mauchly Antonelli en 1944 appelé The Harvard Mark I Computer. Hopper a également créé FLOW-MATIC, un langage de programmation de traitement de données commerciales qui est encore utilisé aujourd’hui par les banques et les compagnies d’assurance.

Faits rapides

Nom et prénom

Grace Brewster Murray Hopper

Naissance

9 décembre 1906

Décès

1er janvier 1992

Récompenses

Médaille nationale de la technologie et de l’innovation
Médaille présidentielle de la liberté
Prix ​​IEEE Emanuel R. Piore

Enfants

Aucun

Nationalité

Américain

Lieu de naissance

New York

Domaines d’expertise

Mathématiques
L’informatique

Établissements

Marine américaine, Université de Harvard

Contributions

Cobol, compilateur A-0, Harvard Mark I

Grace Hopper est née sous le nom de Grace Brewster Murray le 9 décembre 1906 à New York, NY et pendant ses années de lycée, elle a appris l’algèbre de base malgré son sexe, ce qui n’était vraiment pas courant pour les filles à l’époque. Quelques années plus tard, elle s’est inscrite au Vassar College de Poughkeepsie, dans l’État de New York, où elle a étudié les mathématiques et l’économie, mais a abandonné l’université après deux ans en raison du décès de ses parents. Un an plus tard, elle s’est réinscrite à l’Université de Yale dans le Connecticut, d’où elle a obtenu un diplôme summa cum laude avec un baccalauréat en mathématiques et philosophie. Elle a ensuite déménagé à l’Université de Harvard à Cambridge. Voici sa biographie.

Début de sa vie

Au début de sa vie, Hopper avait déjà montré un intérêt pour l’informatique et pendant son séjour à l’université, elle a travaillé comme opératrice du projet informatique Mark I à l’Université de Harvard avec Howard H. Aiken qui était un informaticien et ingénieur surtout connu pour avoir conçu le première calculatrice électromécanique programmable à grande échelle appelée Automatic Sequence Controlled Calculator (ASCC) ou Harvard Mark I.

Pendant les années de la Seconde Guerre mondiale, Hopper a rejoint la réserve de la marine américaine, croyant initialement que ce ne serait que pour un an. Mais lorsqu’elle a réalisé à quel point le travail sur la technologie militaire était beaucoup plus intéressant par rapport à la recherche universitaire régulière, ce que les femmes étaient autorisées à faire à l’époque, Hopper a continué à travailler sur la technologie liée à la guerre jusqu’à sa retraite de la marine en 1986. Certains l’appelant même “Amazing Grace” pour son travail approfondi en faveur de la marine et de la technologie informatique. C’est pourquoi sa carrière dans la Marine occupe une place si importante dans sa biographie.

Carrière

Compilateur A-0 et Service Naval

En 1944, Hopper a rejoint le laboratoire de calcul de Harvard où elle a travaillé sur le Mark I et son successeur, le Mark II (ou IBM SSEC) avec Howard H Aiken. Le Harvard Mark II ou IBM SSEC était un ordinateur numérique électromécanique à usage général.

Au cours de cette période, en 1947, Grace Hopper a également obtenu sa maîtrise en mathématiques à Harvard. Elle est ensuite allée enseigner au Vassar College de Poughkeepsie, NY pendant un an avant de retourner à Harvard, cette fois en tant que professeure adjointe de mathématiques.

Hopper a poursuivi sa carrière universitaire et est devenue officier de la marine en 1943, non seulement parce qu’elle voulait contribuer à l’effort de guerre, mais aussi parce qu’elle détestait la façon dont les femmes étaient traitées à l’époque.

Elle a été affectée au Bureau of Ordnance Computation Project (BOCP) de l’Université de Harvard, où elle a travaillé sur l’application de la technologie Mark I pour résoudre les équations et les problèmes de la marine américaine, ce qui l’a amenée à créer le programme A-0 ou Automatic Computer – Mark I. .

Hopper a soutenu que la création d’un langage de programmation qui serait plus simple que le code machine afin que les opérateurs puissent écrire des programmes sans avoir de formation en informatique était possible grâce à ses connaissances approfondies en mathématiques.

L’invention du compilateur COBOL et A-0

Elle a implémenté le manuel du compilateur A-0 pour la première fois lors d’une conférence en mai 1944, c’était une extension de ce qu’elle avait précédemment développé avec Howard H. Aiken. Elle est devenue l’une des principales contributions de Hopper aux ordinateurs ainsi qu’au développement de logiciels.

Elle s’est rendu compte qu’avoir des opérateurs pour écrire des programmes via un code machine serait trop fastidieux, alors elle a proposé de créer un “dispositif de planification” qui permettrait aux programmeurs de développer des programmes en combinant des équations mathématiques plutôt qu’en les écrivant en code numérique.

Des années plus tard

En 1949, Hopper a quitté Harvard et a passé le reste de sa carrière à travailler pour la technologie navale. Elle a commencé en tant que mathématicienne senior à la Eckert-Mauchly Computer Corporation où elle a développé l’un des premiers compilateurs appelé le compilateur B-0 qui a été conçu pour traduire la langue anglaise en langage informatique pour les ordinateurs UNIVAC.

L’année suivante, en 1950, Hopper a accepté une affectation en tant que programmeuse et directrice du développement de la programmation automatique chez Remington Rand où elle a supervisé le développement de FLOW-MATIC. C’st un système de traduction de formules capable de compiler des formules mathématiques en code machine, afin qu’elles puissent être utilisées par des machines commerciales. C’est également là qu’elle a créé l’une de ses œuvres les plus célèbres appelée “Le premier compilateur” ou A-OI qui a converti des expressions mathématiques symboliques en code exécutable.

Qu’est-ce que Grace Hopper a inventé ?

Grace Hopper est reconnue comme l’inventrice de FLOW-MATIC et A-OI. Ses réalisations les plus notables, à la fois la traduction de formules et les langages de programmation automatiques, ont joué un rôle crucial dans le développement des premiers ordinateurs pour les machines professionnelles en permettant aux utilisateurs d’exprimer des flux de travail sans avoir à apprendre le langage de machine. Son développement du premier compilateur pour un langage de programmation informatique a permis d’utiliser des mots anglais au lieu de chiffres et de symboles, rendant l’informatique assistée par machine plus accessible.

L’une de ses contributions les plus importantes est venue avec l’invention de la technique de compactification en 1952. La technique a permis aux ordinateurs de stocker des données en mémoire en utilisant moins de bits en exploitant la redondance (similitudes) entre les gros fichiers, qui a pris de l’importance lorsqu’elle est combinée avec une autre innovation : la pagination, ou diviser la mémoire en segments égaux auxquels chacun pourrait être accessible indépendamment (et de manière aléatoire).

Plus tard connu sous le nom de mémoire à accès aléatoire (RAM), le concept a fourni un moyen beaucoup plus rapide d’accéder aux informations stockées que les méthodes précédemment disponibles. La taille d’un segment individuel a augmenté au fil du temps, ce qui a conduit à son adoption généralisée par les fabricants d’ordinateurs.

L’éditeur de liens, un outil essentiel dans tout langage de programmation, serait également une création de Hopper. Les premiers ordinateurs étaient capables de stocker et de traiter des données, mais n’avaient pas la capacité de lier des pièces ensemble (et donc de lier). Un éditeur de liens est nécessaire pour minimiser la taille d’un programme exécutable et inclut des fonctions qui appellent des routines de bibliothèque, suppriment du code mort, résolvent des références externes ou fusionnent des sections de code.

Les faits historiques indiquent que Hopper avait un don pour les langages de programmation et est crédité d’avoir inventé le terme populaire “bug” (sa description préférée des défauts du matériel informatique, au lieu du terme technique “pépin” du Dr Thomas Edison) après avoir trouvé et réparé un papillon de nuit à l’intérieur d’un ordinateur Mark II à l’Université de Harvard. Parce que les premiers ordinateurs étaient si complexes, les utilisateurs faisaient de fréquentes erreurs, à l’époque où elles n’étaient pas encore qualifiées de bug.

Le développement du langage d’assemblage a finalement conduit à la création de compilateurs comme le compilateur A-OI de Hopper, qui traduisait le langage métier en langage machine afin d’exécuter des programmes sur un ordinateur lorsque son système d’exploitation n’était pas disponible. Le bug est né.

Une autre invention de Hopper prétendait être le premier “détecteur d’incohérence”. Considérés comme un élément critique des systèmes d’exploitation et des compilateurs, les détecteurs d’incohérence sont utilisés pour tester le code généré par le compilateur à la recherche d’erreurs . L’outil aurait été capable de trouver des problèmes dans des programmes que même les programmeurs ne pouvaient pas trouver.

Une nouvelle ère dans l’informatique

Les réalisations de Hopper en informatique ont contribué à inaugurer l’ère de l’informatique et ont permis au traitement numérique des données de remplacer l’informatique manuelle. Les avancées technologiques qui en ont résulté ont transformé de nombreux aspects de la vie quotidienne, notamment les soins de santé et la médecine, les transports et le commerce, les divertissements et les communications.

Hopper a également utilisé son expérience pour influencer la technologie navale en suggérant des processus susceptibles d’améliorer l’efficacité à bord des navires. Son esprit de pionnière l’a amenée à appliquer de nouvelles approches (et langues) au début de sa carrière, ce qui a non seulement permis des avancées, mais a ouvert des opportunités pour les autres.

Même si elle était motivée par le désir de voir les choses mieux faites qu’avant, elle a favorisé un environnement où des personnes d’horizons divers pouvaient s’épanouir tout en poursuivant leurs passions avec le soutien de mentors qui ont fourni des conseils et des opportunités.

L’héritage de “Amazing Grace” Hopper

En 1957, Grace Hopper commence à travailler pour IBM. Elle défend l’idée qu’un programme devrait pouvoir être écrit dans un langage proche de l’anglais plutôt que d’être calqué sur le langage machine, comme fait un assembleur. De cette idée naît le langage Cobol , connu sous le nom de Common Business Oriented Language, en 1959.

En 1966, Grace Hopper a rejoint le Data Systems Lab de Digital Equipment Corporation en tant que scientifique principale où elle a inventé le langage de programmation FLOW-MATIC, puis est allée enseigner au Vassar College de Poughkeepsie pendant un an avant de retourner à Harvard, cette fois en tant que un professeur adjoint de mathématiques.

En 1967, Hopper a assisté à une conférence sur le génie logiciel où elle a proposé de créer des langages commerciaux communs qui simplifieraient l’écriture de programmes et aideraient à prévenir les erreurs. Cette idée est devenue connue sous le nom de Common Business Oriented Language (COBOL), ainsi que le Fortran. Hopper a continué à poursuivre son amour pour la technologie en y apportant d’autres contributions au cours de sa vie, notamment en enseignant l’informatique à l’Université de Yale et en co-inventant le compilateur A-O.

En 1983, Hopper a pris sa retraite de la Réserve navale avec plus de 60 ans de service et s’est tourné vers la recherche de systèmes de reconnaissance vocale. Elle a obtenu son premier brevet pour cela en 1986. Elle a continué à inventer jusqu’à sa mort le 1er janvier 1992 d’une pneumonie à l’âge de 85 ans.

Les faits suggèrent que l’héritage et les réalisations de Hopper se font sentir aujourd’hui en raison de ses efforts pour promouvoir un certain nombre d’idées telles que le langage commercial commun qui sont encore utilisées aujourd’hui, créant un environnement où des personnes d’horizons divers pourraient s’épanouir tout en poursuivant leurs passions avec le soutien de des mentors qui ont fourni des conseils et des opportunités (y compris des femmes) qui ont conduit à des progrès partagés entre de nombreux domaines en dehors de l’informatique, et ses propres contributions personnelles au développement de la technologie informatique.

Grace Hopper: mariage et vie personnelle

Les faits voudraient qu’un aspect important de la biographie de Hopper soit sa vie personnelle, qui est aussi remarquable que ses réalisations professionnelles. Elle a été mariée à Vincent Foster Hopper pendant 15 ans. Effectivement, elle s’est mariée en 1930 mais a divorcé en 1945 estimant qu’elle ne pouvait pas avoir, à la fois, une vie de famille et être engagé à la Marine et à ses travaux de recherche.

Elle était le quatrième enfant, avec 2 frères et une sœur, née de Walter Fletcher Murray et Mary Campbell Van Horne Murray. Son père était avocat. Hopper n’a jamais utilisé son prénom dans la vie publique ou privée à l’âge adulte après avoir quitté l’université.

Grace Hopper ne s’est jamais remariée, ni n’a eu d’enfants, mais a adopté une de ses nièces et s’est occupée d’elle jusqu’à la mort de celle-ci. Elle a dit qu’avoir une famille aurait été incompatible avec sa carrière dans la marine et ses nombreuses années à l’étranger.

Hopper a passé la majeure partie de sa vie à New York, ne déménageant qu’une seule fois, lorsqu’elle a déménagé à Washington DC en 1983. Elle était une lectrice passionnée (son écrivain préféré était Proust) et suivait les événements mondiaux en lisant trois journaux par jour.

Grace Hopper : Récompenses et Réalisations

  • Hopper a reçu le prix du service public distingué du ministère de la Défense en 1980 pour son travail concernant le COBOL
  • En 1983, elle a reçu la médaille nationale de la technologie.
  • En 1985, Hopper a reçu le prix du service civil méritoire de la Marine.
  • En 1986, elle a reçu le IEEE Computer Pioneer Award, avec Seymour Cray. Elle a également reçu le Achievement Award de la NSA.
  • En 1987, elle a été intronisée au Temple de la renommée de l’IA de l’IEEE Intelligent Systems.
  • Le 15 septembre 1990, le président George H. W. Bush a remis à Hopper un certificat d’appréciation présidentiel spécial à vie pour ses contributions innovantes à la préparation militaire, à l’informatique commerciale et à la sécurité nationale.

Le destroyer lance-missiles de la marine américaine USS Hopper (DDG-70) est nommé en son honneur. La devise du navire est “Fearless and Fair”. Le 23 juin 1994, elle reçoit la National Medal of Technology des mains du président Bill Clinton.

Elle a également reçu un Lifetime Achievement Award du Computer History Museum lors de son gala inaugural le 13 novembre 1998 . Le Naval Historical Center attribue à Grace Hopper le mérite d’avoir proposé que les couleurs standard pour les différents états d’arrière-plan / premier plan des écrans d’ordinateur soient réservées pour une utilisation avec des programmes interactifs, faisant d’elle l’une des programmeuses les plus accomplies de tous les temps.

Grace Hopper : Œuvres et livres publiés

Hopper a publié deux livres :

  • The Education of a Computer (1984)
  • Computers and People : A Reflection (1991).

Elle a également contribué au livre A History of Programming Languages.

Citations de Grace Hopper

“A ship in port is safe, but that’s not what ships are built for.”

“Un navire au port est sûr, mais ce n’est pas pour cela que les navires sont construits.”

“It is often easier to ask for forgiveness than to ask for permission.”

“Il est souvent plus facile de demander pardon que de demander la permission.”

“You don’t manage people; you manage things. You lead people.”

” Vous ne gérez pas les gens ; vous gérez les choses. Vous dirigez les gens.”

Grace Hopper – FAQ complète sur la biographie, l’histoire et les inventions (Foire aux questions)

Pourquoi Grace Hopper est-elle connue ?

Grace Hopper est surtout connue pour ses contributions dans le domaine de l’informatique.

Quels sont 3 faits intéressants sur Grace Hopper ?

  • Grace Hopper était autrefois une élève de l’amiral Hyman Rickover.
  • En 1999, elle a reçu le prestigieux prix de la Légion du mérite, décerné à une personne qui fait preuve d’excellence dans son domaine.
  • En 2012, la marine américaine a annoncé que son prochain destroyer lance-missiles porterait son nom.

Quand Grace Hopper a-t-elle créé le premier compilateur ?

Le premier compilateur qu’elle a créé date de 1952.

Comment et pourquoi Grace Hopper a-t-elle créé le premier compilateur ?

Grace Hopper a créé le premier compilateur à la main. Elle lisait un article décrivant un algorithme et écrivait du code pour le traiter.

Comment Grace Hopper est-elle morte ?

Grace Hopper est décédée le 1er janvier 1992. Elle est décédée dans son sommeil de causes naturelles à l’âge de 85 ans.

Chronologie des versions

Au cours de ses plus de soixante ans d’existence, COBOL a connu plusieurs révisions.

1952

Grace Hopper, “la mère de COBOL”, commence à développer des langages informatiques.

COBOL 60

CODASYL a conçu la première version de COBOL en 1959. Le nouveau langage de programmation informatique a été fortement soutenu par le département américain de la Défense pour répondre à ses besoins croissants en traitement de données.

COBOL 61

La première révision impliquait des corrections sur la façon dont le langage gérait les flux logiques.

COBOL 65

En 1965, COBOL gagnait en popularité en tant qu’outil commercial et financier. Cette révision comprenait des ressources pour travailler avec des tables.

COBOL 68

À mesure que l’utilisation de COBOL augmentait, les programmeurs locaux ont créé des variantes pour répondre à leurs besoins. En 1968, COBOL 68 était un effort pour normaliser le langage dans l’ensemble de l’industrie. L’American National Standard Institute approuvera plus tard cette version comme norme à usage commercial.

COBOL 74

Dans les années 1970, COBOL était l’un des langages de programmation les plus utilisés au monde. COBOL 74 était une autre tentative de l’ANSI de standardiser l’outil. Cette version incluait de nouvelles fonctionnalités d’organisation des fichiers.

COBOL 85

Un examen comparatif des langages de programmation dans les années 1980 a montré que le programme prenait du retard sur d’autres langages émergents. COBOL 85 incluait la possibilité de créer des sous-programmes imbriqués dans un cadre procédural. Des commandes telles que EVALUATE, une instruction switch, et CONTINUE, une instruction non opérationnelle, ont augmenté ses capacités de traitement.

1989

Des fonctions intrinsèques sont ajoutées à la norme.

COBOL 2002

COBOL 2002 a ajouté des fonctionnalités standard dans d’autres langages de programmation. Cette version incorporait des outils de programmation orientés objet comme des classes et des méthodes. Il a également permis aux programmeurs de créer des fonctions définies par l’utilisateur et d’employer des techniques récursives.

COBOL 2014

La dernière révision de COBOL est supposée être la dernière version. Même avec une programmation orientée objet en place, les développeurs ont tendance à privilégier des outils plus modernes. COBOL 2014 inclut des modifications qui lui permettent de fonctionner plus facilement dans des environnements hybrides.

COBOL : Fin du développement

Le programme est toujours utilisé, mais il est considéré comme un langage hérité. Le besoin de programmeurs COBOL découle souvent du désir de maintenir le logiciel jusqu’à ce qu’il puisse migrer vers un langage moderne.

FAQ (Foire aux questions) 

Qu’est-ce que COBOL ?

COBOL est un langage de programmation informatique de haut niveau développé en 1959. La syntaxe et le modèle procédural de style anglais rendaient les programmes lisibles par des utilisateurs extérieurs au domaine de l’informatique. COBOL nécessite un compilateur pour transformer ses instructions de haut niveau en langage machine lisible.

A quoi sert COBOL comme langage de programmation ?

CODASYL a conçu COBOL pour le traitement de données dans les secteurs commerciaux et financiers. La langue a également été largement utilisée au niveau international pour créer des outils administratifs dans les départements gouvernementaux.

Que signifie COBOL ?

COBOL signifie Common Business-Oriented Language.

Quand COBOL a-t-il été développé ?

COBOL a été développé en 1959 par le Committee for Data Systems Languages.

COBOL est-il toujours utilisé ?

COBOL est toujours utilisé activement dans les logiciels hérités. Les entreprises et les entités gouvernementales exécutent des applications construites sur une base COBOL. Ces groupes auront besoin de programmeurs connaissant la langue jusqu’à ce qu’ils puissent mettre à jour ou remplacer le logiciel par un produit à jour.

Qui a développé COBOL ?

Le Comité pour les langages des systèmes de données s’est réuni en 1959 et comprenait des représentants du ministère de la Défense, d’IBM et de plusieurs autres entreprises technologiques. Le département américain de la Défense a fourni le soutien financier pour le développement de COBOL.