Warum ist C im TIOBE-Index so beliebt, während C ++ auch hier knapp, aber nicht so beliebt ist? [geschlossen]

18

Ich kann das nicht verstehen. Wenn C so häufig verwendet wird, aber C nicht C ++ ist, kann mir jemand die wichtigsten Gründe erklären, die C häufiger verwendet als C ++? Woher kommt dieser ganze C-Code?

Geht es um den Industriesektor, der stark auf zwingende Programmierung angewiesen ist, aber die Kosten für die Implementierung oder Optimierung von C ++ - Compilern nicht tragen kann? Gibt es so viele Kernel-Hacker?

Ist tiobe relevant? Ich bin nie auf einen Artikel oder Beitrag gestoßen, in dem ich kommentiert oder erklärt habe, wie einzigartig das Ranking von Tiobe ist, was die Branche tatsächlich mag und was sie darüber aussagt, was die Branche tatsächlich nutzt, um die tatsächlichen Bedürfnisse der Branche zu bestimmen. Es ist schwer zu erklären.

Ich finde es einfach seltsam, dass viele Unternehmen C # -, PHP-, Java-Jobs und keine C- oder C ++ - Jobs wollen (ich beziehe hier nur meine Arbeitslosigkeit und meine Interviews), auch wenn diese C / C ++ - Jobs Mist sind. Ich würde diese stattdessen nehmen. Oder spielt der Sprachrummel hier eine große Rolle?

jokoon
quelle
18
Is tiobe relevant ?Viele Leute denken, dass es nicht ist.
Simon Bergot
1
Ich würde es nur verwenden, um festzustellen, welche zehn Sprachen wahrscheinlich aktiv verwendet werden. Der Rang im Tiobe-Index hängt nicht mit der tatsächlichen Popularität zusammen.
Martin York
4
In C wird viel eingebettetes Programmieren durchgeführt. Es geht nicht nur um die Kosten für die Implementierung / Optimierung von C ++ - Compilern. Es sind die Kosten für die Ausführung von C ++ auf dem eingebetteten Gerät.
Velociraptors
5
C ist viel weniger komplex als C ++.
Fanl
8
Der TIOBE-Index ist eine unterhaltsame Messung. Es macht insofern Spaß, als wir alle Ingenieure sind, und wir finden Messungen lustig, weil wir sie grafisch darstellen und uns darauf basierende Vorhersagen und Schlussfolgerungen vorstellen können. Aber wir wissen auch, dass Dinge, die so umfassend und komplex sind, wie der tatsächliche Gebrauch und die Popularität einer Sprache, noch keine Dinge sind, die wir überhaupt mit Genauigkeit messen können. TIOBE macht also Spaß, aber wo es nicht mit der Realität in Einklang zu stehen scheint, ist es wahrscheinlich auch nicht so.
Jimmy Hoffa

Antworten:

16

Der TIOBE-Index basiert auf Suchmaschinen-Treffern - siehe http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm

Dies bedeutet, dass Sie (zum Beispiel theoretisch) eine Sprache haben können, von der jeder spricht, die viele Treffer hat und eine hohe Bewertung erhält, obwohl sie von niemandem verwendet wird, und Sie können eine Sprache haben, die viele Leute verwenden Es gibt jedoch nicht viele Webseiten / Zugriffe, sodass die Bewertung niedrig ist. Dabei wird nicht einmal berücksichtigt, was die Webseiten enthalten (stellen Sie sich beispielsweise eine Million Webseiten vor, die sagen, dass eine bestimmte Sprache furchtbar ist, was den TIOBE-Index der Sprache erhöht).

Theoretisch müssten Gewichtungsfaktoren angewendet werden, um die Verwendung von Web-Hits / TIOBE-Index zu erhalten. Bei komplexen Sprachen wie C ++ (bei denen jeder Benutzer wahrscheinlich ein oder mehrere Nachschlagewerke verwendet) ist die Verwendung wahrscheinlich höher als im TIOBE-Index angegeben. und für Sprachen, die hauptsächlich für die Webentwicklung verwendet werden (wobei der größte Teil der Dokumentation normalerweise online ist und die Benutzer mit größerer Wahrscheinlichkeit Webseiten erstellen), ist die Nutzung wahrscheinlich geringer als im TIOBE-Index angegeben.

Natürlich ist es praktisch unmöglich, die richtigen Gewichtungen für jede Sprache genau zu bestimmen. und daher kann der TIOBE-Index bestenfalls als grobe Annäherung an die Nutzung angesehen werden.

Brendan
quelle
32
"Stellen Sie sich zum Beispiel eine Million Webseiten vor, die sagen, eine bestimmte Sprache sei schrecklich, dass alle den TIOBE-Index der Sprache erhöhen" : Endlich verstehe ich, warum PHP in den Top Ten liegt.
Arseni Mourzenko
4
+1, und ich vermute auch, dass bestimmte Sprachen eher für Experimentier- / Wochenendarbeiten verwendet werden, und diese Sprachen werden unverhältnismäßig oft nach ihrer Verwendungsstufe durchsucht (dh wenn Sie sie nicht jeden Tag verwenden, tendieren Sie dazu) um mehr zu suchen). Das heißt, ich glaube nicht, dass dieses Argument besonders auf C zutrifft. Relevanter könnte sein, dass viele C ++ - Suchanfragen aufgrund von Missverständnissen / Faulheit der Entwickler als C eingestuft werden.
Daniel B
16

"Wenn C nicht so häufig verwendet wird" - Ich würde gerne sehen, ob dies von irgendjemandem gesichert werden kann.

Alle folgenden sind in reinem C geschrieben: -

  • der Linux-Kernel.
  • das Git-Repository.
  • MySQL, PostgreSQL, SQLite Open Source-Datenbanken.
  • Eigene Datenbanken von Oracle, DB2, Informix, SYBASE.
  • Große Teile des Windows-Betriebssystems.
  • Der Apache-Webserver, der ngnix-Webserver.
  • Die Referenzimplementierungen für Perl, Python, PHP und Lua.

    Alles in allem würde ich sagen, dass es mehr C-Programme gibt, die öfter ausgeführt werden als jede andere Sprache.

James Anderson
quelle
3
Nicht wenige AAA-Spieletitel.
Alan B
3
Dies sind Kerndienste, die von wenigen erfahrenen Programmierern programmiert werden. Was ist mit "Front-End-Code"? Die Anwendungen für Benutzer? Sobald die Kerndienste, über die Sie sprechen, codiert und debuggt sind, werden sie ausgeführt, aber Sie tun nichts, indem Sie sie nur verwenden.
jokoon
2
Hinzu kommen die meisten Industriesteuerungen, die meisten eingebetteten Systeme und die Automobilindustrie. Der Kern von allem, was vor 1995 geschrieben wurde (das ist nicht Cobol oder Ada) .....
Mattnz
1
Nitpick: Von den 4 Python-Implementierungen auf Produktionsebene sind 3 nicht in C geschrieben. Von den drei PHP-Implementierungen auf Produktionsebene sind 2 nicht in C geschrieben. Die Mehrheit der Git-Implementierungen ist nicht in C geschrieben.
Jörg W Mittag
@jokoon - Offensichtlich ist 'Front-End-Code' nicht erforderlich, um auf dieser Liste zu stehen. Wenn Sie herausfinden möchten, welche Sprachen Sie für eine Anstellung lernen müssen, ist eine Baustelle vielleicht besser?
JeffO