Neo Cobol
Description
Nouveau langage de programmation qui modernise le Cobol, intégrant un moteur de conversion automatique de Cobol classique en Neo Cobol, fait en Go et TS.
Technologies
Medias
Contexte
J'ai commencé ce projet peu de temps après avoir découvert le Cobol en regardant un podcast de la chaîne Underscore_ de Micode, je me suis rendu compte qu'il y avait un vrai besoin dans ce milieu puisque les développeurs Cobol se font de plus en plus rare, mais que le besoin est toujours car plus de 50% du code des banques est toujours en Cobol. C'est ça qui m'a donné l'idée de créer une sorte de "bridge", un langage plus moderne et plus simple que le Cobol, mais avec un moteur de conversion en Cobol classique. Ce qui permet déjà aux étudiants d'apprendre un langage beaucoup plus simple et moderne que le Cobol 2002, mais ça permet aussi aux entreprises d'avoir des développeurs qui codent dans un langage moderne, sans avoir à migrer toute la codebase en Neo Cobol puisqu'il y a un convertisseur en Cobol classique.
Retour sur expérience
Ce projet est sans doute celui qui m'a largement fait le plus progresser en terme de logique de code, en logique syntaxique etc, j'ai refait le projet 3 fois pour avoir le programme le plus optimisé et avec la meilleure architecture. Et puis créer un nouveau langage de programmation ce n'est pas rien ça demande du temps et beaucoup de réfléxion, et pour un langage comme le Cobol, à l'époque même les IA n'aident pas beaucoup car c'est un langage peu documenté donc elles font beaucoup d'erreurs, ça m'a poussé à acheter le livre "Mastering COBOL Programming" de William Smith qui m'a beaucoup aidé pour le développement du projet et les choix syntaxiques de Neo Cobol. Malheureusement j'en suis arrivé à un stade où je me suis rendu compte que c'était pratiquement impossible d'aller plus loin pour le moteur de conversion, car le Cobol est beaucoup trop compliqué et ancien pour être modernisé, notamment pour la logique pure de code comme les boucles où les conditions, j'ai donc décidé de laisser le projet de côté. Mais je suis quand même très content d'en être arrivé jusque là, d'avoir obtenu un programme fonctionnel et d'avoir autant progressé en code.