Pourquoi les langages C et C++ auraient-ils encore de nombreuses années devant eux ?
Donnez votre avis

Le , par Michael Guilloux, Chroniqueur Actualités
Pourquoi C et C++ auraient-ils encore de nombreuses années devant eux ?
Depuis des années, avec l'arrivée de certains langages dits prometteurs ou d'avenir, on entend souvent parler de la mort des vétérans et langages bien établis comme C, C++, Java, JavaScript, PHP, entre autres. Bon nombre de développeurs essaient par exemple de trouver les remplaçants des langages C (qui a franchi la barre des 45 ans) et C++ (qui a plus de 30 ans). Et parmi les candidats à leur succession, on parle souvent de Rust, Go ou encore le langage D, pour ne citer que ceux-là. Mais le constat est que les langages C/C++ (mais aussi ceux dont on annonce la disparition depuis des années) sont encore là, et il n'y a aucun signe qui montre qu'ils seront abandonnés un jour.

D'ailleurs, pour Peter Wright, développeur et blogueur traitant des sujets relatifs à la programmation, C et C++ ont au moins 45 bonnes années devant eux. C'est bien de l'affirmer, mais pourquoi ? C'est ce qu'il a essayé d'expliquer. Pour lui, il y a au moins cinq bonnes raisons pour lesquelles C et C++ devraient encore être pertinents dans les 45 ans à venir.

C et C++ permettent d'avoir plus de contrôle sur le matériel

À la fois C et C ++ vous permettent d'avoir (plus ou moins) le contrôle total du matériel, et il y a encore de nombreuses applications où cela est essentiel. Avoir le contrôle du matériel a pour avantage d'offrir une meilleure utilisation des ressources, une utilisation déterministe des ressources et une manipulation et un contrôle avancés de la mémoire, entre autres. Certes, cela peut être fait dans d'autres langages, mais pour Peter Wright, C et C++ le font d'une manière très élégante.

C et C++ vous permettent d'écrire du code très efficace

Vous direz certainement qu'un développeur expérimenté peut écrire du code très efficace dans des langages comme C# ou Java et bien d'autres. Mais, pour le blogueur, c'est encore plus facile de le faire en C ou en C++.

Les langages C et C++ sont portables

Il existe des langages plus adaptés pour des développements indépendants des plateformes, mais le fait est que les applications multiplateformes peuvent être écrites efficacement en C et C++.

C et C++ sont des langages qui évoluent

Peter Wright estime que les C et C++ d'aujourd'hui ont beaucoup évolué depuis leur création et continuent à le faire, même si C++ évolue actuellement à un rythme plus rapide que le langage C. Il précise encore que ce n'est pas seulement la syntaxe qui évolue, mais les IDE, les analyseurs de code, les outils de refactoring, les systèmes de build. Autrement dit, l'ensemble des écosystèmes continue de s'améliorer.

C et C++ sont largement utilisés

C'est peut-être la raison la plus pertinente. Il y a déjà beaucoup de logiciels écrits en C et C++ que bon nombre d'entre nous utilisent quotidiennement. Peter Wright cite par exemple :

  • parmi les systèmes d'exploitation : Windows, Mac OS X, iOS, Linux, Android ;
  • parmi les bases de données : MariaDB/MySQL, PostgreSQL, Oracle, SQL Server ;
  • parmi les outils de productivité : Microsoft Office, LibreOffice, Visual Studio.

Cela dit, Peter Wright précise que cela ne signifie pas que C et C++ existeront pour toujours, mais ils existeront au moins et seront pertinents aussi longtemps que ces projets le seront. « Et je peux vous assurer qu'ils seront là pour longtemps », dit-il. Il explique qu'il y a déjà beaucoup de codes existants écrits en C et C++ et qui sont trop précieux pour être remplacés et si cela devait arriver, il va falloir beaucoup de temps.

Il reconnait enfin qu'à la fois C et C++ ont eu beaucoup de concurrents ces derniers temps. Ceux-ci gagnent en popularité et remplaceront parfois C/C++ dans les nouveaux projets. Mais C et C++ continueront à être utilisés pendant longtemps. Il ne sera donc pas surpris si ces deux langages vétérans sont encore là dans 45 ans.

Sources : Code Addiction

Et vous ?

Que pensez-vous des arguments de Peter Wright ?
Pensez-vous également que C et C++ ont encore de nombreuses années devant eux ? Pourquoi ?

Voir aussi :

Quel avenir pour le langage C ? Un développeur expérimenté fait ses adieux au langage, et livre ses inquiétudes quant à son avenir
Quel langage pourrait remplacer C ? Après avoir comparé Go, Rust et D, le choix d'Andrei Alexandrescu se porte sur D
Index TIOBE : C sacré langage de programmation de l'année 2017, Python enregistre encore la plus forte progression annuelle sur PYPL


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de Vincent PETIT Vincent PETIT - Modérateur https://www.developpez.com
le 13/01/2018 à 16:54
Salut,
Je ne vais parler que de C, car je ne connais pas trop le C++, et sans mettre en avant les aspects techniques du langage pour ne pas déclencher une guerre

L'utilisation du langage C dans l'informatique n'est que la partie visible de l'iceberg, en dessous il y a les innombrables composants électroniques programmables et toutes ses normes d'applications (normes automobiles, normes aéronautiques/spatiales, normes médicales, industriels et elles se déclinent en spécialités comme la sûreté de fonctionnement etc... ) qui imposent, pour certaines d'entres elles, le langage C avec des règles de codage telles que peut l'être MISRA par exemple.

Tout ceci dépasse de loin le prisme de la discipline informatique et c'est entre autre pour ça qu'il est toujours là l'animal ! Et il sera là encore très très longtemps à cause de l'impossibilité de refondre complètement toutes ces normes (problème de compatibilité, d'interopérabilité et de politique d'assurance lors de certification) au pire elles s'ajustent légèrement.
Avatar de wolinn wolinn - Membre éclairé https://www.developpez.com
le 13/01/2018 à 18:18
Le C++ n'est pas plus prêt de disparaitre que le FORTRAN (dont la première version remonte à 1957) ou le Cobol (1959) parce qu'il y a une énorme base de logiciels et de bibliothèques, résolvant des problèmes peu sensibles aux modes et technologies éphémères. Une inversion de matrice, ça s'écrit en FORTRAN ou en C++, et les nouveaux langages n'apportent rien de bien fondamental pour ce type de problème.
Le compilateur d'Intel est disponible pour FORTRAN et C++. Dans mon domaine (CAO, simulation), le standard industriel est le C++.
Le C++ peut tout au plus reculer sur certains usages pour lesquels il y a des langages mieux adaptés.
Avatar de jlliagre jlliagre - Modérateur https://www.developpez.com
le 14/01/2018 à 11:15
Je ne mettrais pas le C et le C++ dans le même panier.

Le C++ est un langage "comme les autres", c'est à dire un langage en concurrence avec beaucoup d'autres. Il existe peu de dépendances fortes qui imposent d'utiliser le C++.

Dans certains domaines, le C est aussi un langage comme les autres. Il est alors rarement utilisé dans de nouveaux projets car des langages souvent plus simples à apprendre et utiliser, plus tolérants et plus enseignés lui sont préférés.

Dans d'autres domaines, comme la programmation système, les drivers bas niveau, l'embarqué, les codes très optimisés pouvant inclure de l'assembleur, le développement d'utilitaires portables (POSIX), le C est un langage souvent incontournable et a encore de beaux jours devant lui. Il a très peu de dépendances, un programme C linké statiquement n'a besoin de rien d'autre que lui même pour s'exécuter, et quand il est linké dynamiquement, il n'a parfois besoin que de la libc, qui est présente sur à peu près tous les systèmes qui existent. Les autres langages ont parfois (souvent) besoin de la présence préalable de runtimes très lourds (java, python, etc.) pour s'exécuter.
Avatar de Mat.M Mat.M - Expert éminent sénior https://www.developpez.com
le 14/01/2018 à 20:26
Citation Envoyé par Michael Guilloux Voir le message

Vous direz certainement qu'un développeur expérimenté peut écrire du code très efficace dans des langages comme C# ou Java et bien d'autres. Mais, pour le blogueur, c'est encore plus facile de le faire en C ou en C++.
tout dépend du sens que l'on donne à "efficacité" d'un langage informatique...qu'est-ce qu'un langage efficace ?
Avatar de RyzenOC RyzenOC - Inactif https://www.developpez.com
le 15/01/2018 à 8:13
Je remarque que 1 fois par mois on a une nouvelle de ce genre "C ne vas pas disparaitre"
Es ce une façon de se "rassurer" ?

Tant que C sera utilisé dans des nouveau projet, il existera
Cobol a ma connaissance n'est plus utilisé dans de nouveaux projet, uniquement pour maintenir des vieux soft codé en ce langage, donc lui je pense qu'il disparaîtra.

