Jump to content

Empfohlene Beiträge

Java und C# sind mächtige und vergleichbare Programmiersprachen. Welche der beiden Sprachen ist in der IT-Arbeitswelt weiter verbreitet? Ich würde mal auf Java tippen, da in der Webentwicklung sehr viele Tools rund um die Java-Plattform existieren. Wie sind eure Erfahrungen?

(Mir ist klar, dass wer eine der beiden kann, die andere schnell lernt. Aber darum soll es hier nicht gehen)

bearbeitet von Roxy22

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Du kannst froh sein, diese Frage hier gestellt zu haben. Anderswo hättest du wohl gerade eine verbale Schlacht losgetreten von Anhängern der Kaffeetasse und den dotnet Leuten die scharf sehen.

Welche Frage du dir eher stellen solltest: Welche Sprache ist in meiner Umgebung vertreten. 

Java und C# sind beide etablierte Sprachen, die sich weiterentwickeln und eine immense Community haben. Beide Sprachen wird es sicherlich noch Jahrzehnte geben. Und sollte dies nicht so sein, so wird Microsoft bzw.  Oracle eine Nachfolgersprache entwickeln (SWIFT bei Objective C...obwohl man OC nicht so schnell ersetzen wird) du die schnell erlernen wirst. Beide Sprachen sind auf den verschiedensten Bereichen anwendbar.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Auch wenn der letzte Satz von @KeeperOfCoffee nur beiläufig dazustehen scheint, ist er meiner Meinung nach der wichtigste, den Du dir merken solltest. Möchtest Du z. B. für ADFS irgendwelche Connectoren entwickeln, bist Du mit Java falsch beraten. Willst Du in einer Tomcat-Umgebung ein Portal einrichten, wäre C# keine besonders kluge Wahl.

Man wählt das passende Werkzeug zur vorhandenen Aufgabe und nicht die passende Aufgabe zum vorhandenen Werkzeug.

Wenn es um neu lernen geht, würde ich daher zunächst schauen "Wo will ich hin?" und dann in Abhängigkeit ob das der Nil oder die Route 66 ist: "Nehme ich dafür lieber das Boot oder das Auto?"

bearbeitet von Kwaiken

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich würde mir - angelehnt an Kwaiken - folgende Fragen stellen, bevor Du dies für Dich beantworten kannst:

  • Was gefällt Dir besser?
  • Wo willst Du beruflich hin?

Mir gefällt z.B. das technologische Umfeld im Bereich .NET um Längen besser als das im Java-Umfeld. Von daher bin ich persönlich gewillt, mich so lange es geht für .NET zu entscheiden. Im Zweifel auch Nachteile dafür in Kauf zu nehmen. z.B. sind .NET Stellen hier in der Region seltener, wie meist etwas schlechter bezahlt, als vergleichbare Java Posten. Das ist es mir aber wert, weil mir Java deutlich weniger Spaß macht. Wäre das anders, wäre bei uns die letzten Jahre Java die bessere Wahl. 

Diese Fragen kannst nur Du Dir beantworten. :)

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 1 Minute schrieb Errraddicator:
  • Was gefällt Dir besser?
  • Wo willst Du beruflich hin?

Diese Fragen kannst nur Du Dir beantworten. :)

Eine Einschätzung dieser Fragen ist für einen Anfänger/Umschüler (TE ist laut einem anderen Thread Umschüler) aber meist recht schwer. Manche Leute nutzen Monate Sprache X um dann erst die Schwierigkeiten festzustellen bzw. was ihnen nicht gefällt.

Persönlich finde ich, dass sich C# und Java sich nicht viel nimmt.  Er sollte evlt. mal gucken, was er denn in seinem Umfeld in der Umschulung lernt. Wenn er C# kann, sollte er sowieso keine großen Probleme mit Java haben und vice versa.

Aber das kommt drauf an, was er eigentlich genau machen will. Will er z.B. ins Web muss er ja noch ganz andere Sachen lernen usw.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Das ist grundsätzlich richtig.

Aber beide Sprachen inkl. IDE´s sind frei verfügbar und schnell zu besorgen. Es spricht also nix dagegen, sich mal 2 Wochenenden zu nehmen, sich 1 WE mit C# und 1 WE mit Java zu beschäftigen und jeweils kleinere Desktop-Applikationen z.B. zu entwickeln. Noch besser natürlich, sollte man auf der Arbeit die Möglichkeit dazu haben, sich die Zeit zu nehmen.

So bekommt man zumindest ein grundlegendes Gespür dafür, welche Sprache sich wie verhält. Mir hat C# - wie gesagt - schon immer besser gefallen, als Java. Das merkt man schon an der IDE (Eclipse z.B: vs. Visual Studio) und somit zu Beginn. Da ist die eigene Erfahrung essenziell, wenn man mich fragt.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 9 Minuten schrieb Sheldor:

Ist zwar richtig aber sowohl Java als Webplattform als auch ASP.NET verlieren ihre Bedeutung im Web, da der Trend Richtung Single Page Applications (SPAs) und Web-APIs geht. Im Frontend-Bereich werden dann JavaScript-Frameworks wie z.B. AngularJS oder React eingesetzt und im Backend ist es dann egal, welche Sprache man nimmt. Man ist dort nicht mehr so auf ein Technologie-Stack beschränkt, sondern kann das einsetzen, was am Besten für eine Situation ist. Das Frontend lässt sich dann auch leicht gegen eine andere Technologie austauschen, da die UI explizit vom Technologie-Stack der Logik getrennt wird. Dies ist bei ASP.NET oder JavaServer Pages nicht möglich.

Ich persönlich finde ASP.NET und Java Server Pages für kleine Applikationen zu schwergewichtig und für größere Applikationen, bei denen z.B. Nebenläufigkeiten (z.B. aufgrund von langen Berechnungszeiten) wichtig sind, ungeeignet. Auch verbraten diese Technologien sehr viel Rechenkapazitäten beim Rendern vom HTML, was auch der Client übernehmen könnte, was eben ein weiterer Vorteil von SPAs ist. 

Um auf das Topic zurückzukommen:
Ich denke auch, dass Java derzeit noch mehr verwendet wird. Vor allem weil auch für Android Java verwendet wird aber Java ist mit seinen Sprachfeatures schon etwas rückständig. C# holt da gerade massiv auf, weil es nun dank .Net Core auch Crossplattform-tauglich wird und es unterstützt auch self-containing, sodass man nicht mal mehr das .Net-Framework installieren braucht, sondern die erforderlichen .Net-Komponenten können gleich in die Binärdatei gepackt werden. 

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 3 Stunden schrieb Errraddicator:

Ich würde mir - angelehnt an Kwaiken - folgende Fragen stellen, bevor Du dies für Dich beantworten kannst:

  • Was gefällt Dir besser?
  • Wo willst Du beruflich hin?

 

vor 3 Stunden schrieb KeeperOfCoffee:

Eine Einschätzung dieser Fragen ist für einen Anfänger/Umschüler (TE ist laut einem anderen Thread Umschüler) aber meist recht schwer. Manche Leute nutzen Monate Sprache X um dann erst die Schwierigkeiten festzustellen bzw. was ihnen nicht gefällt.

Mir geht's in erster Linie darum, wie der "Markt" in diesem Bereich aussieht, sprich: welche Sprache wird in Stellenausschreibungen mehr nachgefragt. Mein persönlicher Eindruck ist, dass Java häufiger nachgefragt wird als C#, ohne C# und das .NET Framework abwerten zu wollen.

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 17 Stunden schrieb Roxy22:

Mein persönlicher Eindruck ist, dass Java häufiger nachgefragt wird als C#, ohne C# und das .NET Framework abwerten zu wollen.

Dem kann ich nicht zustimmen. Die Stellenausschreibungen, die ich so gesehen habe,waren eigentlich immer sehr ausgeglichen zwischen Java und .NET.

Aber was bringt es dir zu wissen, was mehr gefragt wird? Zumal nunmal beide sehr gefragte Programmiersprachen sind. Wenn du danach gehst, kann man auch sagen, dass sehr viele Stellen für die Webentwicklung ausgeschrieben sind. Die Bezahlung in dem Bereich ist aber bei den meisten dieser Stellen weitaus schlechter als z.B. bei ABAP (SAP), auch wenn dort weniger Ausschreibungen zu finden sind.

Letzten Endes bist du mit beiden Sprachen gut aufgestellt, wenn du sie entsprechend gut beherrschst.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Aus meiner sicht ist es wurst welche sprache, du solltest dich lieber mit den konzepten der Programmierung auskennen. Der rest ist syntachs. Die sprachen sind relativ gut austauschbar, wenn man die grundlagen von OOP, Pattern und so weiter verstanden hat.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 1 Stunde schrieb Hellspawn304:

Die sprachen sind relativ gut austauschbar, wenn man die grundlagen von OOP, Pattern und so weiter verstanden hat.

Das geht auch nur bis zu einem gewissen Grad. Klar, kann ich auch "Java" (lesen, schreiben, ...). Das heißt aber nicht, dass ich produktionsfähige Java-Anwendungen entwickeln kann - zu einer Sprache gehört eben auch die Umgebung mit ihren Frameworks, Idiomen und best practices. Das lernt man nur, indem man da jahrelang mit arbeitet.

Ein Umstieg von JSP auf ASP.NET ist eben nicht "mal so" gemacht. Swing und WPF sind auch nicht das gleiche.

Grundsätzlich habe ich auch das Gefühl, dass Java noch stärker nachgefragt wird, als .NET. Habe aber auch keine Statistiken dazu - außer den üblichen Dingen wie Stack Overflow Survey, welche aber für den deutschen Markt nur begrenzt aussagekräftig ist.

