Por que C é tão alto no índice de popularidade TIOBE, enquanto C ++ também está aqui embaixo, mas não é tão popular? [fechadas]

18

Não consigo entender isso. Se C é muito usado, mas C não é C ++, alguém pode me explicar os motivos mais importantes que tornam C mais usado que C ++? Onde está escrito todo esse código C?

É sobre o setor industrial que depende fortemente de programação imperativa, mas não suporta o custo de implementação ou ajuste de compiladores C ++? Existem muitos hackers de kernel?

O tiobe é relevante? Eu nunca me deparei com nenhum artigo ou postando comentário ou explicando o quão singular é a classificação da tiobe, e o que ela realmente diz sobre o que a indústria gosta e o que ela pode dizer sobre o que a indústria realmente usa, para identificar as necessidades reais da indústria. É difícil de explicar.

Apenas acho estranho que muitas empresas desejem empregos em C #, php, java e não trabalhos em C ou C ++ (apenas relacionando meu desemprego e minhas entrevistas aqui), mesmo que esses trabalhos em C / C ++ sejam uma porcaria. Eu os pegaria. Ou isso significa que o hype da linguagem desempenha um papel importante aqui?

jokoon
fonte
18
Is tiobe relevant ?Muitas pessoas pensam que não é.
Simon Bergot
1
Eu o usaria apenas para avaliar os dez principais idiomas provavelmente em uso ativo. A classificação no índice tiobe não está relacionada à sua popularidade real.
Martin York
4
Muita programação incorporada é feita em C. Não se trata apenas do custo de implementar / ajustar os compiladores C ++; é o custo da execução do C ++ no dispositivo incorporado.
Velociraptors
5
C é muito menos complexo que C ++.
fanl
8
O índice TIOBE é uma medida divertida; divertimos tanto quanto todos somos engenheiros e achamos as medições divertidas porque podemos fazer um gráfico delas e imaginar previsões e conclusões com base nelas. Mas também sabemos que coisas tão amplas e complexas quanto o uso e a popularidade reais de um idioma ainda não são coisas que somos capazes de medir com precisão. Então, o TIOBE é divertido, mas onde ele não parece se alinhar com a realidade, provavelmente não.
21713 Jimmy Hoffa

Respostas:

16

O índice TIOBE baseia-se em resultados de mecanismos de pesquisa - consulte http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm

Isso significa que (por exemplo, em teoria), você pode ter um idioma que todo mundo está falando que tem muitos hits e obtém uma classificação alta mesmo que ninguém o use, e você pode ter um idioma que muitas pessoas estão usando mas como não há muitas páginas da web / hits, obtém uma classificação baixa. Ele nem leva em conta o que as páginas da Web contêm (por exemplo, imagine um milhão de páginas dizendo que um determinado idioma é péssimo, que todos aumentam o índice TIOBE do idioma).

Em teoria, os fatores de ponderação precisariam ser aplicados para obter uso no índice de hits da Web / TIOBE. Por exemplo, para uma linguagem complexa como C ++ (onde todos os que a usam provavelmente têm um ou mais livros de referência), o uso provavelmente será maior do que o indicado pelo índice TIOBE; e para idiomas usados ​​principalmente para desenvolvimento web (onde a maioria da documentação geralmente está online e é mais provável que seus usuários criem páginas da web), o uso provavelmente será menor do que o indicado pelo índice TIOBE.

É claro que é praticamente impossível determinar com precisão os pesos adequados para cada idioma; portanto, o índice TIOBE só pode ser considerado uma aproximação grosseira do uso.

Brendan
fonte
32
"por exemplo, imagine um milhão de páginas da web dizendo que uma determinada linguagem é horrível, que todos aumentam o índice TIOBE da linguagem" : finalmente entendo por que o PHP está entre os dez primeiros.
Arseni Mourzenko
4
+1, e também suspeito que determinados idiomas tendem a ser mais usados ​​para trabalhos de experimentação / fim de semana, e esses idiomas terão um número desproporcional de pesquisas pelo nível de uso (por exemplo, se você não o usar todos os dias, você tende a para pesquisar mais). Dito isso, não acho que esse argumento seja particularmente aplicável a C. Mais relevante pode ser que muitas pesquisas em C ++ acabem sendo categorizadas como C devido a mal-entendidos / preguiça do desenvolvedor.
Daniel B
16

"Se C não for muito usado" - eu estaria interessado em ver se alguém poderia fazer backup disso.

Todos os seguintes são escritos em C puro: -

  • o kernel do Linux.
  • o repositório git.
  • Bancos de dados de código aberto MySql, PostgreSQL, SQLite.
  • Bancos de dados proprietários Oracle, DB2, Informix, SYBASE.
  • Grandes pedaços do sistema operacional Windows.
  • O servidor da web Apache, o servidor da web ngnix.
  • As implementações de referência de linguagem Perl, Python, PHP, Lua.

    Em suma, eu diria que existem mais programas C que são executados com mais frequência do que qualquer outra linguagem.

James Anderson
fonte
3
Alguns títulos de jogos AAA também.
Alan B
3
Esses são os serviços principais, codificados por um punhado de programadores qualificados. E o 'código de front-end'? Os aplicativos para usuários? Depois que os serviços principais de que você está falando são codificados e depurados, eles são executados, mas você não faz nada apenas usando-os.
Jokoon
2
Acrescente a isso, o maior controle industrial, a maioria dos sistemas embarcados, a indústria automotiva. O núcleo de tudo escrito antes de 1995 (Isso não é Cobol ou Ada) .....
mattnz
1
Nitpick: Das 4 implementações Python no nível de produção, 3 não são escritas em C. Das três implementações PHP no nível de produção, 2 não são escritas em C. A maioria das implementações Git não são escritas em C.
Jörg W Mittag
@jokoon - Obviamente, 'código de front-end' não é um requisito para estar nesta lista. Se seu objetivo é descobrir quais idiomas aprender para o emprego, talvez um local de trabalho seja melhor?
Jeffo