Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Dans quel domaine utilisez-vous encore le C ?
Quelles en sont les raisons ?

Le , par Franck.H

37PARTAGES

7  0 
Dans quel domaine utilisez-vous encore le C ?
Dans quel domaine utilisez-vous encore le C ?

Il faut reconnaître que sur le marché actuel, le langage C n'est peut-être plus celui qui est le plus utilisé. Entre le Java qui possède une grande part de marché et la plateforme .Net regroupant divers outils et langages mais plus orientée Windows, le C possède quant à lui une part de moins en moins grande. Cependant, le C peut être encore utilisé dans bien des domaines où l'on cherche performance et rapidité ou si on a des ressources limitées, comme :
  • développement de systèmes embarqués ;
  • jeux vidéo (plus trop dans le monde professionnel comparé au C++) ;
  • programmation système ;
  • développement d'applications temps réel ;
  • bibliothèques de fonctions.

Et bien d'autres !

Vous, développeurs professionnels et amateurs, dans quel domaine utilisez-vous encore le C ?

Envisagez-vous de vous y mettre et pourquoi ?

Sur quel système travaillez-vous principalement ?

Le choix de votre système est dû à une contrainte professionnelle ou c'est un choix personnel ?

Utilisez-vous les nouvelles normes du langage ? Quelles en sont les raisons ?

Comme il s'agit d'un sondage/débat, merci de suivre les consignes strictes suivantes.

- SMS interdit : essayez d'écrire en français.

- Évitez de multiplier des messages courts, et essayez de faire plutôt un seul message avec tous les points ci-dessus (vous pouvez éditer vos messages pour les améliorer). Les multiples messages seront acceptés uniquement en cas de réponse de qualité à un débat technique de qualité...

- Donnez des précisions claires comme la version du système, la distribution dans le cas d'un unixoïde, etc.

Les messages type taverne ou SMS seront effacés immédiatement sans préavis ou explications.

Notre but est de créer un débat technique de qualité.

Merci de votre compréhension à tous



À lire aussi :

Quel est selon vous le meilleur moyen d'apprendre le Langage C ? Et si c'était à refaire ?

Quel est votre langage de programmation préféré en 2013 ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Enerian
Membre éclairé https://www.developpez.com
Le 09/08/2013 à 10:38
Citation Envoyé par Obsidian Voir le message
Objectivement, les sondages annuels montrent que le C et Java se disputent le podium sans arrêt. Une brève recherche nous emmène par exemple http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html, site selon lequel la différence de popularité entre ces deux langages n'est que de 0.004 %. Et l'an dernier, c'était le C qui était numéro 1.
Ah non pitié, on ne va pas commencer à prendre tiobe comme référence. Les statistiques Tiobe ne sont absolument pas représentatives de la popularité ou de l'utilisation des langages de programmation. Elles sont construites à partir des recherches faites dans les moteurs tels que Google, Bing et Yahoo. Donc les prendre comme référence pour juger de l'utilisation du C sur le marché du travail n'est absolument pas pertinent.
Je ne vais pas m'étendre plus : cf toutes les critiques sur les news autour du tiobe index...
12  0 
Avatar de FelipeVervena
En attente de confirmation mail https://www.developpez.com
Le 12/08/2013 à 11:17
"Dans quel domaine utilisez-vous encore le C ?"
Mais que fait donc le mot "encore" dans la question ?
Il est évident que la plupart des "développeurs" nouveaux pauvres ne connaissent pas le C.
Ils ont été orientés vers les "frameworks" et autres machines virtuelles des multinationales du logiciel et des appareils mobiles afin de baisser les coûts et donc les salaires. Et comme ils n'aiment pas la difficulté ("à quoi ça sert de réinventer la roue" - "pas de prise de tête" me dit-on) ils ont foncé droit dans le piège et se retrouvent aujourd'hui comme des sténo dactylos du code
Heureusement il reste le monde UNIX / Linux, l'embarqué et des bibliothèques performantes écrites en C pour ceux que cela intéresse.
9  2 
Avatar de Matt_Houston
Expert confirmé https://www.developpez.com
Le 10/12/2015 à 12:57
Le C n'est tellement plus ce qu'il était dans les années 90. Accompagnés de valgrind, C99 et surtout C11 sont des outils absolument modernes pour qui sait s'en servir.

J'ai commencé la programmation en apprenant le C en autodidacte, pour écrire quelques jeux et démos. Puis j'ai fait mes études au début des années 2000 lorsque la hype POO-UML-Agile-bullshit était encore à son apogée. Le lavage de cerveau aidant j'ai fait beaucoup de C++, Boost, design patterns etc... j'y ai cru. Et puis j'en suis revenu. Tout comme l'écrivain fait la qualité du bouquin, la qualité du programme dépend du programmeur.

