Je ne sais pas quoi choisir !

C/C++ lequel vaut le plus la peine ?

a marqué ce sujet comme résolu.

COBOL c’est ma passion, après l’avoir utilisé dans le cadre d’un projet en 2012 je suis tombé amoureux de ce langage! Après avoir découvert Pacbase et la magie des systèmes bancaires, je me suis mis à vraiment croire en COBOL et à sa nouvelle jeunesse.

Non, je plaisante :P Le COBOL ne me plait pas vraiment et je n’ai pas pris le contrat avec la banque au final j’ai préféré la fac ^^.

Je suis pas persuadé que beaucoup de gens font du Cobol en dehors du cadre professionnel…

Ca n’a rien à voir, aujourd’hui le COBOL n’est plus enseigné, seules de (pas si) rares applications COBOL sont encore en fonctionnement pour X raisons (pas envie de recoder un nouveau truc, ça marche donc je touche pas, etc). Mais à l’époque, le COBOL était peut-être très connu et utilisé (l’informatique était tout de même moins répandu à ce moment, seules les grosses boites pouvaient se payer des ordis, et il y avait beaucoup moins de langages je suppose).

Si tu pense que c’est un langage pro, je te suggère d’essayer de postuler à un poste de développeur et de mettre "EXPERT COBOL" en titre, tu verras si ça marche bien ^^ (hors banques qui ont toujours des applis comme ça).

Si tu pense que c’est un langage pro, je te suggère d’essayer de postuler à un poste de développeur et de mettre "EXPERT COBOL" en titre, tu verras si ça marche bien ^^ (hors banques qui ont toujours des applis comme ça).

Ça n’a rien à voir. Aucun langage ne permet de répondre à tous les postes. C’est n’est pas ça qui fera qu’un langage sera "pro" ou non.

Après tout dépend de ta définition de langage professionnel mais pour moi Cobol en est un car il n’est utilisé que dans ce cadre, et il l’a toujours été. Il a été créé pour prendre en charge des systèmes informatiques propre au monde professionnel, la banque en l’occurrence. Que tu ne puisse pas postuler à la majorité des postes avec juste cette compétence ne change rien à ça et aucun langage ou technologie ne te permettra de postuler facilement partout.

Juste pour te montrer que ce qui importe est la finalité et que prendre un langage ne te bloquera pas dans le futur pour des raisons techniques, tu peux aussi prendre en compte le fait que python permet de faire du bas-niveau avec micropython sur certains matériels. https://micropython.org/

Bien sûr, le meilleur argument est qu’apprendre un langage ne prend pas beaucoup de temps et n’est pas l’élément central/difficile/qui peut mettre le projet en péril lorsque tu travailles sur un nouveau domaine ou le même domaine.

Même si j’adore Python, je pense que le PO a suffisamment dit qu’il ne l’aimait pas pour passer à autre chose. On peut ne pas être d’accord avec lui, c’est pas lui répéter 100 fois "tu as tord de ne pas aimer" que ça changera, bien au contraire. Il veut faire du C++, qu’il fasse du C++. On est pas dans le langage ésotérique et inutile, tout ce qu’il fera avec lui sera profitable.

Même si j’adore Python, je pense que le PO a suffisamment dit qu’il ne l’aimait pas pour passer à autre chose. On peut ne pas être d’accord avec lui, c’est pas lui répéter 100 fois "tu as tord de ne pas aimer" que ça changera, bien au contraire. Il veut faire du C++, qu’il fasse du C++. On est pas dans le langage ésotérique et inutile, tout ce qu’il fera avec lui sera profitable.

Kje

Ce n’est pas ce que je veux dire en mentionnant micropython. Je veux plutôt dire que le langage a zéro importance tant que tu ne travailles pas sur une codebase existante (ce qui étaient plus ou moins mes messages précédents). De même je veux dire qu’il ne s’agit pas de prendre le langage le plus bas niveau pour faire soit disant le plus de chose, mais plutôt de choisir quelque chose à faire/étudier et prendre un langage quelconque du domaine comme outil plutôt.

Même si j’adore Python, je pense que le PO a suffisamment dit qu’il ne l’aimait pas pour passer à autre chose. On peut ne pas être d’accord avec lui, c’est pas lui répéter 100 fois "tu as tord de ne pas aimer" que ça changera, bien au contraire. Il veut faire du C++, qu’il fasse du C++. On est pas dans le langage ésotérique et inutile, tout ce qu’il fera avec lui sera profitable.

