¿Por qué C es tan alto en el índice de popularidad de TIOBE, mientras que C ++ también está aquí, pero no es tan popular? [cerrado]


18

No puedo entender esto. Si C se usa tanto, pero C no es C ++, ¿alguien puede explicarme las razones más importantes que hacen que C sea más usado que C ++? ¿Dónde está escrito todo este código C?

¿Se trata del sector industrial que depende en gran medida de la programación imperativa pero no puede soportar el costo de implementar o ajustar compiladores C ++? ¿Hay tantos piratas informáticos del núcleo?

¿Es relevante tiobe? Nunca me topé con ningún artículo o publicación comentando o explicando cuán singular es la clasificación de tiobe, y lo que realmente dice sobre lo que le gusta a la industria y lo que puede decir sobre lo que la industria realmente usa, para identificar las necesidades reales de la industria. Es dificil de explicar.

Me parece extraño que muchas empresas quieran trabajos en C #, php, java y no en C o C ++ (solo relaciono mi desempleo y mis entrevistas aquí) incluso si esos trabajos en C / C ++ son una mierda. Tomaría esos en su lugar. ¿O significa esto que el bombo de lenguaje juega un papel importante aquí?


18
Is tiobe relevant ?Mucha gente piensa que no lo es.
Simon Bergot

1
Solo lo usaría para evaluar los diez idiomas principales que probablemente estén en uso activo. El rango en el índice tiobe no está relacionado con su popularidad real.
Martin York

44
Se realiza una gran cantidad de programación incrustada en C. No se trata solo del costo de implementar / ajustar compiladores C ++; Es el costo de ejecutar C ++ en el dispositivo integrado.
Velociraptors

55
C es mucho menos complejo que C ++.
fanl

8
El índice TIOBE es una medida divertida; divertido ya que todos somos ingenieros y las mediciones nos parecen divertidas porque podemos trazarlas e imaginar predicciones y conclusiones basadas en ellas. Pero también sabemos que cosas tan amplias y complejas como el uso real y la popularidad de un idioma aún no son cosas que podamos medir con precisión. Entonces, TIOBE es divertido, pero donde no parece alinearse con la realidad, probablemente no lo hace.
Jimmy Hoffa

Respuestas:


16

El índice TIOBE se basa en los resultados de los motores de búsqueda: consulte http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm

Esto significa que (por ejemplo, en teoría) puede tener un lenguaje del que todo el mundo habla que tiene muchos éxitos y obtiene una calificación alta a pesar de que nadie lo usa, y puede tener un idioma que muchas personas están usando pero no hay muchas páginas web / visitas, por lo que obtiene una calificación baja. Ni siquiera tiene en cuenta lo que contienen las páginas web (por ejemplo, imagine un millón de páginas web que dicen que cierto idioma es espantoso, todo eso aumenta el índice TIOBE del idioma).

En teoría, los factores de ponderación tendrían que aplicarse para obtener el uso de los éxitos web / índice TIOBE. Por ejemplo, para un lenguaje complejo como C ++ (donde es probable que todos los que lo usan tengan uno o más libros de referencia) es probable que el uso sea más alto de lo que indica el índice TIOBE; y para los idiomas utilizados principalmente para el desarrollo web (donde la mayor parte de la documentación está generalmente en línea y es más probable que sus usuarios creen páginas web), el uso probablemente sea menor de lo que indica el índice TIOBE.

Por supuesto, es prácticamente imposible determinar con precisión las ponderaciones adecuadas para cada idioma; y, por lo tanto, el índice TIOBE solo puede considerarse una aproximación cruda del uso en el mejor de los casos.


32
"por ejemplo, imagine un millón de páginas web que dicen que cierto idioma es espantoso y que todo aumenta el índice TIOBE del lenguaje" : finalmente entiendo por qué PHP está entre los diez primeros.
Arseni Mourzenko

44
+1, y también sospecho que ciertos idiomas tienden a usarse más para experimentación / trabajo de fin de semana, y estos idiomas tendrán un número desproporcionado de búsquedas para su nivel de uso (es decir, si no lo usa todos los días, tiende para buscar más). Dicho esto, no creo que ese argumento sea particularmente aplicable a C. Más relevante podría ser que muchas búsquedas de C ++ terminan categorizadas como C debido a malentendidos / pereza del desarrollador.
Daniel B

16

"Si C no se usa tanto", me gustaría ver si alguien podría respaldar esto.

Todos los siguientes están escritos en C puro: -

  • El kernel de Linux.
  • El repositorio git.
  • MySql, PostgreSQL, bases de datos de código abierto SQLite.
  • Oracle, DB2, Informix, bases de datos propietarias SYBASE.
  • Grandes fragmentos del sistema operativo Windows.
  • El servidor web Apache, el servidor web ngnix.
  • Las implementaciones de referencia de lenguaje Perl, Python, PHP, Lua.

    En general, diría que hay más programas en C que se ejecutan con más frecuencia que cualquier otro lenguaje.


3
Muchos títulos de juegos AAA también.
Alan B

3
Esos son servicios básicos, codificados por un puñado de programadores expertos. ¿Qué pasa con el 'código de front-end'? Las aplicaciones para los usuarios? Una vez que los servicios principales de los que está hablando se codifican y depuran, se ejecutan, pero no hace nada con solo usarlos.
jokoon

2
Agregue a esto, la mayoría del control industrial, la mayoría de los sistemas integrados, la industria automotriz. El núcleo de todo lo escrito antes de 1995 (eso no es Cobol o Ada) .....
mattnz

1
Nitpick: De las 4 implementaciones de Python a nivel de producción, 3 no están escritas en C. De las tres implementaciones de PHP a nivel de producción, 2 no están escritas en C. La mayoría de las implementaciones de Git no están escritas en C.
Jörg W Mittag

@jokoon - Obviamente, el 'código de front-end' no es un requisito para estar en esta lista. Si su objetivo es averiguar qué idiomas aprender para trabajar, ¿tal vez sería mejor un sitio de trabajo?
JeffO
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.