Amoureux du COBOL... vous allez être comblés !

Les bouquins, les scans, les pdf ou les liens qui vont bien... ici c'est la bibliothèque.

Modérateurs : Carl, Papy.G, fneck

cquest
Messages : 39
Enregistré le : 31 janv. 2018 16:30

Amoureux du COBOL... vous allez être comblés !

Message par cquest » 09 avr. 2018 17:13

Pôle Emploi a ouvert le code source du calcul de certaines aides... un mix JAVA + COBOL ;)

https://www.data.gouv.fr/fr/datasets/ca ... mploi-are/

Avatar du membre
Mokona
Messages : 357
Enregistré le : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: Amoureux du COBOL... vous allez être comblés !

Message par Mokona » 09 avr. 2018 19:48

Le bonheur.

cquest
Messages : 39
Enregistré le : 31 janv. 2018 16:30

Re: Amoureux du COBOL... vous allez être comblés !

Message par cquest » 09 avr. 2018 20:19

Dans la partie en COBOL, on trouve des références à l'IBM-370, machine sortie en 1974.

Ça c'est du "legacy" !

Avatar du membre
Carl
Modérateur
Messages : 10158
Enregistré le : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Amoureux du COBOL... vous allez être comblés !

Message par Carl » 09 avr. 2018 20:33

:)
370.jpg
370.jpg (255.6 Kio) Vu 673 fois

Avatar du membre
Mokona
Messages : 357
Enregistré le : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: Amoureux du COBOL... vous allez être comblés !

Message par Mokona » 09 avr. 2018 20:46

Je ne trouve que des fichiers en Java dans les deux archives... Même du grep sur DIVISION IDENTIFICATION ENVIRONMENT et autre ne me sort rien...

Où est la partie COBOL ?

jimpqfly
Messages : 175
Enregistré le : 03 mars 2018 17:56
Localisation : Région Parisienne

Re: Amoureux du COBOL... vous allez être comblés !

Message par jimpqfly » 09 avr. 2018 23:45

Dans le second fichier zippé de 300ko, tu trouves 2 fichiers .TXT (DFMN3P.TXT et DFMNNP.TXT)
C'est ça.
Franchement c'est super léger, l'écrasante majorité est en Java (le code est bien obscur d'ailleurs, peu de commentaires, y'a des baffes qui se perdent...).

Image

Avatar du membre
Mokona
Messages : 357
Enregistré le : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: Amoureux du COBOL... vous allez être comblés !

Message par Mokona » 10 avr. 2018 10:17

Ah oui, vu, merci.

Ça manque de commentaires, certes, après, ils publient les sources mais il y a peut-être toute une documentation annexe qui n'est pas publiée (je passe sur cette pratique...)

Ce qui m'épate surtout, c'est le nombre de "valeurs magiques".

Code : Tout sélectionner

return (periode.getNature() == 46) || (periode.getNature() == 47) || (periode.getNature() == 45) || (periode.getNature() == 48) || (periode.getNature() == 44);

Code : Tout sélectionner

    ArrayList<Integer> listeNaturePeriodesSuspensives = new ArrayList();
    listeNaturePeriodesSuspensives.add(Integer.valueOf(55));
    listeNaturePeriodesSuspensives.add(Integer.valueOf(11));
    listeNaturePeriodesSuspensives.add(Integer.valueOf(56));
    listeNaturePeriodesSuspensives.add(Integer.valueOf(57));
    listeNaturePeriodesSuspensives.add(Integer.valueOf(58));
    listeNaturePeriodesSuspensives.add(Integer.valueOf(59));
Ce qui m'épate aussi, c'est qu'en regardant tout ce système, la complexité de l'administration se montre dans toute sa splendeur.

__sam__
Messages : 4081
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Amoureux du COBOL... vous allez être comblés !

Message par __sam__ » 10 avr. 2018 10:28

Punaise c'est ca leur code java ? Je ne sais pas quel stagiaire ou quelle SSII a écrit ca mais ce n'est pas du très beau code. Le truc avec les ou (||) serait plus efficace avec un switch:

Code : Tout sélectionner

	switch(periode.getNature()) {
		case magic1:
		case magic2:
		...
		case magicN:
			return true;
		default:
			return false;
	}
ou plus lisible avec les API des collections:

Code : Tout sélectionner

	return Arrays.asList(magic1,magic2,...,magicN).contains(periode.getNature());
Plus loin le valueOf() est inutile. Java fait le boxing/unboxing tout seul. Et aussi la variable locale listeNaturePeriodesSuspensives devrait être typée suivant le type le plus général (List ou Collection pour le cas présent). et là encore tout peut être écrit efficacement en une ligne:

Code : Tout sélectionner

	List<Integer> listeNaturePeriodesSuspensives  = Arrays.asList(11,55,56,57,58,59);
Après on s'étonne qu'il faut des grosses machines pour faire tourner tout ca. Java n'est pas le problème, la qualité du code oui en revanche.
Samuel.
A500 Vampire V2+, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8. New Teo 1.8.4 8)

jimpqfly
Messages : 175
Enregistré le : 03 mars 2018 17:56
Localisation : Région Parisienne

Re: Amoureux du COBOL... vous allez être comblés !

Message par jimpqfly » 10 avr. 2018 11:38

