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 : Papy.G, fneck, Carl

cquest
Messages : 43
Inscription : 31 janv. 2018 16:30

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

Message par cquest »

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 de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

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

Message par Mokona »

Le bonheur.
cquest
Messages : 43
Inscription : 31 janv. 2018 16:30

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

Message par cquest »

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

Ça c'est du "legacy" !
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

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

Message par Carl »

:)
370.jpg
370.jpg (255.6 Kio) Consulté 5181 fois
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

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

Message par Mokona »

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 ?
Avatar de l’utilisateur
jimpqfly
Messages : 832
Inscription : 03 mars 2018 17:56
Localisation : Région Parisienne

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

Message par jimpqfly »

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
Http://www.gloub.com/musee , admin du groupe FB Anciens Ordinateurs, sponsor de la réfection du Micral N: https://micral.mo5.com
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

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

Message par Mokona »

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 : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

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

Message par __sam__ »

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+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
jimpqfly
Messages : 832
Inscription : 03 mars 2018 17:56
Localisation : Région Parisienne

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

Message par jimpqfly »

Mouais attention, ils ont peut-être utilisé des outils pour convertir les sources d'un langage à un autre automatiquement...
Http://www.gloub.com/musee , admin du groupe FB Anciens Ordinateurs, sponsor de la réfection du Micral N: https://micral.mo5.com
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

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

Message par hlide »

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 : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

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

Message par __sam__ »

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+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
cquest
Messages : 43
Inscription : 31 janv. 2018 16:30

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

Message par cquest »

Oups, ce sont les amoureux du java qui se sont réveillés ;)
NatS
Messages : 1
Inscription : 08 juin 2018 18:49

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

Message par NatS »

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 : 2454
Inscription : 12 avr. 2007 10:59
Localisation : France 69
Contact :

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

Message par jvernet »

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 de l’utilisateur
Totor le Butor
Messages : 2224
Inscription : 07 sept. 2011 16:14
Localisation : Paris - Mezels

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

Message par Totor le Butor »

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