Pourquoi C est-il si élevé dans l'indice de popularité TIOBE, alors que C ++ est juste en dessous, mais pas aussi populaire? [fermé]

18

Je n'arrive pas à comprendre. Si C est tellement utilisé, mais que C n'est pas C ++, quelqu'un peut-il m'expliquer les raisons les plus importantes qui rendent C plus utilisé que C ++? Où est écrit tout ce code C?

S'agit-il du secteur industriel qui dépend fortement de la programmation impérative mais ne peut pas supporter le coût de mise en œuvre ou de réglage des compilateurs C ++? Y a-t-il autant de pirates du noyau?

Tiobe est-il pertinent? Je ne suis jamais tombé sur un article ou un post commentant ou expliquant à quel point le classement de tiobe est singulier, et ce qu'il dit réellement sur ce que l'industrie aime et ce qu'elle peut dire sur ce que l'industrie utilise réellement, pour identifier les besoins réels de l'industrie. C'est difficile à expliquer.

Je trouve juste étrange que de nombreuses entreprises veuillent des emplois C #, php, java, et non des emplois C ou C ++ (juste en rapport avec mon chômage et mes interviews ici) même si ces emplois C / C ++ sont de la merde. Je les prendrais à la place. Ou cela signifie-t-il que le battage médiatique linguistique joue un rôle important ici?

jokoon
la source
18
Is tiobe relevant ?Beaucoup de gens pensent que non.
Simon Bergot
1
Je ne l'utiliserais que pour évaluer les dix langues les plus utilisées. Le classement sur l'indice tiobe n'est pas lié à leur réelle popularité.
Martin York
4
Beaucoup de programmation embarquée se fait en C. Il ne s'agit pas seulement du coût d'implémentation / réglage des compilateurs C ++; c'est le coût de l'exécution de C ++ sur le périphérique intégré.
Velociraptors
5
C est beaucoup moins complexe que C ++.
fanl
8
L'indice TIOBE est une mesure amusante; amusant dans la mesure où nous sommes tous des ingénieurs et nous trouvons les mesures amusantes parce que nous pouvons les tracer et imaginer des prédictions et des conclusions basées sur elles. Mais nous savons aussi que des choses aussi vastes et complexes que l'utilisation réelle et la popularité d'une langue ne sont pas encore des choses que nous sommes capables de mesurer avec une quelconque précision. Donc le plaisir de TIOBE, mais là où il ne semble pas correspondre à la réalité, ce n'est probablement pas le cas.
Jimmy Hoffa

Réponses:

16

L'index TIOBE s'appuie sur les résultats des moteurs de recherche - voir http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm

Cela signifie que (par exemple, en théorie), vous pouvez avoir une langue dont tout le monde parle qui a beaucoup de hits et obtient une note élevée même si personne ne l'utilise, et vous pouvez avoir une langue que beaucoup de gens utilisent mais il n'y a pas beaucoup de pages Web / hits, il obtient donc une note faible. Il ne prend même pas en compte ce que contiennent les pages Web (par exemple, imaginez un million de pages Web disant qu'une certaine langue est affreuse, qui augmentent toutes l'indice TIOBE de la langue).

En théorie, des facteurs de pondération devraient être appliqués pour obtenir l'utilisation des hits Web / index TIOBE. Par exemple, pour un langage complexe comme C ++ (où tous ceux qui l'utilisent sont susceptibles d'avoir un ou plusieurs livres de référence), l'utilisation est susceptible d'être supérieure à celle indiquée par l'index TIOBE; et pour les langues principalement utilisées pour le développement Web (où la plupart de la documentation est généralement en ligne et où ses utilisateurs sont plus susceptibles de créer des pages Web), l'utilisation est susceptible d'être inférieure à celle indiquée par l'index TIOBE.

Bien sûr, il est pratiquement impossible de déterminer avec précision les pondérations appropriées pour chaque langue; par conséquent, l'indice TIOBE ne peut être considéré, au mieux, qu'une approximation grossière de l'utilisation.

Brendan
la source
32
"par exemple, imaginez un million de pages Web disant qu'un certain langage est affreux, qui augmentent tous l'indice TIOBE du langage" : je comprends enfin pourquoi PHP est dans le top dix.
Arseni Mourzenko
4
+1, et je soupçonne également que certaines langues ont tendance à être davantage utilisées pour l'expérimentation / le travail le week-end, et ces langues auront un nombre disproportionné de recherches pour leur niveau d'utilisation (c'est-à-dire si vous ne l'utilisez pas tous les jours, vous avez tendance pour rechercher plus). Cela dit, je ne pense pas que cet argument soit particulièrement applicable à C. Plus pertinent pourrait être que de nombreuses recherches C ++ finissent par être classées C en raison d'une mauvaise compréhension / paresse des développeurs.
Daniel B
16

"Si C n'est pas tellement utilisé" - je serais intéressé de voir si quelqu'un pourrait le sauvegarder.

Tous les éléments suivants sont écrits en C pur: -

  • le noyau Linux.
  • le dépôt git.
  • Bases de données open source MySql, PostgreSQL, SQLite.
  • Oracle, DB2, Informix, bases de données propriétaires SYBASE.
  • Gros morceaux du système d'exploitation Windows.
  • Le serveur Web Apache, le serveur Web ngnix.
  • Les implémentations de référence du langage Perl, Python, PHP, Lua.

    Dans l'ensemble, je dirais qu'il y a plus de programmes C qui sont exécutés plus souvent que tout autre langage.

James Anderson
la source
3
Pas mal de titres de jeux AAA aussi.
Alan B
3
Ce sont des services de base, codés par une poignée de programmeurs qualifiés. Qu'en est-il du «code frontal»? Les applications pour les utilisateurs? Une fois que les services de base dont vous parlez sont codés et débogués, ils sont exécutés, mais vous ne faites rien simplement en les utilisant.
jokoon
2
Ajoutez à cela, la plupart des commandes industrielles, la plupart des systèmes embarqués, l'industrie automobile. Le noyau de tout ce qui a été écrit avant 1995 (ce n'est pas Cobol ou Ada) .....
mattnz
1
Nitpick: sur les 4 implémentations Python de niveau production, 3 ne sont pas écrites en C. Des 3 implémentations PHP de niveau production, 2 ne sont pas écrites en C. La majorité des implémentations Git ne sont pas écrites en C.
Jörg W Mittag
@jokoon - De toute évidence, le «code frontal» n'est pas obligatoire pour figurer sur cette liste. Si votre objectif est de découvrir quelles langues apprendre pour l'emploi, peut-être qu'un site d'emploi serait mieux?
JeffO