Lohnt es sich, Java zu lernen, wenn man C# schon ziemlich gut kennt?


6

Da C# in vielerlei Hinsicht ein direktes Derivat von Java ist, fragte ich mich, ob es irgendeinen Vorteil für das Erlernen von Java gab, nachdem man ziemlich vernünftig über C# gelernt hatte.

Hinweis: Bitte geben Sie klare, direkte Ratschläge statt Diskussionen, um die SO-Richtlinien einzuhalten.

0

Absolut. Viele Jobs wollen speziell Java. Nachdem Sie Java gelernt haben und es überzeugend in Ihren Lebenslauf aufnehmen können, müssen Sie sich nicht mit HR und Recruitern herumärgern, die nicht so viel Ahnung haben.

Und da beide bis auf wenige Ausnahmen mehr oder weniger gleich sind, ist es ein sehr guter Return on Investment. Ganz zu schweigen von den Möglichkeiten, andere Frameworks zu verwenden.


8

Wenn Sie in Java programmieren möchten, lernen Sie Java. Es ist wirklich so einfach.

Die Muster, Algorithmen und Designideen werden nicht so unterschiedlich sein, dass das Erlernen der Sprache allein Belohnung genug ist.

Allerdings läuft Java auf weitaus mehr Plattformen als auf C# (obwohl sich dies mit mono ändert). Wenn Sie also Ihren plattformunabhängigen Code verwenden möchten, könnten Sie Java ausprobieren. Sie werden feststellen, es an den Rändern etwas rauer ist, aber nicht beschränkt auf C gehen gerne ++ oder C

-Adam


4

Ich bin in erster Linie ein Java-Kerl, aber haben ein wenig C# hier und da getan. IMO gibt es nicht genug Unterschied zwischen den beiden, um wirklich von einer Erweiterung der Perspektive des Programmierhorizonts zu profitieren. Wenn ich eine neue Sprache lernen möchte, möchte ich etwas finden, das mich dazu bringt, ein Programm aus einer anderen Perspektive zu betrachten. Javas Perspektive ist im Grunde die gleiche wie C#. Es gibt einige Unterschiede in der Funktionsweise einiger Hochsprachenfeatures, und die APIs unterscheiden sich an einigen Stellen. Insgesamt sind Java und C# jedoch speicherverwaltete, statisch typisierte OO-Sprachen.


0

Ähnlichkeiten zwischen C# und Java ermöglicht es Ihnen, Java ziemlich schnell kennenzulernen. Die Prinzipien sind die gleichen, und Sie erhalten einen Wettbewerbsvorteil bei der Suche nach einem Job oder bei der Durchführung Ihrer eigenen Projekte, indem Sie auswählen, welche Plattform für das Projekt besser geeignet ist (basierend auf der kommerziellen Seite des Projekts und der Skalierbarkeit, weil Sie kann Java auf Linux-Servern so viel skalieren, wie Sie ohne zusätzliche Lizenzkosten benötigen).


0

Ich kenne Java ziemlich gut und musste C# für ein Arbeitsprojekt lernen. Es war sehr schmerzlos, und ich habe eine Menge über beide Sprachen in dem Prozess gelernt.

Java bietet auch die ganze 'einmal schreiben, laufen überall' Sache, und öffnet den Weg zu Unix/Linux Server basierten Integrationsprojekten.

+2

* hust * Mono * Husten * 23 sep. 082008-09-23 23:53:58

+1

FlySwat, kann Mono unter Linux ein C# -Programm ausführen, das mit Visual Studio geschrieben wurde? 08 nov. 092009-11-08 23:08:13


5

Der syntaktische Unterschied zwischen den beiden ist nicht groß, obwohl Sie eine Menge .NET spezifischen Code wie [] Tags erhalten, die Sie nicht in Java finden. Aber ich finde, dass die APIs und der Entwicklungsansatz ziemlich unterschiedlich sind. Das Back-End von jedem unterscheidet sich sehr von dem anderen und in .NET ist ein Code, der effizient ist und gut funktioniert, möglicherweise nicht für Java geeignet und umgekehrt.

Ich habe in beiden gearbeitet, die Beschränkung, an die Sie sich gewöhnen müssen, wenn Sie in Java arbeiten, ist in den IDEs. Keines der IDEs da draußen vergleicht sich mit Visual Studio für die Geschwindigkeit der Entwicklung und die einfache Bereitstellung. (IMO sowieso).

