Подтвердить что ты не робот

Советы по переходу с С# на Java?

Итак, я собираюсь на собеседование на следующей неделе на Java-сайте, и мне бы хотелось, чтобы мы не встретили это как невежественное. Я довольно уверенный разработчик С#/.NET и я (ясно!) Готов рассмотреть возможность перехода на Java на Java - мне бы хотелось получить ссылки на ресурсы, которые люди порекомендуют для этого. Меня интересуют ответы на такие вопросы, как:

  • Любые руководства, которые являются грубыми эквивалентами Justin Etheridge Ruby для разработчиков С#? Это было действительно полезно, когда я решил, что хочу узнать рубинский грабли (и, по крайней мере, немного рубинов). Кажется, есть больше страниц для людей, идущих в другую сторону, хотя...
  • Какую IDE использовать? Я на самом деле уже купил свой собственный IntelliJ, потому что мне нравится его HTML/CSS/JS, но он не коснулся его фактического смысла, ну, "этот материал Java". Однако я подозреваю, что место, где я собираюсь использовать Eclipse. Итак - рекомендуемые ресурсы для запуска и работы на Mac или Windows (я не суетливый)?
  • Вероятно, это будет интервью по кодированию TDD; Я думаю, что JUnit - это де-факто выбор, чтобы немного узнать об этом здесь.

Спасибо заранее.

4b9b3361

Ответ 1

Посмотрите эту ссылку, в которой подробно описаны различия между двумя языками.

Что касается IDE, многие люди, такие как Eclipse или Netbeans (Мой любимый) - оба являются бесплатными. Поскольку вы уже владеете IntelliJ, вы можете попробовать это.

FYO некоторые из основных отличий:

  • Отсутствие свойств/автоматических свойств
  • Нет типа "события" (другой способ борьбы с событиями)
  • синтаксис цикла foreach
  • Реализация "Generics"
  • Проверенные исключения

и, возможно, еще много:)

Ответ 2

IDE

Вы получили IntelliJ. Верьте мне, что это лучше всего. Я использовал его в течение двух лет, затем пришлось переключиться на какую-то бесплатную штуку. Я пробовал Eclipse, это была боль, без обид, просто рассказывающая вам мой опыт. Теперь, работая с Netbeans, и я очень доволен, но все же пропущу IntelliJ один раз в день.

TDD

Да, вы очень правы в JUnit. После достаточного понимания, хорошо смотреть на другие специализированные библиотеки, такие как HtmlUnit, DBUnit. Кроме того, инструмент покрытия кода, такой как Cobertura, или Emma. Поскольку вы должны пойти с IntelliJ, вам, вероятно, захочется проверить Эмму, поскольку она имеет хорошую интеграцию с IDEA.

Переход

Я не думаю, что вам будет сложно пережить. ИМО, читая документы и спецификации, вы поймете. Может быть, вы можете пойти на несколько книг по дороге, но, насколько ядро ​​Java обеспокоено, чтение документов и спецификаций API будет хорошим началом. Вы можете использовать SO, чтобы задать вопрос. Я видел много вопросов, таких как "эквивалент С# в Java".

Ответ 3

Поскольку у вас есть только одна неделя, я бы повторил рекомендацию сосредоточиться на вещах, отмеченных эффективной Java.

Знайте API коллекций. Когда я беседую с людьми, это один из способов избавить людей. Осознайте разницу между equals(), hashCode() и compareTo(), и что нужно для их правильной реализации.

Знайте, как обрабатывать исключения в Java и как он взаимодействует со стандартными транзакциями EJB.

Если вам посчастливилось приземлиться на работу, я бы потратил некоторое время на знакомство с ландшафтом J2EE, который довольно обширен. В эти дни я бы рассмотрел основы J2EE как EJB, MDB, сервлетов и JPA.

Я бы не стал так беспокоиться об IDE или API xUnit. Эти вещи тривиальны для любого достойного разработчика с опытом.

Ответ 4

Netbeans - лучшая (и наиболее похожая визуальная студия) IDE для разработчиков Java. Вам понравится, если у вас будет достаточно ОЗУ.

Ответ 5

Если у вас есть неделя - попробуйте написать как можно больше кода Java.

Мне было очень легко перейти с Java на С#, и он должен быть тем же самым способом.

Возьмите копию Эффективной Java и прочитайте ее - это действительно хорошо.

Ответ 6

Как вы уже упоминали, для IDE вы должны рассмотреть Eclipse, который является бесплатным и достойным IDE для базовой разработки. Однако, если вы собираетесь работать с Java EE, этого может быть недостаточно, но это поможет вам быстро изучить основы.

Есть много книг, которые охватывают базовый синтаксис и стиль программирования, и любой, предполагая, что вы хороший разработчик С#, вероятно, будет достаточно, чтобы вы начали. Я не знаю ни одной из сторон вашего типа.

Недавно я сделал переход в обратном направлении, перейдя от Java к С#. Я обнаружил, что переписывание существующего приложения на новом языке значительно упростило его, чем я думал.

Ответ 7

Я думаю, что самое большое различие - это сообщество и окружающая среда, окружающая две платформы. В мире .NET Microsoft принимает большие решения и откатывает набор функций. С другой стороны, в мире Java существует много сторонних библиотек, которые почти дополняют платформу, и вы должны знать их, если вы находитесь в определенном развитии. См. Наиболее полезные бесплатные библиотеки Java.