Java vs C#: Welche Sprache eignet sich besser für Backend-Entwicklung?


27.01.2023, 13:21

Wie schauts mit Bezahlung aus verdient man mit beiden Programmiersprachen ca. gleich viel oder gibt's da krasse Unterschiede. Konnte online nichts Valides finden. Die Stellenausschreibungen sind da auch echt wage. Also von 30.000 Euro im Jahr zu teilweise 50.000 Euro im Jahr ist alles dabei. Selbst wenn man nur nach Stellen sucht, die explizit für Junior Developer gedacht sein sollen.

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich persönlich denke C# ist eher die Sprache die moderne Entwicklungen verfolgt, gerade im Webbereich mit asp.net (core). Die Frameworks die Microsoft liefert sind relativ gut.

Auch wenn du kein Frontend machen willst ist so was wie Blazor auch einfach von der Technologie her ganz cool.

C# schneidet bei der Stackoverflow Developer Survey bei Beliebtheit auch leicht besser ab, dafür ist Java etwas mehr verbreitet.

Früher war C# eben sehr stark auf Microsoft/Windows fokusiert, was natürlich ein sehr großer Nachteil ist weil Leute die Windowsserver freiwillig einsetzen ist nicht zu helfen. Aber seit .net core und auch seit Microsoft selber mehr auf Linux fokusiert ist das durchaus besser geworden. Auch hier stimmt die Richtung.

Aus den DMs in meinem (mittlerweile gelöschten) Xing Account kann ich auch schließen, dass C# gefragt ist. Java durchaus aber auch.

An sich wirst du aber rein von den Programmierskills in beiden Kursen ungefähr das selbe lernen. Klar steht dann auf deinem Zertifikat halt eben die eine oder andere Sprache aber die Kernthemen die du lernst sind grundsätzlich in beiden Sprachen ähnlich.


agent007697 
Fragesteller
 27.01.2023, 13:27

hey wollt deine Meinung nur zu dem Kommentar oben wissen was du dazu denkst

"Wie schauts mit Bezahlung aus verdient man mit beiden Programmiersprachen ca. gleich viel oder gibt's da krasse Unterschiede. Konnte online nichts Valides finden. Die Stellenausschreibungen sind da auch echt wage. Also von 30.000 Euro im Jahr zu teilweise 50.000 Euro im Jahr ist alles dabei. Selbst wenn man nur nach Stellen sucht, die explizit für Junior Developer gedacht sein sollen"

0

Bezogen auf den Karriereweg sollte es keinen Unterschied machen, für welche Technologie du dich nun entscheidest. Sowohl C# als auch Java sind sehr populär und decken viele ähnliche Anwendungsgebiete (wie die Webentwicklung) ab. Man kann mit beiden Technologien im Gepäck einen Arbeitsplatz mit guter Bezahlung finden.

Java wurde als plattformunabhängige, portable Technologie konzipiert. Das heißt, du kannst Programme für jedes System entwickeln, zu dem es auch eine JVM gibt (und diese Liste ist nicht kurz). Erwähnenswert in diesem Zusammenhang ist lediglich, dass Apple schon seit Jahren iOS vor Java abschottet. Wenn man mit Java also Programme für iOS entwickeln möchte, klappt das derzeit nur über entsprechende Umwege (z.B. via Plugin-Einbindung in ein Swift-Projekt oder indem man das Java-Projekt via AOC kompiliert).

Der Hauptfokuspunkt für Java liegt in der Webentwicklung (E-Commerce und Enterprise-Applikationen) sowie im Businesssektor (Finanz- und Bankwesen, Datenverwaltung z.B. für Big Data). Auf mobilen Endgeräten (Android OS) oder für IoT/Smart Home-Technologien (z.B. Lichtschalter, Staubsauger, ...) kann man ebenso Java-Programme finden, wobei man hinzufügen sollte, dass Kotlin dabei ist, Java auf Android zu verdrängen.