Je développe toujours en C# et en C++ sous Windows, parce qu'il faut bien manger. Lorsque j'ai le choix, je fais des jeux en C.
7  0 
Avatar de Niark13
Membre éclairé https://www.developpez.com
Le 09/08/2013 à 13:01
J'utilise principalement le C pour écrire du code qui pourra être appelé par n'importe quel autre langage (C++, Java, Python, D, etc).

Le C reste la lingua franca de la programmation. Tous les langages un peu sérieux sont capables se s'interfacer avec lui.
6  0 
Avatar de psykokarl
Membre confirmé https://www.developpez.com
Le 17/08/2013 à 3:27
Lorsque l'on vante les mérites d'un framework, on se place généralement du point de vue du manager ou du dev nouvellement arrivé. La philosophie "il ne faut pas réinventer la roue" vise généralement à assouplir la gestion du personnel, c'est à dire remplacer un dev par un autre. Coder de façon modulaire et efficace relève de pratiques transverses valables aussi bien en objet que dans d'autres paradigmes. J'ai parfois pu constater que l'objet sert de prétexte pour ne pas prendre en compte ces pratiques (j'ai également vu des lib en procédural qui ne les respectaient pas non plus ).

Ce n'est pas qu'il ne peut pas y avoir de framework simple et efficace, c'est plutôt que ces framework doivent prendre en compte d'autres considérations. Parmi elles, le fait que la prise en main de la lib doit être rapide possible. La conséquence directe est qu'utiliser un framework, c'est être dans l'a peu près aussi bien au niveau architecture qu'au niveau fonctionnalité.
Les archis des bibliothèques sont pensés pour retrouver les méthodes facilement et non pour comprendre le fonctionnement du projet sur lequel on travaille.
Au niveau fonctionnalités, c'est parfois des traitements superflu ou insuffisant selon les cas. C'est aussi beaucoup de code inutile qui pourrait ne pas être présent. Moins de code à lire et moins de fichiers à parcourir joue sur la compréhension de l'ensemble.

Plus généralement, l'utilisation de framework participe au nivellement par le bas des développeurs. C'est le but implicite. Il s'agit de permettre au développeur de ne pas avoir a comprendre l'élégance caché derrière un jeu de pointeurs abscons au premier abord avant d'être enfin productif.
6  0 
Avatar de CodeurPlusPlus
En attente de confirmation mail https://www.developpez.com
Le 27/11/2014 à 22:41
Citation Envoyé par FelipeVervena Voir le message
"Dans quel domaine utilisez-vous encore le C ?"
Mais que fait donc le mot "encore" dans la question ?
Il est évident que la plupart des "développeurs" nouveaux pauvres ne connaissent pas le C.
Ils ont été orientés vers les "frameworks" et autres machines virtuelles des multinationales du logiciel et des appareils mobiles afin de baisser les coûts et donc les salaires. Et comme ils n'aiment pas la difficulté ("à quoi ça sert de réinventer la roue" - "pas de prise de tête" me dit-on) ils ont foncé droit dans le piège et se retrouvent aujourd'hui comme des sténo dactylos du code
Heureusement il reste le monde UNIX / Linux, l'embarqué et des bibliothèques performantes écrites en C pour ceux que cela intéresse.
Ha ha ha ! Beaucoup pensent ainsi mais sans oser le dire ! (c'est mon cas notamment)

Pour ma part j'utilise le C comme outil pédagogique pour initier à la programmation. C'est un très mauvais choix, donc c'est un bon choix (comprenne qui pourra )
5  0 
Avatar de olivier.pitton
Membre émérite https://www.developpez.com
Le 09/08/2013 à 11:43
Sur quel système travaillez-vous principalement ?
Noyau Linux (pour un gros projet) et la machine virtuelle Java (Hotspot), bien qu'en grosse partie en C++.

Le choix de votre système est dû à une contrainte professionnelle ou c'est un choix personnel ?
Choix personnel. Depuis que j'ai commencé à utiliser une distribution Linux, je ne peux plus m'en passer.

Le C reste et restera un langage populaire, malgré le Java / .NET / PHP ... déjà parce qu'il est toujours très enseigné dans les écoles et car il est utilisé dans les bases de tous les systèmes actuels, donc il offre toujours des perspectives d'emploi.
4  0 
Avatar de souviron34
Expert éminent sénior https://www.developpez.com
Le 14/08/2013 à 12:35
moi j'utilise le C pour tout...

Personnel ou professionnel. Il faut dire orienté 100% unix/linux

Du graphisme (la Xlib), du code mpeg ou gif ou tiff ou.. pour les images ou films, des maths, des clients/serveurs..

Appris sur le tas par nécessité (IHM en X11/Motif en 89) il me covneint, est souple, et surtout permet de tout faire. En ayant une base de progs et de blblios persos (au cours des projets), me permet de ne pas me poser de questions et faire du code rapide, précis, efficace tant en temps qu'en mémoire..

De plus indépendant d'add-on ou blibliothèques externes (Boost ou autres), en termes de structures de projets et code c'est bien plus maintenable/découpable logiquement que les innombrables fichiers/classes/interdépendances des langages objets...

Pour l'autonomie, la puissance, la rapidité, le contrôle des ressources utilisées... Non-informaticien de base, tout ce que je souhiate c'est un lanagge qui me permet de faire ce que je veux de manière logique sans m'encombre l'esprit de concepts inutiles... (le seul concept à assimiler est celui des pointeurs)

4  0 
Avatar de mllibre
Membre habitué https://www.developpez.com
Le 15/08/2013 à 9:27
Dès que des traitements algorithmes lourds sont à effectuer j'utilise le C. j'ai fait récemment une application pour smartphone android en java de traitement de fichiers vidéos qui durait bien trop longtemps (attendre plusieurs dizaines de minutes un résultat sur un smartphone c'est rédhibitoire). J'ai écrit la routine de traitement en C, appelée depuis java (android-ndk et jni). Le temps de traitement a été divisé par SOIXANTE !! Un traitement qui durait 5 minutes ne durait plus que 5 secondes. L'application devenait utilisable.
Il y a quelques années je me disais à quoi bon essayer de gagner du temps au niveau de la programmation, il n'y a qu'à attendre les progrès (fulgurants il est vrai) des processeurs. mais là j'étais tombé sur un contre-exemple.
Les programmeurs qui n'ont pas commencé par le C ne se rendent pas compte de la différence d'efficacité qui existe entre ce langage et ses successeurs C++, java, C#..., surtout que les enseignants toujours attirés par la nouveauté attribuent aux nouveaux langages des avantages qui n'en sont pas. Un professeur de grande école d'ingénieur qui a enseigné tous ce langages me disait "au début je parlais des avantages du nouveau langage que j'enseignais, et plus tard je ne disais plus avantages, mais caractéristiques".
Je programme depuis 1966 avec des langages généraux : PAF, Fortran, APL, Cobol, Basic, Forth, C, C++, Java.. et des langages spécifiques d'applications : Lisp, PostScript, Latex, Matlab, Scilab, Maxima, HTML...
Heureusement que la retraite est arrivée !! A mes débuts, on faisait quasiment tout avec un seul langage. Maintenant plusieurs langages sont en compétition dans chaque domaine d'application.
Il n'y a pas d'instance magique qui puisse réguler ou orienter tout ça.
D'après moi, ce forum est utile car il permet aux individus, comme moi de livrer leur expérience. Malgré sa longueur (de mon expérience), je ne sais que conclure et ne conclurait pas, sinon qu'en disant que si un langage à su faire sa place c'est qu'il a dû à une époque correspondre à un besoin ?
Pour terminer, je rappellerai qu'en ce qui concerne les traitements algorithmiques lourds le C reste le langage le plus efficace en terme de rapidité, bien au-delà des chiffres généralement admis. Pour vérifier, faites vous-même vos propres tests.
3  0 
Avatar de souviron34
Expert éminent sénior https://www.developpez.com
Le 16/08/2013 à 14:05
Citation Envoyé par Luc Hermitte Voir le message

-a Ces bibliothèques sont devenus des frameworks. Et toujours plus loin dans ce soucis de "je veux que mon framework fasse tout pour mon utilisateur qui ne veut pas de 50 COTS/lib externes" (un peu à l'opposé de la philo *nix: une tâche == un petit outil dédié) ils se sont mis à faire 150.000 trucs.

b- Pour l'industriel, l'efficacité première est le coût de développement bien souvent.
a : tout à fait c'est exactement ça qui me dérange... Et qui me hérisse un peu le poil quand on me dit "c'est plus facile à maintenir, c'est de plus haut niveau, etc etc etc".. Un découpage soigné est beaucoup plus facile à maintenir, faire évoluer, et même concevoir... Et il me semble que avoir des briques élementaires, que ce soit sous formes de biblos "à soi" ou "spécialiséées", est plus simple que quand tu as partout une dépendance sur un ramasse-miettes de 30000 fonctions/objets... (sans parler du temps de compilation : le dernier gros projet sur lequel j'ai travaillé, c'était 20 minutes les 5 exécutables en C, 4h30 les mêmes 5 en C++, à cause des classes imbriquées, des dépendances, etc...)

Comme je dis, je suis profondément marqué par les "couches", et le découpage "unixien", une tâche = un exé ou une tâche = 1 module/fichier... ça fait des répertoires sources simples, des gestions simples, une appréhension simple par un novice, une compil simple, une install simple, bref que des avantages à mon avis...

b- nous ne travaillons alors vraiment pas dans les mêmes domaines... Dans les industries pour lesquelles j'ai travaillé l'efficacité première était la vitesse d'exécution et la parfaite adéquation du module avec la fonctionalité demandée (pas de code inutile), plus la notion de "secret industriel".. ... Le temps de dev et le budget venait - relativement - loin derrière....
3  0