Les avantages de programmation en C

Fermé
Profil bloqué - 10 mars 2011 à 20:59
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 26 févr. 2016 à 21:56
Bonjour,

Je veux s'avoir qu'elles sont les avantages de programmation en C ?
A voir également:

2 réponses

productif Messages postés 39 Date d'inscription mardi 8 mars 2011 Statut Membre Dernière intervention 9 février 2017 20
10 mars 2011 à 21:31
Avantages pratiques :
- c'est probablement le langage le plus répandu et le plus utilisé ; par conséquent on peut trouver sans difficulté tout ce dont on a besoin : interfaces pour des logiciels tiers, codes source libres, documentation, exemples... c'est l'assurance de presque toujours trouver quelqu'un ou quelque chose qui sera compatible avec ce qu'on développe.
- c'est un langage standardisé ; on peut le trouver dans une multitude d'environnements avec la garantie que le fonctionnement sera le même partout

Avantages techniques :
- extrêmement performant car très "proche" des instructions du processeur

Mais pourquoi seulement les avantages ?
4
Profil bloqué
11 mars 2011 à 09:19
Est les désavantage ?
0
Utilisateur anonyme
11 mars 2011 à 09:37
Langage ancien (préhistorique)
non objet
gestion mémoire très pénalisante
peut devenir illisible si mal écrit
mono plateforme (un code C doit être re compiler pour fonctionner sur un autre OS, voir des fois modifié)
Autant aller tout de suite vers du C++
Et si on ne recherche pas forcément les perfs, autant aller vers du Java
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
Modifié par fiddy le 11/03/2011 à 09:53
@ internetwebservices
gestion mémoire très pénalisante
C'est aussi un avantage la gestion de la mémoire puisque le programmeur fait ce qu'il veut. Cela évite d'user du garbage collector qui est gourmand en ressource.
peut devenir illisible si mal écrit
Comme tous les langages. Si c'est mal écrit, ce n'est pas la faute du langage mais du programmeur.
mono plateforme (un code C doit être re compiler pour fonctionner sur un autre OS, voir des fois modifié)
Oui, comme tous les langages sans interprêteur. Ce n'est pas un problème propre de ce langage. Mais la force du C est qu'il est normé. Un code standard compilable sur un OS est garanti d'être compilable sur un autre OS sans aucune modification.

Autant aller tout de suite vers du C++
Non. Cela dépend de ce que l'on recherche.

Et si on ne recherche pas forcément les perfs, autant aller vers du Java
Ou autre, le python par exemple :-).
0
Utilisateur anonyme
11 mars 2011 à 09:58
@fiddy
C'est aussi un avantage la gestion de la mémoire puisque le programmeur fait ce qu'il veut. Cela évite d'user du garbage collector qui est gourmand en ressource.
Oui tout à fait, mais il faut être très rigoureux en C. Les fuites mémoires sont légion sinon.

mono plateforme
Oui ça résoud le problème

C++
Se passer de l'objet de nos jours, c'est quand même dommage non ?

Ou autre, le python par exemple :-).
Non pas le Python !!! C'est une usine à problème, langage de script à la rigueur
0
Utilisateur anonyme
11 mars 2011 à 10:00
Bon je n'aime pas le C, je dois l'avouer, je suis fan Java à la base.
Mais le C c'est très bien pour les applications embarquées, le temps réel, les jeux vidéos.
0
Célien Messages postés 5729 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 9 septembre 2021 1 993
20 mars 2013 à 18:48
Il n'y à aucun avantage à programmer en C, tu programme en C parce que tu as pas le choix, par exemple parce que tu programme un robot qui ne peu être programmable que en C.

Il y à au moins 5000 langages de programmation mieux que le C, ne serais ce que C++ pour commencer.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
20 mars 2013 à 19:25
Tu rebondis sur un message de 2 ans...
Sinon je ne suis pas d'accord avec toi. Un langage mieux qu'un autre ne veut rien dire. C'est toujours par rapport à des critères. C'est comme si tu disais qu'il y avait plein de légumes meilleurs que le panais...
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089
20 mars 2013 à 19:30
Célien,

C'est un sujet déterré.

Sur le fond, http://freshmeat.sourceforge.net/tags/c?sort=popularity cite plein de contre-exemples... entre autres Apache, gcc, Linux, PHP, Wireshark, VLC media player, Blender, TightVNC, curl, GIMP, ..., édifiant, non ?


Dal
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
20 mars 2013 à 20:48
Et ne nous sort pas que le pascal est mieux stp ^^.
0
Célien Messages postés 5729 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 9 septembre 2021 1 993
Modifié par Célien le 20/03/2013 à 21:24
Oops j'avais pas vu que "internetwebservices - 20 mars 2013 à 17:17" avait déterré le sujet.
Oui je sais que pleins de logiciels systèmes et outils sont fait en C, y compris LInux, mais j'aime bien provoquer les gens ça m'amuse que veux tu...... En même temps des outils et logiciels système fait en C c'est un bon choix, au moins sur les performances résultantes. De toute façon, on ne sais pas ce qu'il voulais programmer donc c'est forcément un débat la noix.
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089
Modifié par [Dal] le 21/03/2013 à 11:38
@fiddy, Pascal rocks :-P

@Célien, je vis dans un monde où j'utilise quotidiennement Apache, gcc, Linux, PHP, Wireshark, VLC media player, Blender, TightVNC, curl, GIMP, ... Le C n'est pas réservé à l'électronique embarquée, ni aux "logiciels systèmes et outils" (au fait.. tout logiciel est un "outil", mais si tu veux dire "outils systèmes", ou "petits utilitaires", là aussi rien que dans cette courte énumération, tu as déjà des contre-exemples, que tu peux compléter à loisir en parcourant freecode -- si tu veux dire autre chose, je n'ai pas compris).

Pour compléter le tableau des personnes qui se sont exprimées dans ce débat aux fruits secs :-D, j'ajouterai que je pense que c'est un langage formateur, car si on n'est pas extrêmement rigoureux en C, on n'arrive à rien (ou à rien de bon, en tout cas).

Bien sûr, c'est le cas pour tout langage de programmation.

Cependant, dans le cas du C, cette rigueur n'est pas encadrée par la rigueur du langage, mais est rendue nécessaire en raison de sa flexibilité et des "pièges" du langage C qui en résultent pour une personne qui ne serait pas attentive. Le programmeur C doit développer une méthode de programmation, comprendre les "bonnes pratiques", et il lui faut acquérir et s'approprier tout cela, et cela ne va donc pas de soi, car ce n'est pas dicté par le langage lui-même.

C'est pour cela aussi qu'il est plus difficile d'être un bon enseignant en C, qu'un bon enseignant en Pascal.


Dal
0