Ich habe viel an einigen Java-Projekten gearbeitet. Sie lernen eine Menge verschiedener Programmiertechniken und -methoden. Insbesondere würde ich vorschlagen, in J2EE zu arbeiten, der Unterschied wird Ihnen sicherlich das Gefühl geben, mit einer anderen Sprache und Technologie zu arbeiten.


0

Die Antwort auf diese Frage hängt eher von Ihrer eigenen persönlichen Situation als von den Ähnlichkeiten zwischen den Sprachen ab. Wenn Sie die Zeit haben, Java zu lernen, ist das gut, aber gibt es etwas Wertvolleres, das Sie mit dieser Zeit tun könnten.

Wenn Sie sich auf den Microsoft-Kurs konzentrieren, wird es nicht gut sein, Java zu lernen, da es Zeit kostet, mehr Tiefe in C# zu erlangen oder ein Microsoft-Produkt zu erlernen, das Sie wertvoller machen könnte B. die neuen Elemente im .NET 3.5-Framework.

Es gibt mehr als genug, um in der .NET-Welt zu lernen, ohne Sprachen zu lernen, die in Bezug auf ihre Verwendung in den meisten Unternehmensumgebungen nicht verwandt sind.

Ein Generalist zu sein gibt Ihnen einen breiteren Blick auf die Entwicklung, aber ein Spezialist verdient Dollar direkt.


1

Es gibt zwei Überlegungen hier.

Wenn Sie lernen möchten, um in einer Java-Umgebung zu arbeiten, dann ist das Lernen von Java offensichtlich ein Schritt in diese Richtung. Es sollte in gewisser Hinsicht ziemlich geradlinig sein, da die inhaltlichen Unterschiede zwischen C# und Java relativ gering sind. Je nachdem, welche Technologien Sie gerade verwenden, gibt es möglicherweise einige Implementierungsunterschiede in dem von Ihnen verwendeten Support-Stack, aber in roher Sprache gibt es kaum Unterschiede.

Wenn Sie jedoch Java lernen möchten, um Ihre persönliche Entwicklung zu fördern, dann würde ich sagen, Ihre Zeit ist besser damit verbracht, etwas zu lernen, das Sie ein wenig mehr strecken wird. Eine Sprache wie Python, Ruby oder Erlang erweitert Ihren Horizont als Programmierer wirklich. Jede dieser Einstellungen erfordert eine etwas andere Einstellung als in Java oder C#.


5

Ich werde mit einer anderen Antwort als der Rest gehen. Wenn Sie Anwendungen für die Windows-Plattform schreiben, sehe ich keinen Vorteil. Der Grund, warum ich das sage, ist Ihr "Job" hängt davon ab, dass Sie diese Plattform kennen. Ich kann nur davon ausgehen, dass deine Arbeit davon abhängt, sonst, warum würdest du in sie investiert werden (Hoffnung, die Sinn macht).

Mein Vorschlag ist nicht, das Lernen zu STOPPEN, sondern etwas anderes zu lernen, das Ihnen eine völlig andere Perspektive geben wird. Insbesondere würde ich vorschlagen, etwas Dynamisches oder Funktionelles zu lernen. Vielleicht zum Beispiel F # oder Ruby oder Python ausprobieren. Ich denke, das ist eine bessere Investition in der Zeit.

Mein $ .02.

-Keith


3

frischer sein [die C# gut und JAVA nicht so viel weiß], werde ich Ihnen diese vor.

Wenn Sie auf der Suche nach einem Job sind:

selbst investieren, um die Unterschiede von C# & Java zu lernen. Dies ist, weil es Ihren Wert erhöht und Ihre Zeit verringert, um einen Job zu finden.

Wenn Sie benötigen für ein Projekt sind [in Java getan werden]:

Dann natürlich muss man richtig lernen!

Wenn Sie auf der Suche nach einer neueren Technologie sind:

Verschwenden Sie keine Zeit in Java, gehen Sie für Python, Ruby oder Erlang. Dies liegt daran, dass 80% sowohl C# als auch Java identisch sind und Sie nur die restlichen 20% (für ein Maximum) lernen werden, was meiner Meinung nach Zeitverschwendung ist.