Warum sinkt C# in allen Indizes?
In allen bekannten Indizes die die Popularität von Programmiersprachen messen sinkt C# seit etwa 2 Jahren bzw. stagniert seit längerer Zeit. Z.B. Tiobe https://www.tiobe.com/tiobe-index/ oder PYPL https://pypl.github.io/PYPL.html
Wie kommt das?
3 Antworten
Ich würd nicht sooo viel auf diese Indizes geben. Aber so allgemein...
- C# kann vieles ganz passabel, aber nix besonders gut. Die Sprache hat kein Alleinstellungsmerkmal, es gibt kaum zwingende Gründe sie zu verwenden. Heute werden aber nun mal dauernd Sprachen gehypt die irgendwas (angeblich) besonders gut können.
- Einige Projekte aus dem Umfeld sind ziemlich gefloppt, etwa das ganze Xamarin/Maui-Zeug. Das vertreibt sicher Leute, die nur deswegen die Sprache verwendet hätten.
- Generell finde ich die Qualität des C#-Ökosystems ziemlich schwach, die verfügbaren OSS Libraries sind oft sauschlecht, jedenfalls verglichen mit der Qualität von solchen bei Java oder Python.
- Die Sprache ist total überladen (persönliche Meinung), die kippen irgendwie planlos dauernd neue Features rein, das nervt. Die Sprache ist keine, die sich besonders elegant oder superproduktiv anfühlt.
Wie kommt das?
Wie bei allen irgendwelchen Manager-Gehirnen entsprungenen Metriken/Indizes liegt auch hier der Schlüssel darin zu verstehen:
- wie diese Metriken genau berechnet werden (und sich mit diesem Wissen bei Bedarf auch manipulieren ließen),
- dass sie sich vielleicht auf irgendwelchen Slides gut machen, aber oft wenig praktische Aussagekraft haben, und
- dass solche Metriken (besonders wenn sie im beruflichen Umfeld verwendet werden) auch immer die ungute Tendenz entwickeln, gegen einen Zustand zu konvergieren, in dem sie hauptsächlich um ihrer selbst Willen existieren, erhoben und als allgemeingültige Wahrheit propagiert werden, gegen die das, was ursprünglich nur gemessen werden sollte, plötzlich optimiert werden muss. Was im beruflichen Umfeld dann typischerweise dazu führt, dass die Leute anfangen, um die Metriken mit allen möglichen Tricks herum zu bauen und gegen diese zu optimieren, um möglichst gut dazustehen. Womit sich der Kreis zu 1. schließt.
Wobei sich all diese Punkte natürlich stark gegenseitig bedingen.
Danke für die interessanten Links.
Ich denke, es ist eine Sache der Mode. Jemand sagt, machen wir etwas. Und dann ist diesem Jemand C# zu komplex oder zu alt. Dann wechselt die Gruppe. Oder jemand will etwas machen und sucht Codeschnipsel. Die sind in Java verfügbar, nicht in C#
uvam.
Eine Programmiersprache wählt man wohl am ehesten danach, wie viel Vorgefertigtes es dazu gibt, also nach den Bibliotheken, die man für sein konkretes Projekt mit wenig Aufwand verwenden kann.