Kje

Ce n’est pas ce que je veux dire en mentionnant micropython. Je veux plutôt dire que le langage a zéro importance tant que tu ne travailles pas sur une codebase existante (ce qui étaient plus ou moins mes messages précédents). De même je veux dire qu’il ne s’agit pas de prendre le langage le plus bas niveau pour faire soit disant le plus de chose, mais plutôt de choisir quelque chose à faire/étudier et prendre un langage quelconque du domaine comme outil plutôt.

unidan

C’est pas ça mais je pense que ce serait légèrement inutile de faire et quasi impossible de faire un jeu 3d en brainfuck . C’est un peu gros comme exemple mais bon . Je suis pas le mieux placer pour parler mais je pense me comprendre p:

Ce n’est pas ce que je veux dire en mentionnant micropython. Je veux plutôt dire que le langage a zéro importance tant que tu ne travailles pas sur une codebase existante (ce qui étaient plus ou moins mes messages précédents). De même je veux dire qu’il ne s’agit pas de prendre le langage le plus bas niveau pour faire soit disant le plus de chose, mais plutôt de choisir quelque chose à faire/étudier et prendre un langage quelconque du domaine comme outil plutôt.

unidan

C’était pas spécialement contre toi, c’est simplement qu’à la suite de son message disant qu’il détestait Python et ne voulait pas s’y mettre, il y a eu 2 pages de messages qui citaient Python pour tenter de le convaincre que Python c’est bien ou qu’il devrait faire du Python.

Python est le principal langage que j’utilise pour tout et c’est très bien que certains ont essayer d’expliquer que c’était une réaction un peu abrupt de dire ça. Cependant au bout d’un moment, si il ne veut pas faire du Python, on peut pas le forcer et il est plus important de pratiquer un langage que de pratiquer du Python obligatoirement.

C’est tombé sur toi car je comprenais pas que tout le monde revienne à la charge sur Python mais j’aurais pu le dire à la suite de plusieurs autres messages sur les pages d’avant.

C’est pas ça mais je pense que ce serait légèrement inutile de faire et quasi impossible de faire un jeu 3d en brainfuck . C’est un peu gros comme exemple mais bon . Je suis pas le mieux placer pour parler mais je pense me comprendre p:

Tu ne feras pas un jeu 3D en C++ non plus, parce que tu n’as pas le niveau. Du coup choisir le C++ parce que tu pourras plus tard faire un jeu 3D c’est un mauvais choix pour moi. C’est là que je veux en venir. Mais tu peux très bien faire du C++ si tu trouves ce langage intéressant, que tu as vraiment envie de l’apprendre, ou tout argument comme ça. Seulement, ça signifie que ce sujet n’a aucun sens.

Pour l’exemple que tu choisis, brainfuck n’est pas un langage pour programmer quelque chose d’utile, alors que les langages interprétés le sont. Il ne faut pas confondre les deux et tu ne verras jamais d’application pratique du brainfuck sauf dans des compétitions de brainfuck, surtout si tu veux que le choix du brainfuck ait un sens utile.

C’est tombé sur toi car je comprenais pas que tout le monde revienne à la charge sur Python mais j’aurais pu le dire à la suite de plusieurs autres messages sur les pages d’avant.

C’est compréhensible et c’était clair, mais du coup ça allait contre le sens de mon message qui n’était pas contradictoire avec ce que tu disais, c’est pour cela que j’ai préféré éclaircir mon message. J’aurai aussi très bien pu citer Java qui fonctionne sur carte à puce et qui doit avoir ses propres applications du même type. C’est tombé sur Python parce que c’est aussi ce que je connais le mieux pour ce genre d’exemple.

C’est pas ça mais je pense que ce serait légèrement inutile de faire et quasi impossible de faire un jeu 3d en brainfuck . C’est un peu gros comme exemple mais bon . Je suis pas le mieux placer pour parler mais je pense me comprendre p:

Tu ne feras pas un jeu 3D en C++ non plus, parce que tu n’as pas le niveau. Du coup choisir le C++ parce que tu pourras plus tard faire un jeu 3D c’est un mauvais choix pour moi. C’est là que je veux en venir. Mais tu peux très bien faire du C++ si tu trouves ce langage intéressant, que tu as vraiment envie de l’apprendre, ou tout argument comme ça. Seulement, ça signifie que ce sujet n’a aucun sens.