Mouais attention, ils ont peut-être utilisé des outils pour convertir les sources d'un langage à un autre automatiquement...

hlide
Messages : 426
Enregistré le : 29 nov. 2017 10:23

Re: Amoureux du COBOL... vous allez être comblés !

Message par hlide » 11 avr. 2018 11:07

Non, __sam__, il y avait encore plus simple :

Code : Tout sélectionner

return (periode.getNature() == 46) || (periode.getNature() == 47) || (periode.getNature() == 45) || (periode.getNature() == 48) || (periode.getNature() == 44);
qui peut se réécrire si tu veux faire dans la performance :

Code : Tout sélectionner

int nature = periode.getNature(); return (nature >= 44) && (nature <= 48);
Et encore, en C++, ça peut se faire en une seule comparaison parce que Java ne connait pas les nombres non signés :

Code : Tout sélectionner

return unsigned(periode.getNature() - 44u) <= (48u - 44u);
La lisibilité aurait été meilleure si les valeurs été nommées.

__sam__
Messages : 4081
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Amoureux du COBOL... vous allez être comblés !

Message par __sam__ » 11 avr. 2018 12:21

oui j'avais pas vu que la séquence de natures était "sans trous" (hasard?). Avec les extensions gcc on peut aussi à ce moment là faire un case avec "..." que je trouve sympathique.

Code : Tout sélectionner

	switch(bidule.getNature()) {
		case 44...48: return true;
		default: return false;
	}
M'enfin bon après si le but est de pisser du code, je comprends que le stagiaire ne se soit pas cassé la tête (les valeurs dans le || apparaissant désordonnées semblent indiquer que ca a du évoluer en plusieurs étapes).
Samuel.
A500 Vampire V2+, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8. New Teo 1.8.4 8)

cquest
Messages : 39
Enregistré le : 31 janv. 2018 16:30

Re: Amoureux du COBOL... vous allez être comblés !

Message par cquest » 11 avr. 2018 12:51

Oups, ce sont les amoureux du java qui se sont réveillés ;)

NatS
Messages : 1
Enregistré le : 08 juin 2018 18:49

Re: Amoureux du COBOL... vous allez être comblés !

Message par NatS » 08 juin 2018 18:54

Salut les amoureux de COBOL:-)
Je recherche pour un job au Luxembourg un développeur COBOL sous Z:/OS
Intéressé? Contactez-moi!
Bon week-end
Nathalie

jvernet
Messages : 1326
Enregistré le : 12 avr. 2007 10:59
Localisation : France 69

Re: Amoureux du COBOL... vous allez être comblés !

Message par jvernet » 08 juin 2018 19:18

jimpqfly a écrit :
10 avr. 2018 11:38
Mouais attention, ils ont peut-être utilisé des outils pour convertir les sources d'un langage à un autre automatiquement...
Je crois que je connais la boite et le chef de projet qui a fait ça. Et effectivement, leur spécialité, des outils qui analysent des vieux codes, les données, les traitements, et convertissent "automatiquement" en java. Ou pissent du code à partir de traitements de données décrit dans un langage simple, il m'avait expliqué ça, j'ai pas compris grand chose. Mais je sais qu'ils avaient Mr Paul Emploi comme client.
On retrouve sur leur site des références à ça, d'ailleurs.

C'était mon "coworker" en licence/Maitrise.

JV

Avatar du membre
Totor le Butor
Messages : 1388
Enregistré le : 07 sept. 2011 16:14
Localisation : Paris

Re: Amoureux du COBOL... vous allez être comblés !

Message par Totor le Butor » 08 juin 2018 22:23

NatS a écrit :
08 juin 2018 18:54
... recherche pour un job au Luxembourg un développeur COBOL sous Z:/OS...
Mort de rire :D , j'en ai une bien bonne a raconter...
Dans mon ancienne boite (un gros du CAC40), un bon pote, développeur en COBOl depuis son plus jeune age, part à la retraite.
Salaire de misère, 1 petit % d'augmentation tous les 3 ou 4 ans... la vie d'un salarié lambda, bref... il s'en va, un peu énervé mais triste quand même de laisser plus de 40 ans de sa vie passée dans la même boite derrière lui .
Je le rencontre dans la rue par le plus grand des hasards, on mange ensemble en se racontant nos souvenirs d'anciens combattants et là il me dit que la boite lui avait demandé un coup de main 1 ans après son départ.
Grosso modo il s'agissait de mettre à jour des règles de gestion écrites en COBOL, rien de bien méchant à priori sauf que plusieurs "développeurs certifiés COBOL" trouvés chez les marchands de viandes habituels s'y sont cassés les dents.
Pour faire court, on lui propose un peu plus de 2 fois son ancien salaire pour une quinzaine de jour de boulot en statut auto-entrepreneur.
Flairant le loup et ayant encore des antennes dans la boite, il ne se démonte pas et dit OK mais mon tarif est 10 fois ce que vous me proposez :shock: , honnêtement je n’aurais pas osé, mais après moult tergiversations la boite accepte son tarif :lol: .
Résultat des courses, il est appelé de temps en temps et se fait des bollocks en or massif :mrgreen: .
Born to bricole
[Rch] Vieux composants électroniques et circuits intégrés toute époque et vieilles cartes .

Répondre