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

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

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

Заранее спасибо.

Ответы на вопрос(7)

сколько сможете.

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

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

IDE

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

TDD

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

переход

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

Решение Вопроса

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

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

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

Отсутствие свойств / авто свойстваНет типа «событие» (другой способ работы с событиями)синтаксис цикла foreachРеализация «Дженерикс»Проверенные исключения

и, вероятно, еще много :)

 Gusdor12 авг. 2013 г., 09:00
Нет автоматического бокса типов значений!
 Kredns23 янв. 2009 г., 02:41
Netbeans мой любимый тоже !!!
 Jonn16 февр. 2014 г., 03:24
Не забывай об отсутствииvar эквивалент.

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

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

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

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

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

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

я разработчиков Java. Вам понравится, если у вас достаточно оперативной памяти.

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

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

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

Ваш ответ на вопрос