Pour l’exemple que tu choisis, brainfuck n’est pas un langage pour programmer quelque chose d’utile, alors que les langages interprétés le sont. Il ne faut pas confondre les deux et tu ne verras jamais d’application pratique du brainfuck sauf dans des compétitions de brainfuck, surtout si tu veux que le choix du brainfuck ait un sens utile.

C’est tombé sur toi car je comprenais pas que tout le monde revienne à la charge sur Python mais j’aurais pu le dire à la suite de plusieurs autres messages sur les pages d’avant.

C’est compréhensible et c’était clair, mais du coup ça allait contre le sens de mon message qui n’était pas contradictoire avec ce que tu disais, c’est pour cela que j’ai préféré éclaircir mon message. J’aurai aussi très bien pu citer Java qui fonctionne sur carte à puce et qui doit avoir ses propres applications du même type. C’est tombé sur Python parce que c’est aussi ce que je connais le mieux pour ce genre d’exemple.

unidan

J’ai bien préciser que c’était "un peu gros comme exemple" . Et non je ne compte pas faire un jeu 3d (ni 2d d’ailleurs )

C’est dû à l’environnement informatique Nantais, notamment à la quantité de banques et autres organismes traînant de vieux logiciels recrutant sur la région Nantaise. De plus, historiquement, l’IUT de Nantes était spécialisé et réputé pour le Cobol.

Aujourd’hui, c’est plutôt le Java qui est enseigné à l’IUT de Nantes.

+1 -0

Breizh, autant "if ain’t broken don’t fix it" mais à partir d’un moment, quand la stack techno est obsolète, que les compétences sont rares ET qu’en plus on a des bugs, un travail de fond dans des technologies plus récentes (et robustes) est largement moins risqué.

D’où les guillemets. Risqué dans le sens ça prends du temps, ça peut ne pas être compatible et autres « risques » fumeux dont ont peur les organismes concernés. Tant que ça marche, on ne touche surtout pas, dans le doute.

+0 -0

Le maintenance n’est pas forcément dû à la présence de bug mais peut être lié à l’évolution de la législation. Si tu as un gros système qui tourne qu’il faut simplement être mis à jour, c’est plus rentable et moins risqué de le mettre à jour que de repartir from scratch. Refaire avec des technos récentes c’est toujours un risque et ça aura toujours plus de bugs pendant un certain temps. L’absence de dev formé peut toujours être compensé, au pire en payant plus en salaire. Perso ça m’ettonne pas du tout que ça tourne encore. C’est pas simple de changer une brique fondamentale bien encré, d’autant plus quand elle traite un paquet de fric.

Salut,

Je me permets d’ajouter mon grain de sel à la conversation.

Pour en revenir à la question initiale, C et C++ sont à mon sens les deux faces d’une même pièce. Dans les deux cas, il s’agit de langages offrant au programmeur un contrôle fort (comprendre : la liberté d’action est très large) et des performances actuellement imbatables, en grande partie grâce aux années d’améliorations et de développements des compilateurs.

Finalement, la différence entre les deux langages tient à mon avis bien plus de leur idéologie et de leur manière d’appréhender les problèmes qu’autre chose. D’un côté, le C est (et restera) un langage minimaliste se voulant simple (comprendre : pourvu de peu de concepts). De l’autre, C++ se veut (beaucoup) plus complet (et, en conséquence, plus complexe) et plus au chevet du programmeur en lui fournissant un grand nombres d’outils de base, sans pour autant lui imposer leur utilisation.

Reste donc à savoir ce que tu préfères. ;)

+0 -0

Je vais encore divaguer sur COBOL.

En plus de fonctionner correctement, une partie des systèmes est mal documentée. Dans certaines banques (source : connaissance personnelle), le code est la seule chose qui fait foi pour décrire comment certaines opérations doivent fonctionner. Et en traduisant des centaines de milliers de lignes de code liées à des législations dont personne n’a de connaissances approfondies, tu vas nécessairement introduire des anomalies. En fin de compte tu touches à rien par peur de casser le code ET parce que tu n’est pas sûr de comprendre parfaitement ce que le code doit faire (tu n’as pas vraiment de spec, ni de tests pour une partie de la base de code).

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte