Moment masochiste : je lis du code source en #Cobol https://www.nextinpact.com/news/106298-les-allocations-familales-nous-ouvrent-code-source-leur-calculateur-daides.htm
@bortzmeyer Ouai, et t'as quasiment 7 millions de lignes de code. Bon courage :-)
C'est un grand lecteur !
@bortzmeyer Wikipedia me dit :
« cob. ISO 639-3 code for the Chicomuceltec language of Mexico and Guatemala »
@bortzmeyer Purée, la taille des ces fichiers source !
@Armagedon @Bromind Probablement généré automatiquement depuis un "L4G". #Cobol programmeurs toujours faire ainsi.
@bortzmeyer @Armagedon Oui, c'est en tout cas marqué que le code est généré. On peut d'ailleurs se poser la question si du coup, la CNAF n'aurait pas du donner les sources permettant de générer ce code (et du coup, ne considérer le cobol que comme une représentation intermédiaire) ?
@Bromind @Armagedon En effet, la CAF se fout clairement de nous. Le code source, c'est ce que le programmeur tape.
@bortzmeyer @Bromind
C'est clair qu'en l'état, c'est pas trop exploitable..
@Bromind @bortzmeyer @Armagedon
Je suis d’accord, le code source c’est ce que le programmeur a saisi avec ces petits doigts
@DaD @Bromind @Armagedon La #GPL contient une excellente définition « The source code for a work means the preferred form of the work for making modifications to it. »
@bortzmeyer @Bromind
Ça serait développé sur du linux ?
"SOURCE GENERE PAR INSTALL/1
MODEL UTILISE = CTS011
VERSION = LINUX "
@bortzmeyer normal il me semble : MS-DOS, SiBO et autres DOS ne supportaient que le 8+3 comme nom de fichier
@bortzmeyer Est-ce qu'ils ont obfusqué volontairement ou sont-ils juste fous ?
@hyakosm En fait, la CAF s'est foutue du monde : ils n'ont pas envoyé le vrai code source, mais le code Cobol généré par leur L4G, avec des noms de fichiers choisis automatiquement. Aucun humain n'a jamais touché ce code Cobol.
@bortzmeyer Oh d'accord ! :o Ça me rappelle la fois où Admission-PostBac avait envoyé du code imprimé par la poste ! S'ils font du Java ils vont envoyer le bytecode ? 😂
@bortzmeyer J'ai appris à programmer en COBOL il y a... 34 ans 😂
@Vor @bortzmeyer J'exécrais COBOL et Fortran, préférant incontestablement Pascal et C, voire l'assembleur 68000 et 8086. LISP m'amusait et j'ai bien aimé Prolog.
C'est clair que Cobol... Arghh...
@PierreCol Quand même, un répertoire pour le code Batch et un pour le code Transactionnel, ça fait… vieux. #Cobol
@bortzmeyer C'est très stressant
Du vrai code de l'État :-)
* Prise en compte du jeudi de l'Ascension *
IF WS-CMM010-MMJJX >= WS-CMM010-JFV (2) THEN IF DTIN-PARA017 = '2' THEN PERFORM A9791-CMM010-CALCUL-JF2
END-IF END-IF.
@bortzmeyer C'est aussi beau que terrifiant
@bortzmeyer moi mon code est auto-commenté :)
@bortzmeyer c'est des chiffres romains dans les noms de variables, comme en TeX ?
En train d'essayer de communiquer par la pensée avec le fantôme de Grace Hopper, pour qu'elle m'explique le code de la CAF. #Cobol
@bortzmeyer Ca se trouve, ça compile pas :O
@bortzmeyer je n'ai jamais eu l'honneur de fricoter avec du cobol !
Moi si ! Pendant mes études.
Et quand je suis sorti de l'université, j'ai bien fait attention à ne SURTOUT PAS LE MENTIONNER DANS MON CV.
J'en connais qui ont mis le doigt dedans, ils n'en sont jamais sortis.
@sebsauvage @bortzmeyer par contre j'ai fait du Fortran quand même (je croyais que c'était plus moderne, mais wikipedia me dit que non !)
( Et le pire, c'est que mon ancienne SSII avait essayé de me fourguer une mission-suicide de migration RIB-->IBAN dans la prod d'une grosse banque... tout en COBOL avec 70 niveaux d'appel de procédures.
NOPE. )
@cerdic @sebsauvage @bortzmeyer T'es pas passé chez CGI par hasard ? 😀 (ils ont BNP paribas en client)
@cerdic @sebsauvage @bortzmeyer Ah en tout cas je sais qu'ils y ont eu droit aussi (c'est quand j'y étais passé vers 2013-2014) et y'avait un monstre en COBOL à gérer aussi. (RIP aux pauvres devs qui ont dû s'y coller… 😆)
Je pense que les gars qui s'y sont collés ont très mal dormi pendant quelques mois.
@cerdic @sebsauvage @bortzmeyer C'est fort probable. :P
@sebsauvage Pareil. DUT informatique en 90/92, j'en ai bouffé du COBOL... et à la sortie, y'en avait beaucoup du boulot en cobol.
Mais ça ressemblait pas à ça le code source, ça s'écrivait sur des colonnes, avec des verbes et des valeurs, enfin je me souviens plus bien.
@cerdic @bortzmeyer
@sebsauvage
J'ai utilisé Cobol aussi à l'IUT, pour des programmes de compta.
On nous disait que c'était le langage le plus approprié pour cette fonction. 😨
@bortzmeyer @cerdic
@bortzmeyer Oh du cobol 😍
Une question me brûle les divisions... Si l'administration modifie le code, il faut refaire une demande CADA ?
(au fait c'est quelle version de COBOL?)
* UNE COPIE CGAAPIM2 EXISTE, C'EST LA REPLIQUE A L'IDENTIQUE DE* CGLAPNT1
* CGAAPIMO. ELLE A ETE CREEE SUITE A UN PROBLEME PORTAGE BULL * CGLAPNT1
* - EN IBM ELLE EST DE NIVEAU 01, EN BULL DE NIVEAU 02 * CGLAPNT1
Pourquoi tu criiiiiiiiies ???😭
@bortzmeyer
@djelouze
Ça communique avec quoi ce machin ? Une BDD ? Si oui il devrait y avoir le schéma non ?
@bortzmeyer
@djelouze
Juste pour mon info, y a une connection string ? (Je suis juste curieux, pas la peine de répondre si tu as pas le courage. De TT façon 'c est pas le source').
Pas mal d’occurrences de 'SQL' et 'BASE DE DONNEES'.
Aucun avec 'CONNE*', toute casse confondue.
J'imagine bien 2 tables avec 7892 champs chacune :)
@bortzmeyer @lunar Ça va encore nécessiter un truc pour transpiler en langage décent…
Mais soyons modernes !
Pourquoi ils ne l'ont pas fait en Cobol orienté Objet ? 😄
@sebsauvage @lunar @bortzmeyer @aeris : Ou du CobolScript ? 😁 https://en.m.wikipedia.org/wiki/CobolScript
@aeris @bortzmeyer @lunar Il existe un GnuCOBOL :
https://savannah.gnu.org/projects/gnucobol
(aucune idée de ce que ça vaut...)
@aeris
Je suggère de recoder tout en Malbolge.
@bortzmeyer
Visiblement, eux non plus ne sont pas trop surs de ce qu'ils font.
Rien que les noms de fichiers sont un poème : CGM110.COB CGMC01.COB CGMG01.COB CGMK01.COB CGMP01.COB CGMS01.COB CGMV01.COB CGMX02.COB CGS100.COB
CGM129.COB CGME01.COB CGMI01.COB CGML01.COB CGMQ01.COB CGMT01.COB CGMW01.COB CGMY01.COB CGS101.COB
CGM130.COB CGMF01.COB CGMJ01.COB CGMM01.COB CGMR01.COB CGMU01.COB CGMX01.COB CGMZ01.COB