C# wiederum wird schon aufgrund seiner Historie öfter im Microsoft-Umfeld verwendet. Technisch ist die Sprache trotzdem nicht auf dieses OS beschränkt. Inwiefern eine weitere, tatsächliche Verbreitung auf andere Systeme (Linux, Mac, ...) gelingt, wird die Zeit zeigen. Entsprechende Schritte hat Microsoft bereits vor Jahren eingeleitet, indem das .NET-Kernframework neu implementiert wurde. Aktuell ist man damit beschäftigt, mit dem neuen MAUI-Framework eine Lösung zu etablieren, mit der man GUI-Anwendungen für verschiedene OS (iOS, Android, macOS, Windows) entwickeln kann, ohne dafür die Codebasis wechseln zu müssen.

Solltest du im Übrigen in Erwägung ziehen, in die Spielebranche einsteigen zu wollen, wäre C# die bessere Wahl gegenüber Java. Die Sprache hat sich in diesem Sektor zunehmend ausgebreitet, beliebte Tools wie die Unity Engine oder Godot nutzen/unterstützen sie.

Wenn man die Sprachen in ihrer Syntax miteinander vergleicht, wird man in C# mehr syntaktischen Zucker sowie Einflüsse funktionalen Stils finden, als in Java. Beispielhaft kann man da Expression bodies, top level statements, null coalescing operators oder Properties anführen, mit denen sich der Code erheblich kürzen lässt.

Java wirkt im Gegensatz dazu in seiner Formulierung strikter und behäbiger. In den letzten Jahren hat sich zwar auch bei Java wirklich viel getan, doch mit dem immensen Einbau neuer Features, wie man sie in modernen Sprachen (wie Kotlin oder Scala) findet, tut man sich etwas schwerer.

Das muss man nun nicht sofort als Nachteil werten. Das Entwicklungsteam ist sehr darauf bedacht, das ursprüngliche Konzept zu wahren (Java wurde als reine, strikt typisierte OOP-Sprache ausgelegt). Auf der anderen Seite sind tiefgreifende Änderungen nicht unbedingt einfach. Der Unterbau ist historisch gewachsen und an der Entwicklung von Java sind verschiedene Parteien und Interessenshalter involviert.

Einen weiteren Faktor spielt der Lizenzhalter für die Java-Marke. Oracle verdient mit Java zwar auch Geld, doch es ist nicht deren Haupteinnahmequelle. Das bisherige Verhalten des Unternehmens (z.B. der Rechtsstreit mit Google um die Nutzung von Java auf Android OS) ist m.E. ein Grund, wieso sich andere Technologien wie Kotlin weiter verbreiten.


agent007697 
Fragesteller
 27.01.2023, 13:21

Wie schauts mit Bezahlung aus verdient man mit beiden Programmiersprachen ca. gleich viel oder gibt's da krasse Unterschiede. Konnte online nichts Valides finden. Die Stellenausschreibungen sind da auch echt wage. Also von 30.000 Euro im Jahr zu teilweise 50.000 Euro im Jahr ist alles dabei. Selbst wenn man nur nach Stellen sucht, die explizit für Junior Developer gedacht sein sollen.

0
regex9  27.01.2023, 15:30
@agent007697

Das mögliche Gehalt ist mehr von Branche und Region abhängig. Ein Entwickler, der beispielsweise an der Entwicklung/Wartung von Tradingsystemen für Bankunternehmen tätig ist, verdient in der Regel mehr als ein Spieleentwickler.

Bei einem Pauschalvergleich (Durchschnittsgehalt von Java- und C#-Entwicklern, unabhängig von Region und Branche) liegen beide nicht weit auseinander. Global betrachtet ist die mögliche Gehaltsspanne mit .NET etwas höher, bezogen auf den Standort Deutschland liegt Java vorn. Ich beziehe mich hierbei auf einen ungefähr zwei Jahre alten Wissensstand, sowie Daten wie diesen:

0