IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Cobol Discussion :

Le prerequis a connaitre pour utiliser Cobol sous linux


Sujet :

Cobol

  1. #1
    Inactif  

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3 064
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 064
    Points : 4 605
    Points
    4 605
    Par défaut Le prerequis a connaitre pour utiliser Cobol sous linux
    Bonjour,

    Dans le cadre de la reprise d'un portefeuille d'activité dans mon entreprise je vais être travaillé avec du Cobol via Oracle sur du Linux.

    J'ai dressé une liste de prérequis qui me semble utile pour mettre les mains sous le capot. Pouvez vous me dire ce que vous en pensez ?

    * utiliser des variables texte, numérique, date, datetime, timestamp, booléens
    * lire et écrire dans un fichier
    * écrire en fin de fichier
    * croiser 2 fichiers txt/csv + réécriture en fin de fichier ou alors dans un nouveau fichier
    * mettre des données dans un tableau + renvoyer vers un autre fichier + comparaison de tableau
    * copier , créer , modifier , supprimer un fichier ou un nom de fichier
    * les boucles faire tant que , tant que faire , for i++
    * les conditions if / else / case
    * mode indexé et séquentiel
    * accès BDD + code sql à Oracle
    * fonction & procédure (macro en somme)
    * indexation de fichier
    * taper du code cobol avec extension sous linux selon le compilateur (.eco , .cob ... )
    * variable compresser
    * saisir au clavier une valeur pour interagir avec le programme + afficher un résultat à l'écran
    * tableau a taille fixe ou variable/inconnue

    Pour info je fais déjà beaucoup de procédurale avec SAS , SQL , VBA & PHP . J'ai quelques notions de C++ .

    Vous pensez à des choses que je dois chercher à voir dans le cadre de l’apprentissage de Cobol ?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 73
    Points : 142
    Points
    142
    Par défaut
    Ca me semble pas mal...

    Je rajouterais :
    - Toute la formalisation COBOL (les DIVISION par exemple)
    - Etudier des vrais programmes qui tournent dans ton entreprise. Parce que la théorie c'est bien, mais il faut aussi compter avec le poids de l'histoire...

  3. #3
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Citation Envoyé par macgawel Voir le message
    (.../...)
    - Etudier des vrais programmes qui tournent dans ton entreprise. Parce que la théorie c'est bien, mais il faut aussi compter avec le poids de l'histoire...
    Et tant qu'à faire essayer de garder un style à peu près cohérent pour tes petits enfants qui reprendront le truc, dans 40/50 ans. Spécialement sur les lectures/écritures de fichiers, chaque maison a son propres style - généralement pour de très bonnes raisons. Réinventer la poudre, c'est mettre des bombes à retardement un peu partout.

    Par exemple, pas mal de maisons obligent à une gestion complète des file-status. Chez un client, c'était au contraire interdit, l'exploitation voulait avoir le file-status natif et non traité dans le message d'erreur, pour faire elle-même la gestion de l'incident, sans avoir à demander au développeur. Celui qui s'amuse à inventer dans ce domaine se prépare des jours difficiles...

    EDIT : pour ta liste :

    * utiliser des variables texte, numérique, date, datetime, timestamp, booléens
    ==>Bien faire tous les types de numériques, en particulier le 9, le S9, le S9V9, le Z9, le COMP, le COMP-3
    ==> Les booléens se nomment les niveaux 88. Très particulier, très puissant, très intuitif...une fois qu'on a pigé le coup.
    * lire et écrire dans un fichier
    * écrire en fin de fichier
    ==> Ne t'emmerdes pas avec ça, tu pomperas l'existant
    * croiser 2 fichiers txt/csv + réécriture en fin de fichier ou alors dans un nouveau fichier
    ==> Rien de particulier. Sauf que le csv risque d'être à positions fixes de séparateurs. C'est assez standard
    * mettre des données dans un tableau + renvoyer vers un autre fichier + comparaison de tableau
    * copier , créer , modifier , supprimer un fichier ou un nom de fichier
    ==>Jamais fait perso, mais sous MVS, ce genre de manipulations est faite dans le JCL(les scripts MVS). Je ne sais pas si COBOL les permet. Ca risque d'être du LINUX natif, à toi de voir avec ton existant.
    * les boucles faire tant que , tant que faire , for i++
    ==>Seul existe le PERFORM UNTIL, il est très bavard...et très puissant
    * les conditions if / else / case
    ==> D'une simplicité biblique pour le IF, et le THEN n'est pas obligatoire.
    ==> Par contre, le case qui s'appelle EVALUATE, est assez puissant, notamment dans sa variante EVALUATE TRUE.
    par contre fais gaffe avec les points. Un point ferme la phrase, donc tous les IFs ouverts. hyper dangereux. Eviter les points comme la peste. Il en faut un en fin de paragraphe pour des raisons syntaxiques, et surtout pas plus.
    * mode indexé et séquentiel
    * accès BDD + code sql à Oracle
    * fonction & procédure (macro en somme)
    ==> un peu différent de ce que tu peux trouver ailleurs. Tu as le CALL qui appelle une procédure avec des paramètres, et tu as le PERFORM qui appelle un simple paragraphe. Sans encapsulation des données(ce qui est aussi cool que dangereux, les langages venus après n'ont pas rajouter les niveaux de données par hasard)
    * indexation de fichier
    * taper du code cobol avec extension sous linux selon le compilateur (.eco , .cob ... )
    * variable compresser
    ==> Le COMP et le COMP-3 - à étudier avec attention au format hexa.
    * saisir au clavier une valeur pour interagir avec le programme + afficher un résultat à l'écran
    ==> Ca, c'est facile si l'OS le permet. un simple ACCEPT et DISPLAY. En MVS, c'était interdit...
    * tableau a taille fixe ou variable/inconnue
    la taille variable est une taille fixe, en fait, avec juste un DEPENDING ON qui te fait croire que la taille est variable. Mais tu déclares toujours la taille de ton tableau. très déstabilisant pour qui vient de langages vraiment dynamiques.

    J4avais fait dans le temps un FIZZBUZZ pour stack review, avec quelques bonnes pratiques, ici :

    https://codereview.stackexchange.com...dinosaur-style

    Pas mal de très bonnes remarques dans les réponses. Tu trouveras dans ma réponse finale, pas mal d'éléments évoqués ci-dessus :
    _un seul point par paragraphe, tout à la fin
    _une certaine obsession pour l'alignement des mots dans la déclaration des données
    _des exemples d'appels de paragraphes avec PERFORM
    _un EVALUATE TRUE pour faire un case un peu élégant
    _des niveaux 88 simples (sans THRU, qui permet de gérer des plages de valeurs, et sans liste de valeurs)
    _Un PIC Z9
    _un DISPLAY pour écrire dans la log

    Mais aussi des trucs différents :
    REDEFINES
    CONSTANT
    FILLER
    COPY

    COPY, REDEFINES et FILLER sont présents à peu près partout, donc autant que tu saches à quoi ça ressemble.

    Après, c'est aussi un exercice de style pour montrer qui a la plus grosse, et un fizzbuzz sur 187 lignes n'est pas raisonnable. Mais ça permet de montrer pas mal de choses du langage. Manque évidemment toute la partie gestions de fichiers, toujours un gros morceau en COBOL, ainsi que les encapsulations de requêtes SQL, les COMP-3, les décimales, et pas mal d'autres trucs.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Logiciel pour utilisation merise sous Mac?
    Par djey693 dans le forum Merise
    Réponses: 1
    Dernier message: 29/10/2018, 10h18
  2. Réponses: 2
    Dernier message: 15/04/2013, 13h59
  3. cherchecomment utiliser boost sous linux
    Par Krost dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 25/02/2004, 22h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo