Se connecter

Informatique

Programmation

Sujet : Pourquoi le langage C est encore utilisé ?
1
alytus2
Niveau 8
09 juillet 2020 à 19:53:50

Pourquoi le langage C est encore utilisé quand le C++ existe ?
Le C++ fait la même chose que le C et offre en plus la programmation orientée objet. :(

Alors pourquoi le C est toujours utilisé ? C'est un caprice de développeur ? :(

boucif
Niveau 24
09 juillet 2020 à 20:26:58

Le C reste plus performant et pour certains composants il n’existe que des compilateurs en C au mieux ...

alytus2
Niveau 8
09 juillet 2020 à 20:30:51

Le 09 juillet 2020 à 20:26:58 boucif a écrit :
Le C reste plus performant et pour certains composants il n’existe que des compilateurs en C au mieux ...

Le même code en C et en C++ sera aussi performant. Sachant que 99% du C est compatible avec C++. :(

Ensuite ok pour les compilateurs, mais c'est vraiment des cas extrêmement rares, surtout qu'un compilateur C++ pourrait être fait. :oui:

Donc y a pas vraiment de raison au final. :(

[Kakuzu]2
Niveau 24
09 juillet 2020 à 21:56:58

Les raisons sont pas énormes et je les connais surement pas toutes, mais un rapide coup d'oeil sur le net devrait beaucoup plus t'en dire. De ce que j'en sais au niveau technique, dans des systèmes embarqués très très restreint en taille on va préféré du C qui est plus léger que du C++ (de la même manière qu'on va pouvoir préférer d'utiliser de l'assembleur dans des systèmes encore plus restreint), niveau compilateur c'est également possible que ton système n'en possède un que pour le C (pour diverses raisons d'implémentations, notamment qu'il soit plus portable), je pense qu'on peut aussi mentionner le niveau d'abstraction en C++ qui peut mener à des différents problèmes, comme en terme de mémoire par exemple.

Néanmoins le C++ reste aussi performant niveau rapidité que le C (si ce n'est plus rapide dans certains cas?), le C++ sera toujours plus maintenable, plus facile et plus rapide à écrire. Dans 99.9% des cas je ne vois pas de raisons d'utiliser C au lieu de C++.

Arthfael
Niveau 15
09 juillet 2020 à 22:06:36

A de rares exceptions près, tous les langages sont capables de s'interfacer nativement avec du code C (utiliser une bibliothèque écrite en C et en appeler les fonctions), c'est loin d'être le cas pour le C++. Donc si tu veux écrire un bibliothèque et fournir des bindings dans d'autres langages, le C est plus flexible. Encore que tu peux utiliser C++ et fournir une API C en forçant l'emploi du linkage de l'ABI C avec extern "C".

_S0uL
Niveau 9
09 juillet 2020 à 23:51:44

Pour des anciens projets écrits en C qui coûteraient trop chère à porter en C++.
Pour la portabilité et la perf (C c'est quasiment un asm portable, très peu d'overhead).
Parce qu'on a pas de compilateur C++.
Parce qu'on a pas d'ingénieur C++.
Et parce qu'on veut s'interfacer sur la lib avec un autre langage.

Pseudo supprimé
Niveau 7
16 juillet 2020 à 17:09:20

Dans beaucoup de domaine C++ est considéré comme trop compliqué et donc trop dangereux par rapport a C. Et encore c'est une petite partie de C (qui a dit Fortran ?) qui est utilisée. Ce monde là (qui est un monde gigantesque) refuse d'entendre parler de C++. Bien sûr certaines parties de C++ apportent de la sécurité, mais l'industrie change très lentement vu qu'il y a des enjeux énormes.

godrik
Niveau 22
16 juillet 2020 à 17:20:59

Ouais globaleent tout a ete dit je pense:

Il y a des tonnes de plateforme ou tu ne pourras pas faire tourner le runtime C++ parcequ'il est trop lourd. (Oui, il y a des systemes avec seulement quelques Ko de memoire disponible.)

Il y a des plateformes ou il n'y a pas de compilateur C++ disponible. Et comme on ne s'attends pas a deployer des codes particulierement complexe, le developpement d'un compilateur C++ n'est pas rentable.

Le C++ est un langage plus difficile a maitriser que le C. Du coup, il y a beaucoup plus de developpeur C que C++.

gorz94
Niveau 6
16 juillet 2020 à 17:53:21

Tout a été dit. A noter qu'en embarqué, quasi tout est en C.

1
Sujet : Pourquoi le langage C est encore utilisé ?
   Retour haut de page
Consulter la version web de cette page