2009-01-23 40 views
17

Więc idę na rozmowę o pracę w przyszłym tygodniu w miejscu Java i chciałbym nie spotkać się jako bez pojęcia. Jestem całkiem pewnym programistą C#/.NET i jestem (wyraźnie!) Skłonny rozważyć skakanie statku do Javy - chciałbym linki do zasobów, które ludzie zalecają do tego. Jestem zainteresowany w odpowiedzi na pytania typu:Wskazówki dotyczące przejścia z języka C# na język Java?

  • żadnych przewodników, które są szorstkie równoważne Justin Etheridge's Ruby for C# developers? To było naprawdę przydatne, gdy zdecydowałem, że chcę nauczyć się prowizji Ruby (a więc przynajmniej trochę rubinu). Wydaje się, że jest więcej stron dla osób idących w drugą stronę, ale ...
  • Które IDE użyć? Właściwie to już kupiłem własny IntelliJ, ponieważ uwielbiam jego HTML/CSS/JS, ale nie dotknąłem jego prawdziwej raison d'etre, no cóż, "rzeczy z Java". Podejrzewam jednak, że miejsce, w którym mam zamiar korzystać z Eclipse. A więc - zalecane zasoby do uruchomienia na komputerze Mac lub Windows (nie jestem wybredny)?
  • Prawdopodobnie będzie to wywiad kodowania TDD; Domyślam się, że JUnit jest de facto wyborem, żeby się tutaj trochę nauczyć?

Z góry dziękuję.

Odpowiedz

8

Spójrz na this link, która zawiera wiele różnic między tymi dwoma językami.

Jeśli chodzi o IDE, wiele osób lubi Eclipse lub Netbeans (moje ulubione) - obie są bezpłatne. Jak już masz IntelliJ, możesz spróbować.

FYO niektóre z głównych różnic są:

  • Brak właściwości/właściwości auto
  • nie 'wydarzenie' typ (inny sposób radzenia sobie ze zdarzeniami)
  • składnia pętli foreach
  • '
  • Sprawdzone wyjątki generycznych Wykonanie

i prawdopodobnie wiele więcej :)

+0

Netbeans jest również moim ulubionym !!! – Kredns

+0

Bez automatycznego tworzenia boksów typów wartości! – Gusdor

+2

Nie zapomnij o braku odpowiednika 'var'. – Jonn

1

Jak już wspomniałeś, dla IDE powinieneś rozważyć Eclipse, czyli darmowe i przyzwoite IDE dla podstawowego rozwoju. Jeśli jednak zamierzasz pracować z Java EE, może to nie być wystarczające, ale pomoże ci szybko nauczyć się podstaw.

Istnieje wiele książek, które dotyczą podstawowej składni i stylu programowania, a każdy, zakładając, że jesteś dobrym programistą C#, prawdopodobnie wystarczy, abyś mógł zacząć. Nie znam żadnego off-hand z rodzaju, o którym wspomniałeś.

Niedawno dokonałem przejścia na odwrót, przechodząc od Javy do C#. Zauważyłem, że przez przepisanie istniejącej aplikacji w nowym języku stało się łatwiejsze niż myślałem.

2

Netbeans jest najlepszym (i najbardziej podobnym do Visual Studio) IDE dla programistów Java. Spodoba ci się, jeśli masz wystarczająco dużo pamięci RAM.

4

IDE

Masz IntelliJ. Uwierz mi, że to jest najlepsze. Używałem go przez dwa lata, potem musiałem przejść na jakąś bezpłatną rzecz. Spróbowałem Eclipse, to był ból, bez obrazy tylko mówię ci moje doświadczenie. Teraz pracuję z Netbeans i jestem całkiem szczęśliwy, ale wciąż tęsknię IntelliJ raz na dzień.

TDD

Tak, jesteś bardzo dużo rację JUnit. Po dostatecznym zrozumieniu warto przyjrzeć się innym specjalnym bibliotekom, takim jak HtmlUnit, DBUnit. Co więcej, narzędzie do pokrycia kodu, takie jak Cobertura lub Emma. Ponieważ musisz iść z IntelliJ, prawdopodobnie spodoba Ci się Emma, ​​ponieważ ma dobrą integrację z IDEA.

Transition

nie sądzę, będzie mieć twardy czas w okresie przejściowym. IMO, czytanie dokumentów i specyfikacje ułatwią ci pracę. Być może uda Ci się znaleźć kilka książek w dalszej części drogi, ale jeśli chodzi o podstawową Javę, dobrym początkiem będzie czytanie dokumentów i specyfikacji API. Możesz użyć SO, by zadać pytanie. Widziałem wiele pytań, takich jak "odpowiednik C# w Java ..".

2

Jeśli masz tydzień - spróbuj wpisać jak najwięcej kodu Java.

Zauważyłem, że bardzo łatwo jest przejść z Java do C# i powinno być tak samo w inny sposób.

Odbierz kopię Efektywnej Javy i przeczytaj ją - to naprawdę bardzo dobre.

1

Myślę, że największą różnicą jest społeczność i środowisko otaczające te dwie platformy. W świecie .NET Microsoft podejmuje wielkie decyzje i wdraża zestawy funkcji. Z drugiej strony, istnieje wiele bibliotek stron trzecich w świecie Java, które prawie uzupełniają platformę, i powinieneś je znać, jeśli masz do czynienia z pewnym rodzajem rozwoju. Zobacz Most useful free Java libraries.

3

Ponieważ masz tylko tydzień, chciałbym powtórzyć zalecenie skupienia się na rzeczach wskazanych przez Efektywna Java.

Poznaj interfejs API kolekcji. Kiedy przeprowadzam wywiad z ludźmi, jest to jeden ze sposobów, w jaki unikam ludzi. W szczególności znasz różnicę między equals(), hashCode() i compareTo(), i co trzeba, aby poprawnie je zaimplementować.

Wiedza na temat obsługi wyjątków w języku Java oraz sposobu, w jaki współdziała ze standardowymi transakcjami EJB.

Jeśli masz szczęście, że wylądujesz, poświęcę trochę czasu na poznanie krajobrazu J2EE, który jest dość rozległy. W dzisiejszych czasach uważałbym podstawy J2EE za EJB, MDB, serwlety i WZP.

Nie martwiłbym się tak bardzo o IDE lub API xUnit. Te rzeczy są trywialne dla każdego przyzwoitego programisty z doświadczeniem.

Powiązane problemy