Как упорный пользователь Emacs и профессиональный разработчик Java, я могу сказать, что безоговорочно выбираю Eclipse для Java и Emacs для всего остального. У каждого инструмента есть свои преимущества, и я пробую множество инструментов. Но экосистема, окружающая Eclipse, не имеет себе равных (даже по EmacsWiki!), И Eclipse имеет лучшую эмуляцию Emacs из всех редакторов, которые я когда-либо встречал, если вы установите плагин Emacs + (от MulgaSoft).
В зависимости от типа программирования на Java, которым вы занимаетесь, Eclipse не имеет конкурентов, т. Е. Если вы работаете с чем-либо, связанным с технологиями Google (GWT, App Engine, Android). Компонент Mylyn в Eclipse взаимодействует практически со всеми инструментами управления задачами, что замечательно, если вы работаете в корпоративной среде, которая использует JIRA, Mingle, VersionOne, Bugzilla и т. Д.
Мой опыт работы с JDEE, хотя и благоприятный и интересный , поставили на далекое 3-е место Eclipse и Netbeans соответственно. Я действительно не работал с IntelliJ, поэтому не могу комментировать этот фронт.
Большинство моих знакомых Java-разработчиков используют Eclipse. Я предпочитаю Emacs, а иногда NetBeans . В основном я предпочитаю делать все свое редактирование в Emacs и использовать NetBeans только для создания файла сборки. Я рекомендую NetBeans вместо Eclipse, потому что он имеет лучший режим Emacs и требует меньше ресурсов (относительно!). Если вы ищете полную Java IDE для Emacs, попробуйте JDEE .
Я думаю, что очень важно понять, что существует жесткая, беспредметная грань между "AST-редакторами" (Eclipse/NetBeans/IntelliJ) и текстовыми редакторами, такими как emacs, vi, slickedit и т.д. и т.п.
В Eclipse/NetBeans/IntelliJ они компилируют весь код и считывают этот байт-код обратно в большой, полностью связанный и кэшированный внутренний AST. Так, например, когда вы переименовываете метод, они следуют AST ко всему коду в проекте, который использует этот метод, и обновляют все его применения.
Это значительно отличается от текстового поиска/замены, который вы получаете в текстовом редакторе.
Java - сильно типизированный язык, что является невероятным преимуществом при использовании редактора, который знает, как следовать структуре типов и манипулировать ею.
Я использую Netbeans, но в нем есть некоторые ограничения, такие как отсутствие навигации назад-вперед в панели инструментов (я привык к этому), переименование переменных в классе, невозможность изменения вызывающих методов и т.д. Eclipse показался мне лучше.
Лучше всего было бы попробовать использовать общественную версию Idea IntelliJ . Я использовал их премиум-версию, и должен сказать, что опыт разработчика в плане удобства использования и помощи в рефакторинге гораздо лучше в IntelliJ. Кроме того, там есть несколько очень удобных функций, например, показать все дочерние классы определенного класса в одном представлении (и затем позволить вам выбрать, какой из них открыть), помощь в рефакторинге и многое другое.
Версия для сообщества также будет иметь большинство функций.
Emacs - фантастический редактор, который очень полезен, если вы потратите время на его изучение.
Eclipse / NetBeans / IntelliJ - это фантастическая Java IDE, которая очень полезна, если вы потратите время на ее изучение.
Объем дополнительных функций, доступных в Eclipse, поскольку он знает наизусть, что вы работаете с кодом Java и понимает этот код, настолько велик, что его трудно описать несколькими предложениями. Позвольте мне привести несколько примеров:
Список можно продолжать и продолжать. Однако есть много вещей, в которых Eclipse не очень хорош, и в этих случаях может быть полезно открыть файлы в других редакторах, таких как Emacs или vim.
Итак, хорошо изучите свои инструменты и имейте больше инструментов, чем просто молоток.
malabar-mode - лучшее существующее решение для разработки Java в Emacs. У него хорошая интеграция с maven, отличная оболочка, семантическая поддержка и т. Д.
Java IDE определенно превосходит все, что Emacs может предложить с точки зрения функций, связанных с рефакторингом и анализом кода, но в остальном опыт Emacs намного лучше - гораздо более мощный редактор, более простая и обширная экосистема расширений и общая аура величие; -)
В конце концов, все дело вкуса - предпочитаете ли вы программирование на основе кликов, когда все происходит в меню и всплывающих окнах, или предпочитаете опускаться до нуля, пишите код более внимательно (потому что там выиграли Это не инструмент для его анализа) и создания ...
Если вы выбираете IDE, сделайте себе одолжение, игнорируйте всю пропаганду Eclipse и посмотрите на конкурирующие проекты - я лично рекомендую вам IntelliJ IDEA. В конце концов, каждый решает сам, но решение должно приниматься объективно, а не на основе утверждений типа «все используют Eclipse» ...
В конечном итоге все сводится к тому, что лучше всего подходит для вас. Попробуйте emacs, IDE и другие инструменты по своему усмотрению, а затем используйте то, что вам нравится, и находите самые простые.
У меня есть коллега, который говорит, что у него часто одновременно работают emacs и NetBeans. Он использует emacs для редактирования и NetBeans для исследования ошибок, сборки, тестирования и т. Д.
Хотя я много лет занимался Java, я только начинаю серьезно вникать в него из-за новой работы, где он основной язык разработки. Раньше я использовал emacs для большей части своей разработки; его возможности редактирования весьма хороши. Однако для более крупных проектов я считаю, что для многих вещей IDE тоже хороша. Итак, я могу адаптировать стратегию моего коллеги по одновременному запуску Emacs и NetBeans.
До работы над этой работой я немного поработал с Eclipse, что мне понравилось. Однако NetBeans является стандартом де-факто, над которым я сейчас работаю, и имеет несколько хороших моментов, поэтому я работаю над этим.
Недавно я узнал о CEDET , который выглядит как способ обертывания IDE вокруг emacs. К сожалению, у меня еще не было времени исследовать это, но, возможно, вам стоит взглянуть на него.