Traue keiner Statistik …

Babel-Bulletin  –  78 Kommentare

Das nenne ich einen Blickfang. Da stöbert man ganz harmlos durch den heise Developer und stößt dort auf die Titelzeile "C löst Java als Nummer 1 ab". Das macht neugierig. Habe ich mich doch zuletzt mit Java ganz wohl gefühlt. Darüber hinaus hatte ich nach über zehn Programmierjahren mit C eigentlich nicht vor, mich noch einmal damit herumzuschlagen.

In diesem Artikel stand dann sinngemäß, dass C im April 2010 wieder an der Spitze der am häufigsten verwendeten Programmiersprachen im TIOBE Programming Community Index stehe und Java auf Platz 2 verwiesen habe. Die Betreiber des Index äußern sich zu ihrem Produkt, dass es nichts über die Qualität einer Programmiersprache aussage, der Index spiegele lediglich wider, wie stark eine Sprache verbreitet ist. Höchst interessant. Denn wer will nicht wissen, wie beliebt "seine" Programmiersprache im Vergleich zu anderen ist.

Diesen Index gibt es anscheinend schon seit Juni 2001 und er zeigt dementsprechend in einer Grafik überlagert das Ranking der "long term trends for the top 10 programming languages". Das klingt viel versprechend. Allerdings zeigt er tatsächlich nur an, wie viele Treffer die Suchmaschinen liefern, wenn man den Suchbegriff + "blabla programming" eingibt. Dabei steht 'blabla' für eine von zurzeit fünfzig fest definierten Sprachen. Nimmt man beispielsweise die Suchergebnisse von "C programming" und "Java programming", so erhält man 2.979.000 beziehungsweise 2.950.000 Treffer. Und deshalb steht die Programmierung mit C im Index höher als die mit Java.

Auf den Tiobe-Seiten findet sich – wie auch die Aussagen darüber, dass der Index nichts über die "beste" Programmiersprache sagt und keine Rückschlüsse auf die Anzahl der Code-Zeilen zulässt – wozu man den Index verwenden könnte: "The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system."

Das ist ziemlich gewagt. Das hieße ja, dass man bei Neustart eines Projekts neben dem Einsatz von Java (Platz 2; 18,051 %), C++ (Platz 3; 9,707 %), PHP (Platz 4; 9,662 %), Visual Basic (Platz 5; 4,435 %) oder C# (Platz 6; 4,435 %) eben auch C (Platz 1; 18,058 %) in Betracht ziehen müsste. Kann man machen, aber bevor man das tut, sollte man sich vielleicht noch die folgenden Daten ansehen.

Gibt man beispielsweise nur den Begriff 'C' ein, so erhält man gegenüber 'Java' mit "nur" 201 Millionen Einträgen sage und schreibe 3270 Millionen Treffer. Während Java im Wesentlichen nur mit der Insel zu kämpfen hat, muss C mit C&A, dem c't-Magazin, der Citigroup, der Handschrift C des Nibelungenliedes, dem Copyright in der Form (c), dem dritten Buchstaben im Alphabet und nicht zuletzt mit jedem, dessen Name sich mit C abkürzen lässt, konkurrieren.

Dieses Problem ist denen bei Tiobe auch bewusst, und so versuchen sie das in den Griff zu bekommen, indem sie die ersten hundert Treffer auf ihre Brauchbarkeit hin testen. Der Prozentsatz aus C-relevanten Treffern wird dann als Korrekturfaktur zur Gesamtberechnung hinzugezogen. Von den ersten zwanzig Suchergebnisse nach C hatten nur neun mit der Programmiersprache zu tun, wovon drei auch mit C++ zu tun hatten. Damit käme man auf einen Korrekturfaktor von knapp 50 Prozent. Von den Einträgen 101 bis 120 hat allerdings nur noch ein einziger mit der Programmiersprache C zu tun, was nur noch 5 Prozent entspricht.

Die Wahl des Suchbegriffes scheint also sehr wichtig für die Qualität der Daten zu sein. Gibt man nämlich den Begriff "C Programmierung" oder das Java-Pendant ein, so erhält man bei Google 42.100 beziehungsweise 73.500 Treffer. Die Suche nach "C programmieren" und die entsprechende Java-Variante liefern 15.600 beziehungsweise 9.400 Ergebnisse. Auch die Abfrage nach "c program" und "java program" eröffnen mit 8.480.000 und 821.000 Ergebnissen völlig neue Möglichkeiten für Spekulationen jedweder Art.

Die Daten, die sich im letzten Beispiel sogar um eine Größenordnung (!) unterscheiden, zeigen ziemlich deutlich, dass die Daten nicht stabil genug sind, um irgendwelche Schlüsse daraus zu ziehen. Das dieses Verfahren mehr oder weniger unbrauchbar ist, wird sogar auf der Tiobe-Seite selbst im Zusammenhang mit dem Einbruch bei Java Anfang 2004 beschrieben. Hier wird Google als Grund für die Änderung angegeben: "No, we did not change our methodology at that time. Google changed its methodology. They performed a general sweep action to get rid of all kinds of web sites that had been pushed up". Dies veranlasste die Sammler dazu, noch andere Suchmaschinen hinzuzuziehen, um Probleme dieser Art zukünftig nicht mehr zu haben.

Problematisch ist auch, dass keine Aussagen darüber gemacht werden, von welcher Art die gefundenen Dokumente sind. Handelt es sich dabei beispielsweise meistens um Fragen und Antworten in irgendwelchen Foren, so würden also genauso viele C- wie Java-Programmierer Fragen stellen und diese beantworten. Gäbe es mehr C- als Java-Entwickler könnte man der Versuchung erliegen zu glauben, die C-Fraktion sei im Verhältnis klüger als die Java-Fraktion, denn prozentual würden ja mehr Java-Programmierer Fragen stellen.

Darüber hinaus stellt sich natürlich die Frage, ob eine solche Abbildung der Häufigkeit von Webseiten auf die Anzahl Entwickler überhaupt zulässig ist. Unter der Annahme, dass diese Verknüpfung korrekt ist, müsste man doch auch aus der Anzahl von Webseiten über einen bestimmten Kinofilm auf die Besucherzahl schließen können. Beispielsweise finden sich über James Camerons Titanic 1,27 Mio. und seinen Avatar 11,5 Mio. Seiten. Daraus müsste man dann ja auch ableiten können, dass Avatar von zehnmal so vielen Menschen gesehen wurde. Und das ist insbesondere im Hinblick auf das Erscheinungsjahr (Titanic 1997, Avatar 2009) höchst unwahrscheinlich.

Der Tiobe Index ist damit ein "schönes" Beispiel dafür, wie man mit Scheinakkuratesse Daten glaubwürdig und plausibel darstellen kann. Darüber hinaus scheinen diese grafisch sehr hübsch aufbereiteten Zahlen das Bedürfnis nach dem Wissen um Verbreitung und Popularität in unserer Branche derart zu befriedigen, dass selbst ein renommierter Verlag wie der Heise Verlag sich dazu hinreißen lässt, sie zu bringen.

Alles in allem sagt der Index also eigentlich nur genau eines aus, nämlich wie oft Seiten mit der jeweils gesuchten Zeichenkette in den verschiedenen Suchmaschinen indiziert werden. Das ist vielleicht interessant, aber für wie auch immer geartete Schlussfolgerungen oder etwaige strategische Entscheidungen höchstgradig irrelevant. Tendenziell unbrauchbar – aber als Werbemaßnahme ungeschlagen. Und dazu habe selbst ich mit dem Link auf deren Seite zu meinem großen Bedauern einen Beitrag geleistet …