2009-01-23 6 views
17

Also werde ich nächste Woche zu einem Bewerbungsgespräch auf einem Java-Platz gehen und möchte nicht ratlos rüberkommen. Ich bin ein ziemlich selbstsicherer C# /. NET-Entwickler und bin (klar!) Bereit, über einen Sprung nach Java nachzudenken - ich hätte gerne Links zu Ressourcen, die Leute dafür empfehlen würden. Ich bin interessiert an Antworten zu Fragen wie:Tipps für den Wechsel von C# nach Java?

  • Alle Anleitungen, die eine grobe Entsprechung zu Justin Etheridge's Ruby for C# developers sind? Das war sehr nützlich, als ich beschloss, Rubys Rake (und damit zumindest ein bisschen Ruby) zu lernen. Es scheint jedoch mehr Seiten für Leute zu geben, die den anderen Weg gehen.
  • Welche IDE zu verwenden? Ich habe eigentlich schon mein eigenes IntelliJ gekauft, weil ich sein HTML/CSS/JS liebe, aber seine tatsächliche Existenzberechtigung von, naja, "diesem Java-Zeug" nicht berührt habe. Ich vermute jedoch, dass ich Eclipse benutzen werde. Also - empfohlene Ressourcen, um auf einem Mac oder Windows aufzustehen (ich bin nicht pingelig)?
  • Es wird wahrscheinlich ein TDD Coding-Interview sein; Ich denke, JUnit ist die De-facto-Wahl, um hier ein wenig zu lernen?

Vielen Dank im Voraus.

Antwort

8

Werfen Sie einen Blick auf this link, die viele der Unterschiede zwischen den beiden Sprachen beschreibt.

Wie für IDE viele Leute wie Eclipse oder Netbeans (My favorite) - Beide sind kostenlos. Da Sie IntelliJ bereits besitzen, könnten Sie das versuchen.

fyo einige der wichtigsten Unterschiede sind:

  • Mangel an Eigenschaften/auto Eigenschaften
  • Nein 'Ereignis' Typ (unterschiedliche Art und Weise mit Ereignissen des Umgangs)
  • foreach-Schleife Syntax
  • ' Generics Implementierung
  • Checked Ausnahmen

und wahrscheinlich viele weitere :)

+0

Netbeans ist mein Liebling auch !!! – Kredns

+0

Kein automatisches Boxen von Werttypen! – Gusdor

+2

Vergessen Sie nicht das Fehlen eines 'var'-Äquivalents. – Jonn

1

Wie Sie bereits erwähnt haben, sollten Sie für eine IDE Eclipse in Betracht ziehen, das kostenlos ist und eine anständige IDE für die grundlegende Entwicklung bietet. Wenn Sie jedoch mit Java EE arbeiten, ist dies unter Umständen nicht ausreichend, aber Sie können die Grundlagen schnell erlernen.

Es gibt viele Bücher, die grundlegende Syntax und Programmierstil abdecken, und alle, vorausgesetzt, Sie sind ein guter C# -Entwickler, werden wahrscheinlich genug sein, um Sie in Gang zu bringen. Ich kenne keine Handschrift des von Ihnen erwähnten Typs.

Kürzlich habe ich den Übergang umgekehrt von Java zu C# gemacht. Ich fand, dass das Umschreiben einer vorhandenen Anwendung in die neue Sprache es viel einfacher machte, als ich gedacht hatte.

2

Netbeans ist die beste (und am meisten wie Visual Studio) IDE für Java-Entwickler. Sie werden es lieben, wenn Sie genug RAM dafür haben.

4

IDE

Du hast IntelliJ. Glauben Sie mir, es ist das Beste. Ich habe es zwei Jahre lang benutzt und musste dann zu einem freien Ding wechseln. Ich habe Eclipse ausprobiert, es war ein Schmerz, nichts für ungut, nur um dir meine Erfahrung zu erzählen. Jetzt arbeite ich mit Netbeans, und ich bin ziemlich glücklich, aber vermisse immer noch IntelliJ einmal am Tag.

TDD

Ja, Sie sind sehr recht JUnit. Nach genug Verständnis, ist es gut, andere Spezialbibliotheken wie HtmlUnit, DBUnit zu betrachten. Außerdem ein Code Coverage Tool wie Cobertura oder Emma. Wie Sie mit IntelliJ gehen müssen, werden Sie wahrscheinlich gerne Emma auschecken, da es eine gute Integration mit der IDEA hat.

Transition

Ich glaube nicht, dass Sie eine harte Zeit im Übergang haben. IMO, lesen Sie die Dokumente und die Spezifikationen werden Sie in Gang bringen. Möglicherweise können Sie für einige Bücher auf der Straße gehen, aber soweit Core Java betrifft, wird das Lesen von API-Dokumenten und Spezifikationen ein guter Anfang sein. Sie können eine SO verwenden, um Fragen zu stellen. Ich habe viele Fragen wie "C# äquivalent in Java .." gesehen.

2

Wenn Sie eine Woche haben - versuchen Sie, so viel Java-Code zu schreiben, wie Sie können.

Ich fand es sehr einfach, von Java zu C# zu gehen, und es sollte das gleiche sein, andersrum.

Nehmen Sie eine Kopie von Effektivem Java auf und lesen Sie es durch - es ist wirklich sehr gut.

1

Ich denke, der größte Unterschied ist die Gemeinschaft und Umgebung rund um die beiden Plattformen. In der .NET-Welt trifft Microsoft große Entscheidungen und führt Feature-Sets aus. Auf der anderen Seite gibt es viele Bibliotheken von Drittanbietern in der Java-Welt, die die Plattform fast ergänzen, und Sie sollten sie kennen, wenn Sie sich für eine bestimmte Art von Entwicklung interessieren. Siehe Most useful free Java libraries.

3

Da Sie nur eine Woche haben, würde ich die Empfehlung wiederholen, um auf die Art von Dingen, die von Effective Java hingewiesen konzentrieren.

Kennen Sie die Collections API. Wenn ich Leute interviewe, ist es eine Art, wie ich Leute aussortiere. Vor allem kennen Sie den Unterschied zwischen equals(), hashCode() und compareTo(), und was es braucht, um sie richtig zu implementieren.

Wissen, wie man Ausnahmen in Java behandelt und wie es mit Standard-EJB-Transaktionen interagiert.

Wenn Sie Glück haben, den Job zu landen, würde ich einige Zeit damit verbringen, die J2EE-Landschaft kennenzulernen, die ziemlich groß ist. Heutzutage würde ich die Grundlagen von J2EE als EJBs, MDBs, Servlets und JPA betrachten.

Ich würde mir nicht so viele Gedanken über die IDE oder die xUnit API machen. Diese Dinge sind trivial für jeden anständigen Entwickler mit Erfahrung.