A titre personnelle, je pense que Java disparaîtra avant le C/C++.
Car java n'est pas un langage indispensable, il existe d'autres langages équivalent pouvant le remplacer (C# (sont concurrent directe si je puis dire), Python, C++, PHP (pour le web)...)

Des langages qui rentre en concurrence, il ne peut en rester qu'un à la fin. PL/I vs Cobol, cobol l'a emporté, Python vs Ruby => python l'a emporté, Java vs C# ???
Et puis que dire de JS qui lui aussi commence à envahir d'autre domaine autre que les pages web

Dans l'ensemble, je pense que C a perdu du terrain quand même, avant il était encore utilisé dans le domaine scientifique, aujourd'hui il a été complètement remplacé par R.
Et google avec sont langage Go pourrais lui faire encore perdre du terrain.
Avatar de grunk grunk - Modérateur https://www.developpez.com
le 15/01/2018 à 8:41
Citation Envoyé par RyzenOC Voir le message
Des langages qui rentre en concurrence, il ne peut en rester qu'un à la fin. PL/I vs Cobol, cobol l'a emporté, Python vs Ruby => python l'a emporté, Java vs C# ???
Ruby (avec Rail) me semble encore bien présent. Et si on suit ton résonnement C ou C++ vont effacer tous les autres langage puisqu'ils rentre en concurrence avec quasi tous les langages.

Heureusement qu'il y'a des langage en concurrence qui propose des choses différentes. La vie de développeur serait bien triste si il existait qu'un seul langage.

Là ou C++ à sauvé sa peau c'est qu'il à su évoluer et se simplifier. La première grosse évolution c'est pour moi C++11 qui m'a (un peu) réconcilié avec le C++ en le rendant plus sympa à utiliser. Peut être qu'on aurait pas eu autant d'évolution si Java/C#/Go/Rust /etc... poussaient pas derrière pour grappiller ses parts de marchés.
Avatar de kmedghaith kmedghaith - Membre averti https://www.developpez.com
le 15/01/2018 à 9:09
Code : Sélectionner tout
1
2
3
ldd /usr/bin/java  | grep libc 
ldd /usr/bin/python | grep libc
Avatar de wolinn wolinn - Membre éclairé https://www.developpez.com
le 15/01/2018 à 9:09
Citation Envoyé par RyzenOC Voir le message

...
Cobol a ma connaissance n'est plus utilisé dans de nouveaux projet, uniquement pour maintenir des vieux soft codé en ce langage, donc lui je pense qu'il disparaîtra.
...
Je n'ai jamais utilisé le Cobol, mais sur la notice wiki, je lis qu'en 2005, 75% des données financières étaient traitées en Cobol.
C'est un vieux langage qui parait un peu snobé par les jeunes développeurs de logiciels, mais en attendant, la planète financière tourne en Cobol.
Même si la part de marché a dû diminuer depuis 2005, je ne pense pas que ce soit au profit d'un seul autre langage, et donc Cobol doit rester dominant au moins en relatif (?).
Le sujet n'est pas le Cobol ici, mais je serais très intéressé par un sujet sur l'état des lieux pour le Cobol, et lire l'avis de ceux qui pratiquent ce langage.
Il me semble avoir lu que el_slapper avait rénové des programmes Cobol écrits au début des années 70. A priori, ce n'est pas pour les jeter l'année prochaine au profit du langage à la mode du moment, ces programmes sont plutôt destinés à fonctionner pendant encore des décennies.
Avatar de koyosama koyosama - Membre éprouvé https://www.developpez.com
le 15/01/2018 à 9:34
Citation Envoyé par RyzenOC Voir le message

A titre personnelle, je pense que Java disparaîtra avant le C/C++.
Car java n'est pas un langage indispensable, il existe d'autres langages équivalent pouvant le remplacer (C# (sont concurrent directe si je puis dire), Python, C++, PHP (pour le web)...)
Tu sais que c'est pas le développeur qui choisit le langage mais le business qui choisit le langage. Si des entreprise utilisent encore Java, ils vont pas migrer ils vont le vendre c'est tout.
Si tu aimes bien les langages vont mourir, va sur Quora. T'as des postes qui annoncent l'appocalypse des langages comme Ruby, C#, Java, PHP, Javascript, ... Tous les langages y passsent.

Java est gros pour mourir. Juste pour rappeler que le monde est grand et se limite pas à Paris.
Avatar de koyosama koyosama - Membre éprouvé https://www.developpez.com
le 15/01/2018 à 9:38
Citation Envoyé par wolinn Voir le message
Je n'ai jamais utilisé le Cobol, mais sur la notice wiki, je lis qu'en 2005, 75% des données financières étaient traitées en Cobol.
C'est un vieux langage qui parait un peu snobé par les jeunes développeurs de logiciels, mais en attendant, la planète financière tourne en Cobol.
Même si la part de marché a dû diminuer depuis 2005, je ne pense pas que ce soit au profit d'un seul autre langage, et donc Cobol doit rester dominant au moins en relatif (?).
Le sujet n'est pas le Cobol ici, mais je serais très intéressé par un sujet sur l'état des lieux pour le Cobol, et lire l'avis de ceux qui pratiquent ce langage.
Il me semble avoir lu que el_slapper avait rénové des programmes Cobol écrits au début des années 70. A priori, ce n'est pas pour les jeter l'année prochaine au profit du langage à la mode du moment, ces programmes sont plutôt destinés à fonctionner pendant encore des décennies.
Je suis au Canada, où ils sont ou tu un magasin qui Canada Tire (le four tout : fusion entre fnac, darty et ikea = conforama nationnal), tu vois des IBM PC (le premier) partout dans les chaines de magasins. Ils ont encore pas mal d'AS400, donc le cobol ça existe encore. Crois-moi, tu le vois peut-être pas dans le coin, mais j'en entends parlé dans les discussions où je suis.

Et je te jure que c'est ni exagéré, ni une blague.
Contacter le responsable de la rubrique Accueil