Le C est peut-être utilisé dans « tous les domaines », mais si sa part fait dans les 50% dans l'embarqué (comme le dit Nicolas), dans le calcul scientifique, sa part est quasi-négligeable (tout est fait en Fortran à hauteur de 70% je dirais, de C++ pour 20%, et de divers trucs pour les 10% qui restent), dans le domaine de l'informatique de gestion on a vite compris qu'utiliser Java ou C# (couplé à un bon IDE) permettait d'éviter tellement de bourdes de la part du programmeur moyen que le C n'est plus parlé que pour maintenir des codes existants.
En fait, le C a la dragée haute là où il a encore de l'intérêt : là où la gestion fine des ressources est importante -- donc l'embarqué, et dans une moindre mesure, si on confond C et C++, le calcul haute performance [1]. À cela il faut rajouter les boites qui font du middleware (genre fournisseurs de bibliothèques pour boites de jeux vidéo, ou d'applications ayant de fortes contraintes niveau perfs).
Bref, le C est cantonné (comme la plupart des langages) à des niches technologiques.
Dans le cas du logiciel libre, c'est différent. Le C est très souvent un « presque premier langage » (ou bien le premier « langage sérieux ») que beaucoup de dévs qui officient dans le libre utilisent. Ça reste un langage du cœur selon moi, et c'est pour ça qu'on voit tant d'applications utilisant le C là où d'autres langages seraient plus adaptés. Mais ce qui est drôle c'est que dans le même temps les langages de scripts (perl/python/ruby) sont aussi nés de la mouvance libre, et que ceux qui sont revenus de leurs errements en C en font l'apologie. C'est à la fois la grande force et la grande faiblesse du libre : la réactivité immédiate [2].
Au contraire, ce qui fait qu'en entreprise encore plein d'applis se retrouvent écrite en C (++ ? ;-)) alors qu'on devrait clairement tout casser et recommencer avec des langages de script/4è génération (avec un temps de dév 5 fois moins grand), c'est qu'en fait, elles ne sont qu'étendues, ces applis. Pas écrites from scratch, mais plutôt maintenues. Il y a une très grande inertie, et forcément, le C peine à partir. De la même façon que Java a eu du mal à s'imposer au début (entre autres à cause de sa lenteur initiale), mais que ça fait bien 10 ans qu'il est à peu près clair que Java ce n'est plus « l'avenir », mais le présent (au sens d'une boite : sauf cataclysme, tant que l'appli tourne, on ne change rien).
[1] Pour être précis, le C est souvent utilisé en tant que « glu » entre divers modules de compilation écrits en Fortran, typiquement pour les entrées/sorties ou les communications de type MPI.
[2] Faiblesse aussi, car dès que ça brille on en voit souvent beaucoup se précipiter sur une nouvelle techno sans avoir bien digéré la précédente... Ça fait des gens touche à tout mais pas forcément pointus sur un domaine précis...
[^] # Re: Pourquoi Mono ?
Posté par lasher . En réponse au journal Utiliser Mono sans peur. Évalué à 4.
En fait, le C a la dragée haute là où il a encore de l'intérêt : là où la gestion fine des ressources est importante -- donc l'embarqué, et dans une moindre mesure, si on confond C et C++, le calcul haute performance [1]. À cela il faut rajouter les boites qui font du middleware (genre fournisseurs de bibliothèques pour boites de jeux vidéo, ou d'applications ayant de fortes contraintes niveau perfs).
Bref, le C est cantonné (comme la plupart des langages) à des niches technologiques.
Dans le cas du logiciel libre, c'est différent. Le C est très souvent un « presque premier langage » (ou bien le premier « langage sérieux ») que beaucoup de dévs qui officient dans le libre utilisent. Ça reste un langage du cœur selon moi, et c'est pour ça qu'on voit tant d'applications utilisant le C là où d'autres langages seraient plus adaptés. Mais ce qui est drôle c'est que dans le même temps les langages de scripts (perl/python/ruby) sont aussi nés de la mouvance libre, et que ceux qui sont revenus de leurs errements en C en font l'apologie. C'est à la fois la grande force et la grande faiblesse du libre : la réactivité immédiate [2].
Au contraire, ce qui fait qu'en entreprise encore plein d'applis se retrouvent écrite en C (++ ? ;-)) alors qu'on devrait clairement tout casser et recommencer avec des langages de script/4è génération (avec un temps de dév 5 fois moins grand), c'est qu'en fait, elles ne sont qu'étendues, ces applis. Pas écrites from scratch, mais plutôt maintenues. Il y a une très grande inertie, et forcément, le C peine à partir. De la même façon que Java a eu du mal à s'imposer au début (entre autres à cause de sa lenteur initiale), mais que ça fait bien 10 ans qu'il est à peu près clair que Java ce n'est plus « l'avenir », mais le présent (au sens d'une boite : sauf cataclysme, tant que l'appli tourne, on ne change rien).
[1] Pour être précis, le C est souvent utilisé en tant que « glu » entre divers modules de compilation écrits en Fortran, typiquement pour les entrées/sorties ou les communications de type MPI.
[2] Faiblesse aussi, car dès que ça brille on en voit souvent beaucoup se précipiter sur une nouvelle techno sans avoir bien digéré la précédente... Ça fait des gens touche à tout mais pas forcément pointus sur un domaine précis...