C# hat keine Zukunft?
Hallo,
ich bin gerade in der Überlegung C# oder Java zu lernen und habe mich deswegen zu den Unterschieden informiert. Da kam ich zu einigen Blogbeiträgen/Newsartikeln, in denen es heißt: Microsoft wird C# ziemlich sicher mittelfristig einstellen, weil es keinen Vorteil gegenüber Java habe, der Markt eindeutig zeigt, dass sich Java weiterhin gut durchsetzt, Microsoft ohnehin Java unterstützen muss und es kaum Vorteile von C# auf Microsoft-Systemen gibt.
Hier mal ein Beispiel eines kurzen Artikels: https://www.embedded-software-engineering.de/die-uhr-tickt-warum-avision-den-umstieg-von-c-auf-java-empfiehlt-a-958704/
Kann mir dazu jemand, der sich etwas auskennt, sagen: Ist diese "Gefahr" wirklich real oder ist das eher zu vernachlässigen und ich sollte das nicht in meiner Entscheidung einfliesen lassen?
10 Antworten
Hier mal ein Beispiel eines kurzen Artikels: https://www.embedded-software-engineering.de/die-uhr-tickt-warum-avision-den-umstieg-von-c-auf-java-empfiehlt-a-958704/
Dieser Artikel ist in einiger Hinsicht unsinnig und fachlich zweifelhaft. Ein Körnchen Wahrheit steckt drin, aber nicht viel.
C# und Java haben sich in den letzten Jahrzehnten deutlich auseinander entwickelt - natürlich gibt es noch etliche Parallelen (C# war einst nicht viel mehr als ein Java-Klon), aber Einsatzgebiete und Sprachentwurf sind doch verschieden. C# hat sich in der Microsoft-Welt eine große Dominanz aufgebaut, nur außerhalb dieses Marktes hat es trotz heftiger Bemühungen und viel Hype relativ wenige Nischen erobert.
Richtig ist, dass Java (als Sprache und Laufzeitsystem) insgesamt sehr viel weiter verbreitet ist, sowohl in traditionellen Unternehmen wie auch Startups und heutigen Internetgiganten wie den FAANGs - aber auch dessen relativer Marktanteil geht zurück, weil ständig neue Sprachen und Laufzeitsysteme aufpoppen. Die Idee, dass es einmal die eine, alles vereinigende Sprache gibt, ist durch die Realität widerlegt worden.
Die beiden Sprachen haben gleiche Coderichtlinien, weisen eine ähnliche Syntax auf und es existieren bereits C#-zu-Java-Converter.
Das ist eine geradezu lächerlich naive Behauptung. Es geht in der Praxis nicht nur um die Sprachen, sondern viel mehr um die Bibliotheken/Frameworks und Laufzeitsysteme. Die stellt man nicht schnell mal per Konverter um...
Fazit: Lern das, was dich in den nächsten Jahren genug motiviert, um wirklich dranzubleiben und tiefes Wissen aufzubauen. Bei C# wären das z.B. Desktopanwendungen oder Spiele mit Unity. Es wird nicht verschwinden.
nur außerhalb dieses Marktes hat es trotz heftiger Bemühungen und viel Hype relativ wenige Nischen erobert.
Wobei sich das derzeit ändert - zumindest bei der Web-Entwicklung.
Bei der Desktop-Entwicklung fehlt noch das belastbare Framework von Microsoft selber, aber dafür steht ja MAUI am Start, bleibt abzuwarten, wie es sich entwickelt.
Ich kenne den Artikel, im myCSharp.de-Forum kam die Frage damals auch auf.
Der Artikel ist nicht nur unprofessionell ("C+ ist nun bald 20 Jahre alt."), sondern auch längst veraltet ("universeller Ansatz").
Kurz und knapp: Der Artikel ist grober Unfug.
Microsoft steckt gerade sehr aktiv Arbeit in C# und .NET und es ist derzeit beliebter denn je. Außerdem hat Immo Landwerth mal gesagt, dass Microsoft intern auch damit arbeitet.
Und auf den C# vs Java Streit will ich gar nicht eingehen, das ist ewig alt und auch da wieder: Die "Argumente" in dem Artikel stimmen einfach nicht.
Naja fehlende Unterstützung der Programmiersprache ist generell immer eine Gefahr.
Man verwendet heute auch kaum mehr ältere Sprachen außer bei Projekten die bereits damit begonnen wurden. Andere neue Sprachen sind aufgekommen und finden jetzt zunehmend Personen die sich dafür interessieren zB Rust.
Ich persönlich finde es also wichtiger sich immer auch mit anderen Sprachen zu beschäftigen anstatt nur eine einzige Sprache zu beherschen.
Was C# und Java angeht glaube ich schon dass die doch noch einige Zeit parallel existieren werden auch wenn am Ende das Ziel gleich ist. C# hat aber doch noch eine aktive Community und auch viele Projekte die darin geschrieben sind womit sie sicher nicht einfach innerhalb kurzer Zeit verschwinden wird.
Stimmt durchaus ist aber hald die Frage ob das Projekt ohne Microsoft dahinter nicht einschläft.
Gab meines wissens eine ähnliche Überlegung zB auch schon beim Linux Kernel. Die meisten Commits kommen von Firmen wie Microsoft, Google, Facebook usw und nur ein relativ geringer Teil aus der Community selbst.
Das Problem hast Du aber überall und nach der Logik wäre Java noch viel riskanter, denn da gibt es gar keine effektiv mitarbeitende Community und nicht mal den Quellcode.
Ich denke aber, dass die Community das Projekt zumindest am Leben halten kann, wenn auch nicht unbedingt weiterentwickeln.
Natürlich hat man das Problem überall steht ja auch so im ersten Satz meiner Antwort.
Ich würde keine der Beiden als Riskant bezeichnen. Solange genug Leute damit Programmieren und die Community dahinter lebt haben auch die Firmen ein bestehendes Interesse an der Sprache. Und das ist bei Java und C# gegeben.
Die Sprache verschwindet wenn beinahe niemand sie mehr verwendet.
nach der Logik wäre Java noch viel riskanter, denn da gibt es gar keine effektiv mitarbeitende Community und nicht mal den Quellcode.
???
Kann sein.
Aber, das wird nicht von einem Tag zum anderen irrelevant. Auch heute sucht man noch cobol Entwickler, da war die letzte Änderung in 1989...
Aber ich verrate dir einen Tipp, ist egal. Wenn du C# gut kannst, kannst du in dem Monat Java lernen. Wenn du Software Entwickeln kannst, ist eine neue Programmiersprache zu erlernen keine Mammutaufgabe. Kein Softwareentwickler kann nur eine Programmiersprache.
Java und C# sind grundsätzlich sehr ähnlich und unterscheiden sich nur im Detail. Wenn du (mindestens) zweigleisig fährst, machst du nichts falsch.
Es gibt aber auch noch haufenweise andere Programmiersprachen, die man zumindest mal gesehen haben sollte.
... und mittlerweile ist alles vom "neuen" .NET komplett opensource, zur Not könnte die Community also einfach selber weiter machen. In gewisser Weise kommt ja auch vieles aus der Community, viele Feature-Requests und Kommentare werden beachtet und manche entwickeln auch mit oder fixen Bugs.