Vieilleries à polir et pénuries à venir (Cobol, Fortran, Forth, Ada, Pascal, Basic, Erlang)
yanolezard
Bonjour à toutes et à tous,
Que vous soyez de "vieux n'éléphants" ou de "jeunes gazelles" ou bien encore "membre d'un troupeau de gnous" ou de "zèbres zigzaguant" au milieu de la savane, soyez les bienvenu(e)s au "Point d'Eau", pour échanger nos pratiques dans le respect des un(e)s et des autres, dans la joie et la bonne humeur qui nous caractérisent tant et dans l'humilité qui nous animent au quotidien.
Merci à l'équipe de Modérateurs de rappeler la "netiquette", en cas de dérapage non contrôlés ou incontrôlés.
- Utilisateur supprimé
Salut,
(Cobol, Fortran, Forth, Ada, Pascal, Basic, Erlang)
Disons déjà que cette liste n'est probablement pas très représentative. Je dirais plutôt :
Cobol, Weblogic, Oracle PL/SQL, Tuxedo, AIX. C'est absolument typique du milieu bancaire. Des trucs qui sont difficilement migrables sans faire un nombre de tests de non régression considérables.
Je ne doute pas qu'ADA ou FORTRAN aient étés utilisés, mais disons qu'il y a une masse considérables de logiciels bancaires sur les technos que j'ai cité.
yanolezard
Nombre de posts : 298Nombre de likes : 288Inscrit : 5 décembre 2016Bonjour "DevAndOps",
Le sujet de départ était le langage ... pas les ustensiles dont on déblatèrerait plus tard.
Et il n'y a pas, heureusement, que la planète "bancaire" qui utilise justement ces "ustensiles", même si en terme de volumétries, il y en une "palanquée".
Bien à toi,
Yanolezard
-
Free-Worker-412962
Nombre de posts : 3Nombre de likes : 4Inscrit : 22 mars 2017Bonjour
Pensez vous que l'on peut être encore freelance pacbase-cobol pendant encore longtemps (10 ans) ?
Utilisateur suppriméHello,
Oui, il y aura de plus en plus de demandes et de moins en moins de candidats sur ces technos. (Toute une génération qui part en retraite)
Par contre, il faut être mobile. C'est assez diffus sur le territoire. (Il y a 500 enseignes de banques en france et autant de SI).
Menderes
Nombre de posts : 221Nombre de likes : 87Inscrit : 15 mars 2018Quid du télétravail dans ce milieux ?
Utilisateur suppriméAyant encore vu des Abapistes, il n'y a pas tellement longtemps : je pense que c'est pas dans la culture. Les mecs arrivaient au boulot à 07h00 et repartaient à 16h00. Réglés comme des horloges.
On est très loin de Bali 😂😂
-
abishak
Nombre de posts : 2Nombre de likes : 0Inscrit : 16 mai 2012Yo l'équipe,
Je partage mon XP sur une mission, CLI en COBOL et quelques XX millions de lignes pour des jobs, la derniere MAJ du framework 2012, y en aura pas d'autres, machine GCOS7. y a pas plus français, pour l'administration FR.
l'activité en soit consiste à gerer "l'exploit". les debug, sauvegarde, print, récup, vider les mémoires des cassettes.. ehhh oui machine de 1970 qui marche tjr les gars.
le plus compliqué , est d'avoir la patience, car l'équipe restant n'est pas si jeune et souvent on peut facilement se faire chier, à la fin tu sais que tu devient une partie de la roue qui ne doit pas être changé, puis quoi bon, ça sera décommissionner d'ici peu.
Quand on devait faire une migration, les gars d'exploit avait quand meme fait des scripts en python et ça marcher pour sortir les données. ça c'était interessant, mais au finale, tu fais vite le tour et tu fais souvent la meme chose.
Ceci dit, le bon coté, c'est qu'il y a de la pérennité dans ce genre de poste.
Je parle de mon XP, COBOL, GCOS, Framework FR.
yanolezard
Nombre de posts : 298Nombre de likes : 288Inscrit : 5 décembre 2016Bonjour "Abishak",
Merci pour ce retour d'expérience sur cette brave "vieillerie" de DPS7 ... vieillerie qui se fera virtualiser pour d'autres vies encore royales ..
La fabuleuse époque de notre fleuron français BULL et de quelques autres :
matériels DPS-6000, DPS-7000, DPS-8000 et DPS-9000
systèmes d'exploitation GCOS7, GCOS8 et GCOS9
Plus d'informations ici : https://fr.wikipedia.org/wiki/General_Comprehensive_Operating_System et là : https://edubourse.com/finance-actualites-actu-8301/
Le principal inconvénient : c'est la surface qu'il faut accorder à ces machines et même si avec le temps, ils ont réussi à réduire les "boîtes", cela reste quand même impressionnant.
Régulièrement, je suis sollicité pour virtualiser, sous VMWare relativement souvent, même si cela reste très possible avec d'autres technologies de virtualisation, les vaillants DPS des séries 7, 8 et 9 ... Cela se passe très bien et niveau place .... cela change tout ... Un rack 19 pouces, bien stabilisés, du stockage performants, un réseau filant droit ... et c'est reparti comme avant, avec des fenêtres de maintenance hyper réduites ...
L'avantage avec ces machines-là, d'un autre temps, c'est que l'on pouvait vraiment faire de "hot plug/ unplug", par exemple, d'une carte processeur principale, sans faire vaciller ou planter le système ... allez changer une carte processeur, même une carte "grid" GPU sans mettre à plat la boutique, hé bien, on est loin du compte et il faudra fournir des éléments en béton armé pour jusitifier une telle action.
Une fois virtualisés, les sollicitations vont bon train pour gérer au mieux l'obsolescence des applications, des "ustensiles" et parfois, quelques nouveautés à développer en Cobol, en C ... de quoi s'amuser et s'occuper pendant les longues soirées d'hiver et des autres saisons.
Et côté sécurité .... bien malin qui arrivera à percer le "coffre-fort" Bull (il y a eu quelques tentatives vaines car les OS GCOS sont des "durs-à-forer" et il n'y a qu'une vraie "percée" suite à une intervention physique mais n'a fait que "beurrer" des logs sur les disques et a juste ralenti le système que l'on a nettoyé "manu militari" avec les commandes puissantes en CLI et hop ! dodo ! ), même encore aujourd'hui, et c'est pour cela que l'Etat (notamment certains ministères) gardent ces systèmes vierges ou les passent en virtualisé.
Bien à vous,
Yanolezard
-
yanolezard
Nombre de posts : 298Nombre de likes : 288Inscrit : 5 décembre 2016Bonjour à toutes et à tous,
Il est vrai que l'écosystème de l'informatique industrielle au sens large du terme reste néanmoins mal connu. Cependant, il offre bien des trésors cachés, dont un qui tient à montrer ses plus beaux atours : un langage de programmation, tout aussi connu de l'époque de notre inoxydable "COBOL", le rigoureux et scientifique "FORTRAN" (mathematical FORmula TRANslating system).
Diable ! Pourquoi uniquement "FORTRAN" et pas l'ensemble "mathematical FORmula TRANslating system" ?
Tout simplement : à l'époque de sa création, "Monsieur" ne savait programmer qu'en MAJUSCULES ... les minuscules étaient tout bonnement ignorées, car selon l'écriture adoptée, les lettres minuscules pouvaient déborder des "cases" et induire des difficultés de compréhension par le compilateur et donc ... des bogues ... car "Fortran" et "Cartes/Bandes Perforées" sont des amis unis depuis longtemps (de nos jours, on ne voit guère plus de telles cartes, sauf dans les pressings où certaines machines à laver possèdent des "programmateurs à cartes perforées" pilotés par du "Fortran".
Synthèse historique :
Créé par un certain Konrad ZUSE, le langage "Plankalkul" est le premier langage de programmation de haut niveau. Toutefois, les idées et les projets de l’inventeur étaient uniquement rédigés sur papier. Le premier vrai langage de programmation est "FORTRAN", créé par John Backus.
Les différentes versions les plus connues : FORTRAN 57 (première version), FORTRAN 77, FORTRAN 90, FORTRAN 95, FORTRAN 2010, FORTRAN 2018
Une nouvelle norme Fortran, créée en 06/2017, sera publiée en 2023, pour donner naissance à une nouvelle génération du compilateur et du langage, en 2024/2025, tout en apportant son lot de nouveautés.
Exemples:
La longueur maximale des lignes de programme passera de 132 à 10000 caractères,
Les expressions conditionnelles, reprenant la syntaxe du C, font leur apparition,
De nouvelles fonctions facilitent le passage des chaînes de caractères entre C et Fortran,
Les boucles "DO CONCURRENT" peuvent gérer la réduction des variables,
Les fonctions "
SIMPLE"
sont des fonctions "PURE"
n'accédant à aucune donnée extérieure (à part leurs arguments).
Parmi les fonctionnalités ajoutées ces dernières décennies, on citera le calcul sur les tableaux (qui peuvent comporter jusqu'à quinze dimensions), la programmation modulaire, la programmation générique (Fortran 90), le calcul haute performance (Fortran 95), la programmation orientée objet et l'interopérabilité avec les bibliothèques du langage C (Fortran 2003), la programmation concurrente et le calcul parallèle à l'aide des co-tableaux (Fortran 2008), des équipes, des évènements et des sous-routines collectives (Fortran 2018), en plus des interfaces "OpenMP", "OpenACC" et de la bibliothèque "Message Passing Interface".
Les extensions de fichiers "Fortran" sont : ".f", ".for", ".f90"
Les programmes écrits en "Fortran" peuvent être optimisés pour fonctionner sur des ordinateurs de hautes performances (HPC). On l’utilise pour le benchmarking de programme et le classement des superordinateurs les plus puissants du monde. Ce langage est généralement idéal pour produire du code lorsque les performances sont importantes.
Seule une poignée d’autres langages rivalisent avec les performances de Fortran, dont le C++. Il offre par ailleurs des caractéristiques préférables pour les développeurs par rapport à C++, comme le fait de ne pas avoir à se soucier de l’allocation de mémoire ou de l’optimisation.
Il s’agit d’un langage compilé » ahead-of-time « , ce qui signifie qu’une étape spéciale de compilation doit être effectuée sur le code écrit avant de pouvoir l’exécuter sur un ordinateur. C’est une différence majeure avec les langages interprétés comme Python et R, qui s’exécutent par le biais d’un interprète exécutant directement les instructions. L’inconvénient est que l’interprète réduit la vitesse de calcul.
Outillages :
Le "Fortran" bénéficie de quelques serviteurs, dans sa boîte-à-outils :
Des compilateurs commerciaux (Intel Visual Fortran Compiler 2021) , propriétaires, open source et libres (notamment GFortran 4.0)
Des éditeurs et environnements de développement intégrés (Visual Studio Fortran Compiler, Visual Studio Code avec librairies).
Un gestionnaire de paquets et systèmes de construction
Des outils de vérification et analyse de code
Du débogage et du profilage
Des préprocesseurs
Des outils de tests unitaires
Des générateurs de documentation
Des outils spécifiques pour Windows
Des bibliothèques de calculs scientifiques (LAPACK, LINPACK, NAG Fortran Library, Slatec, IMS) et il y en a d'autres
Des bibliothèques graphiques (DISLIN, GINO, GTK-Fortran, PLPlot) et d'autres encore.
Le "Fortran" est ouvert aux autres langages et s'interface relativement bien avec le "C", "C++", "R", "Python", "Julia", "Erlang", "MatLab", "GNU Octave" ...
Alors aujourd'hui, qui utilise notre brave "FORTRAN" ?
Le domaine de prédilection est le calcul scientifique et le calcul numérique.
Il est utilisé aussi bien sur ordinateur personnel que sur les superordinateurs, où il sert d'ailleurs à tester leurs performances dans le cadre du classement "TOP 500" des superordinateurs les plus puissants au monde, entre autres grâce à la bibliothèque "Linpack"
Mon ami "Fortran" est très utilisé dans les domaines de recherche nécessitant l’usage de l’informatique scientifique. Parmi les programmes en Fortran les plus célèbres, on peut citer "NEMO" (Nucleus for European Modelling of the Ocean), le "code OFF" pour la dynamique des fluides ou bien encore les modèles du "Goddard Institute for Space Studies".
En outre, "Fortran" reste populaire pour une large variété de programmes de modélisation climatique. Pour cause, les formules mathématiques sont converties en code avec aisance. Les performances sont élevées et la majeure partie de la communauté de modélisation climatique comprend la syntaxe.
Fortran est un langage de programmation informatique très utilisé par les scientifiques. Sa popularité a décliné au fil des années, mais il reste très utilisé par les programmeurs scientifiques. Il est aussi utilisé par les entreprises pour des cas d'usage comme la prévision météo, le trading financier, ou les simulations d'ingénierie.
Pour la petite histoire du classement "TIOBE" (qui vaut ce qu'il vaut ... mais quand même)
En Inde (Avril 2021) le fameux indice "TIOBE" (permettant de mesurer la popularité de centaines de langages de programmation), a classé "FORTRAN" à la 20ème place du classement des langages les plus populaires. Même s’il a été éclipsé par d’autres langages au fil des dernières décennies, il reste solidement ancré dans le domaine du "HPC" (High-Performance Computing).
En France (en Mars 2022, le langage "Fortran" était classé "30" - En Mars 2023, il s'est hissé à la 17ème place ... une bonne "remontada").
Et si vous voulez rendre heureux un développeur scientifique : offrez-lui un ordinateur bien bâti, avec l'OS Linux, un compilateur Fortran 2018 et sa suite de SDK, et vous verrez un large sourire s'animer tout au long de l'année. 😀 En tous cas, l'essayer, c'est l'adopter et cela fait très longtemps maintenant (excellent dans les calculs massivement parallèles et dans les logiciels de simulation industriels : ICS, SCADA, calculs de structures, PLM).
Et des programmes en Fortran, en veux-tu...en voilà, il y a encore des volumes garguantesques de lignes de codes dans ses secteurs privilégiés, pas autant que "Cobol", mais pas loin et donc, du boulot en perspective à qui voudra bien lui "faire les yeux doux" .
Bien à vous toutes et tous,
Yanolezard (pour de nouvelles aventures ...)
-
yanolezard
Nombre de posts : 298Nombre de likes : 288Inscrit : 5 décembre 2016Bonjour à toutes et à tous,
Bienvenue à sa Majesté, le "FORTH" !
Pour beaucoup d'entre-vous, ce nom ne vous dit probablement pas grand-chose et pourtant, ce "FORTH" se trouve implémenté et dissimulé dans de nombreux appareils électroniques industriels (microcontrôleurs, systèmes embarqués, systèmes de pesée pour les grands et lourds véhicules, les pesons, automates de laboratoires, terminaux graphiques, tableaux de bord des navires, projecteurs cinématographiques, appareils d'hôpitaux, ... et grand public : autoradios numériques, robotiques de cuisine, broyeurs de café en grain, caisses enregistreuses, appareils de cuisson multifonctions, ... ) ... Le socle technique bas niveau des "smart contracts" du célèbre Bitcoin ont été écrits en Forth, ainsi que de nombreuses actuelles solutions de contrôle du trafic aérien international.
Il est discret, puissant, rapide, compact, tient dans un "mouchoir de poche" et peut être laid si l'on est un peu laxiste avec lui (ou avec soi-même).
Portrait rapide du "FORTH"
Le "Forth" est un langage de programmation à "pile", inventé par Charles H. MOORE au cours des années 1960. Avec le temps, il a été standardisé, en 1994, par l'ANSI - American National Standard Institute - (à ne pas confondre avec l'ANSSI 😀), puis adopté tel quel par l'ISO (International Organization for Standardization) en 1997 et une nouvelle version, "Forth 2012", a été publiée en 2014.
Les versions les plus connues du produit : "FORTH77", "FORTH79" et "FORTH83"
Le nom "FORTH" vient de la contraction du mot "Fourth" initié pour la révolution des ordinateurs de quatrième génération (à processeur 8 bits).
Le principe du "Forth" est simple et basé sur l'utilisation explicite et visible de piles de données — alors que les autres langages utilisent des piles invisibles au programmeur ("les problèmes de piles sont une pile de problèmes" mais pas avec "Forth")
Une des importantes caractéristiques du langage est l'utilisation d'une pile de données pour passer des arguments entre les mots, qui sont les constituants d'un programme Forth.
Un exemple : l'expression 2+3*4 sera traduite, en Forth par, 2 3 4 * + (en notation polonaise inversée)
Empilage successif des valeurs 2, 3, puis 4 ;
Remplacement des deux nombres du sommet de la pile (3 et 4) par leur produit, 12 ;
Remplacement des deux nombres en haut de pile (2 et 12) par leur somme, 14.
À partir des mots prédéfinis du langage, comme + ou * , le programmeur construit le vocabulaire de son application en définissant ses propres mots, qu'il réutilise ensuite avec d'autres mots comme DUP (qui duplique l'élément en sommet de pile), SWAP (qui échange les deux éléments du sommet), ... Un autre exemple :
: CARRE DUP * ; (définition de CARRE)
11 CARRE (au sommet de la pile := 121)
Les « mots » de Forth sont « compilés », c'est-à-dire convertis en une forme exécutable et ajoutés au dictionnaire des mots. La forme exécutable diffère suivant le compilateur ou l'interpréteur utilisé : génération directe de code machine ou de bytecode (il existe de nombreuses variantes intermédiaires).
C'est un langage complet, que l'on trouve en produits commerciaux, open source et libre. Il est outillé comme il se doit (bibliothèques graphiques, calculs, ...). A noter que "Forth" est un langage de bas niveau, très proche du matériel et de très nombreuses plateformes (Windows, Linux, MacOS, Unix, VMS, MVS, zOS, OpenVMS, ... )
C'est ainsi qu'à partir de quelques primitives écrites en langage machine, on peut construire un interpréteur en ligne de commande, un assembleur, un compilateur, un éditeur de source.
La compacité est extrême : sur un ordinateur 8 bits (cela ne nous rajeunit pas) :
7 kilooctets suffisent pour avoir un interpréteur en ligne de commande, dont 700 octets seulement de code machine, le reste étant constitué de tables de pointeurs.
En ajoutant environ 5 kilooctets, on dispose de l'éditeur, d'un assembleur et d'un système rudimentaire de stockage sur disquettes, le tout fonctionnant sans système d'exploitation avec quelques kilooctets de mémoire vive, et tenant sur une simple disquette (source intégrale incluse) ; autrement dit un micro-environnement de développement capable de s'autocompiler à partir de son propre source depuis une plateforme disposant de ressources modestes comme les applications embarquées.
Depuis, cela a bien évolué : j'ai eu la chance de pouvoir créer en Turbo-Forth83 des serveurs Vidéotex (pour les services 36.. de ce bon vieux Minitel, pas toujours rose, contrairement à ce que l'on pourrait croire) et de nombreux autres programmes (plus dans l'industrie que dans le tertiaire), dont des simulateurs avioniques et marines en 3D filaire et une application de CAO électronique pour les ordinateurs ATARI TT, à l'époque sur Unix System 5 et plus tard avec les systèmes "GNU", le tout dans une cartouche mémoire idoine (là où il faut 50 lignes de "C", "Forth" n'en consomme que 39).
Il y a aussi des bibliothèques graphiques connues (Fastgraph) mises en valeur par le Turbo-Forth83.
Comme pour le COBOL et le FORTRAN dont les prédicateurs annonçaient la disparition depuis 20 ans, le "FORTH" résiste encore et toujours ... il n'apparaît plus dans le "TIOBE" français, mais est présent dans le TIOBE international à la 48ème position, juste derrière ... "Powershell"
Pour la petite histoire, les "ROM Open Firmware" des produits Apple et Sun (Oracle), ainsi qu'une partie du boot de FreeBSD, sont toujours récemment écrites en Forth, permettant la portabilité du code de bas niveau entre les processeurs.
Pour celles et ceux qui souhaitent comprendre le fonctionnement de Forth et maintenir ou écrire de nouveaux programmes dans ce langage puissant, les industries vous ouvrent des portes royales, notamment celles qui utilisent des machines ou des outils à base d'Embedded Systems.
Si vous souhaitez une introduction au "Forth" ->
le git de https://skilldrick.github.io/easyforth/
sur forth.free.fr
pour les ancêtres Atarisiens : http://gtello.free.fr/forth_f.htm
Pour celles et ceux qui programment des cartes ou des capteurs : https://arduino-forth.com/article/FORTH_whyForth
L'excellent site : https://www.forth2020.org/about-forth et le non moins GNU gForth : https://www.gnu.org/software/gforth/
La mémoire du Forth : https://www.forth.com/resources/forth-programming-language/
Et comme il n'est pas évident de retrouver ses petits "Forth", voici (sans vilaines bestioles) ce qui se lit de mieux :
Bien à vous toutes et tous et bon "Forth" à vous, car du boulot, il y en a toujours avec lui (même sur Mainframe, Z, Mini, Micro et petit micro)
Yanolezard
- Quel avenir pour le "Management (de Transition)" et quelle(s) évolution(s) peut-on en attendre ?
- Se spécialiser sur la cybersécurité ou les data science ?
- Quels profils IT seront les plus demandés pour l'année 2024 ?
- "Donald Duck", le plus sympathique et colérique des Canards fête ses 90 ans.
- Rester indépendant ou redevenir "esclave" (CDI) ? Débat ouvert.