bearbeitet von arlegermi

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 9 Minuten schrieb arlegermi:

Das geht auch nur bis zu einem gewissen Grad. Klar, kann ich auch "Java" (lesen, schreiben, ...). Das heißt aber nicht, dass ich produktionsfähige Java-Anwendungen entwickeln kann - zu einer Sprache gehört eben auch die Umgebung mit ihren Frameworks, Idiomen und best practices. Das lernt man nur, indem man da jahrelang mit arbeitet.

Es sind ja nicht nur die Frameworks. Auch objektorientierte Sprachen folgen nicht immer den gleichen Konzepten. Es gibt auch objektorientierte Sprachen, die klassenlos sind, wie z.B. JavaScript. Da reicht es nicht, einfach die Syntax zu lernen, wenn man aus der Java- oder C#-Welt kommt.  Eine Unterart der Objektorientierung ist ja noch die aspektorientierte Programmierung, wie z.B. AspectJ. Wenn man sich hingegen PHP anschaut, dann ist es eher eine Mischung aus OOP und prozeduraler Programmierung.

Auch gibt es noch weitere Paradigmen, außer Objektorientierung, wie z.B. funktionale Programmierung. Da kommt man mit OOP überhaupt nicht weit. Beispiele wären dafür z.B. F# oder Haskell. Dann gibt es sogar Sprachen, die OOP und funktionale Programmierung mischen, wie z.B. Scala.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Das ist ein wichtiger Punkt. Es ist das Eine als Arbeitnehmer zu sagen "Ich kann C#, also kann ich auch Java lernen". Mag stimmen. Nur bringt Dir das wenig, wenn die Arbeitgeber sagen "Schön, dass Du das lernen kannst. Ich suche aber jemanden, der es bereits gelernt hat. Next, please!".

Außerdem wurde korrekt angesprochen, dass bei Java/C# nur die Basics vergleichbar sind. Sobald es um Frameworks, Bibliotheken und Co. geht, reden wir schnell von Unterschieden wie Tag und Nacht. Genau diese Frameworks machen aber den Unterschied zwischen Job ja und nein. Da reicht es häufig aus, im korrekten Umfeld auf das falsche Framework gesetzt zu haben und man ist raus aus der Wahl.

Wenn man dann noch nicht einmal im korrektem Umfeld tätig war, kommt das einem NC beim Studium gleich. 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 1 Stunde schrieb Errraddicator:

Genau diese Frameworks machen aber den Unterschied zwischen Job ja und nein. Da reicht es häufig aus, im korrekten Umfeld auf das falsche Framework gesetzt zu haben und man ist raus aus der Wahl.

Kannst du ein paar Beispiele nennen?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Einige wurden weiter oben genannt.

Wenn ein Unternehmen z. B. einen C# WPF-Entwickler sucht, bringen Dir Kenntnisse in WinForms wenig.  Ähnlich bei ASP.NET vs. WCF vs. Web API. Obwohl alles C# mit Visual Studio ist.

Ähnlich ist es bei Java. Da gibt es JSP, JSF, JavaFX, Swing, J2EE, Hibernate, Spring und tausend andere Frameworks, welche über Ja oder Nein entscheiden können.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 19 Stunden schrieb Errraddicator:

Das ist ein wichtiger Punkt. Es ist das Eine als Arbeitnehmer zu sagen "Ich kann C#, also kann ich auch Java lernen". Mag stimmen. Nur bringt Dir das wenig, wenn die Arbeitgeber sagen "Schön, dass Du das lernen kannst. Ich suche aber jemanden, der es bereits gelernt hat. Next, please!"

Da sollte man dann aber auch unterscheiden, was für eine Stelle ausgeschrieben wurde. Bei Senior-Stellen kann ich mir so etwas gut vorstellen, da wird ja auch oft nach sehr differenzierten Fähigkeiten in der entsprechenden Sprache gesucht. Bei Juniorstellen sollte eine Einarbeitung in die benötigte Sprache und die Frameworks sowieso stattfinden.

So wie ich es mitbekommen habe, ist der TO ja in einer Umschulung und es geht vermutlich erst einmal um den Einstieg in die IT-Arbeitswelt. Und da spielt es meiner Meinung nach erst einmal keine Rolle, für welche der beiden Sprachen man sich "entscheidet". Letzten Endes kommt es dabei darauf an, in welchem Bereich man eine Stelle findet. Und die Chancen dazu sehen bei beiden Sprachen doch relativ ähnlich aus, wenn man sich den Arbeitsmarkt betrachtet.

Dementsprechend haben die meisten, die hier gepostet haben, Recht damit zu sagen, dass es am Anfang erst einmal wichtig ist die allgemeingültigen Dinge der Softwareentwicklung zu beherrschen als sich auf eine Sprache zu fixieren. Das kommt später zwangsweise durch den Job, den man bekommt. Und dort lernt man dann (hoffentlich) auch, die entsprechenden Frameworks zu nutzen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden


×