Чем IntelliJ лучше, чем Eclipse? [закрыто]

67

Я знаю, что были такие вопросы, как Ваш любимый редактор / IDE? , но никто из них не ответил на этот вопрос: зачем тратить деньги на IntelliJ, когда Eclipse бесплатен?

Я лично большой поклонник IntelliJ, но я действительно не пробовал Eclipse. Я использовал IntelliJ для проектов, которые были Java, JSP, HTML / CSS, Javascript, PHP и Actionscript, и последняя версия, 9, была превосходной для всех.

Многие коллеги в прошлом говорили мне, что они полагают, что Eclipse «почти такой же», как IntelliJ, но, чтобы противостоять этому, я иногда сидел за разработчиком, использующим Eclipse, который казался сравнительно неэффективным (для достижения примерно того же задание), и я не испытал этого с IntelliJ. Они могут быть на уровне функции за функцией, но функции могут быть разрушены из-за плохого пользовательского опыта, и мне интересно, возможно ли, что IntelliJ будет легче подобрать и обнаружить функции, экономящие время.

Для пользователей, которые уже знакомы с Eclipse, помимо реальной стоимости IntelliJ, существует также стоимость времени, потраченного на изучение нового приложения. Eclipse получает много пользователей, которые просто не хотят тратить 250 долларов на IDE.

Если IntelliJ действительно может помочь моей команде стать более продуктивной, как я могу продать ее им? Для тех пользователей, которые пробовали оба, я бы очень заинтересовался конкретными плюсами или минусами в любом случае.

Николь
источник
3
Вы можете увидеть некоторую предвзятость выбора здесь. Клиент IntelliJ гораздо чаще изучает функции и ярлыки, чем ваш обычный пользователь Eclipse.
Макнейл
3
Я не стал бы подталкивать других к использованию инструментов, которые работают на вас. Это очень субъективно, и такие глупые вещи могут разрушить уже установившиеся отношения. Если у вас есть выбор - использовать IntelliJ или Eclipse, и проект прекрасно компилируется с помощью любого из них - вырубитесь, используйте IntelliJ. Если вы хотите продвигать его, то упомяните об этом, когда придет время. Взрослые ненавидят это так же, как дети, когда другие пытаются принимать решения за них. Вы по-прежнему можете заставить их переключаться, но это должно быть решение "ИХ", и поэтому вам просто нужно сделать правильный звук в нужное время.
Работа
@ Джоб, я согласен с этим. Я хотел бы выяснить, а) есть ли у IntelliJ реальное преимущество перед «Затмением», так что б) если да, я могу продать его, а не поручить его.
Николь
Вы же понимаете, что у IntelliJ есть бесплатная версия? Вы не можете заставить его звучать так, будто единственным вариантом является платная версия
TheLQ
@TheLQ, вы правы, для краткости я предположил, что пользователи, знакомые с IntelliJ, также будут знакомы с ограничениями бесплатной версии. Лично у меня никогда не было проекта, в котором он был бы полезен, поскольку мне всегда требовалось нечто большее, чем просто компонент Java.
Николь

Ответы:

63

Я работаю с Intellij (9.0.4 Ultimate) и Eclipse (Helios) каждый день, а Intellij побеждает Eclipse каждый раз.

Как? Потому что Intellij индексирует мир, и все работает интуитивно. Я могу перемещаться по моей базе кода намного, намного быстрее в Intellij. F3 (определение типа) работает во всех контекстах - Java, JavaScript, XML, XSD, Android, Spring. Рефакторинг работает везде и абсолютно надежен (у меня были проблемы с Eclipse, который портил мой источник странными способами). CTRL + G (где используется) работает везде . CTRL + T (реализации) отслеживает наиболее распространенные экземпляры, которые я использую, и показывает их в первую очередь.

Предложения по дополнению кода и переименованию настолько умны, что только когда вы вернетесь в Eclipse, вы поймете, как много он для вас сделал. Например, рассмотрите возможность чтения ресурса из пути к классам, набрав getResourceAsStream("/на этом этапе Intellij покажет вам список возможных файлов, которые в данный момент доступны на пути к классам, и вы можете быстро перейти к тому, который вам нужен. Затмение - Нет.

(Из коробки) плагин Spring для Intellij значительно превосходит SpringIDE в основном благодаря проверке кода. Если я пропустил уроки или написал что-то не так, то я получаю красный блок в углу и красные чернила именно там, где проблема. Затмение - немного, вроде.

В целом, Intellij накопил много знаний о вашем приложении, а затем использует эти знания, чтобы помочь вам быстрее написать лучший код.

Не поймите меня неправильно, я люблю Затмение на кусочки. По цене нет замены, и я рекомендую ее своим клиентам в отсутствие Intellij. Но как только я опробовал Intellij, он окупился в течение недели, поэтому я купил его и все основные обновления с тех пор. Я никогда не оглядывался назад.

Гэри Роу
источник
Именно то, что я искал. Один вопрос, хотя, я думаю, что у меня есть несколько разных назначений клавиш, чем вы. Вы можете уточнить, о каких функциях вы говорите?
Николь
2
Вы можете настроить IntelliJ на использование ярлыков Eclipse? Это может быть просто последний толчок, который мне нужен, чтобы действительно дать IntelliJ шанс - моя мышечная память сдерживала меня. Спасибо за чаевые!
yatima2975
9
@ yatima2975 Не беспокойся. Просто посмотрите в настройках, отфильтруйте по «раскладке» и выберите Eclipse. У вас есть Emacs и куча других тоже.
Гэри Роу
1
На моей машине с Linux я недавно перешел с Eclipse на IntelliJ IDEA Community Edition (с открытым исходным кодом и полностью бесплатно) для проекта Java / Android, и у меня был такой же хороший опыт. ИДЕЯ просто фантастическая. Загрузите его здесь: jetbrains.com/idea/free_java_ide.html . Как заявляет JetBrains, IDEA является самой интеллектуальной Java IDE на рынке. Не поймите меня неправильно: я также использую и люблю Eclipse, NetBeans и Qt Creator IDE (в зависимости от поставленной задачи и языка).
AlexBottoni
2
Я добавлю акцент на поддержку javascript, а также на другие языки интерфейса. Intellij включает в себя WebStorm, который сам по себе является фантастическим для внешнего интерфейса.
y3sh
16

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

С другой стороны, вы не можете смотреть на IDE изолированно; вам нужно посмотреть на экосистему . Здесь, я думаю, Eclipse имеет преимущество (аналогично преимуществу Firefox по сравнению с Chrome *): доступно гораздо больше плагинов, и разработчики гораздо чаще пишут плагин Eclipse, чем в противном случае.

[Касательная: * Для Firefox я думаю о Zotero и HTTPS-Everywhere. Я использую и Chrome, и Firefox, но с некоторыми вещами Chrome просто не справляется. Кроме того, когда я делаю раздаточные материалы, мне действительно нужен предварительный просмотр.]

Макнейл
источник
Существуют ли факты, подтверждающие утверждение об исправлении ошибок? (Я сам всегда испытываю трудности при сравнении таких измерений, особенно с программным обеспечением, в котором трудно увидеть приток ошибок ... как большинство коммерческих программ и даже некоторые продукты с открытым исходным кодом)
johannes
@johannes Хотя я лично могу за это поручиться, вы можете убедиться сами на youtrack.jetbrains.com/issues
y3sh
1
Хотя верно, что Eclipse предлагает больший набор плагинов, IntelliJ также предлагает все необходимые плагины, необходимые для выполнения работы. Другими словами, преимущество числа для доступности плагина должно быть взято в контексте. Я вижу в этом главную причину, по которой Eclipse предпочтительнее IntelliJ.
e28Makaveli
13

Отказ от ответственности
Это ограничивается только разработкой Android (в Java, очевидно).

Я прихожу к этому с некоторыми ограниченными знаниями Eclipse и IntelliJ; Тем не менее, мне недавно пришлось выбирать среду разработки для Android. Казалось бы, первым очевидным выбором будет использование Eclipse, поскольку Google поддерживает его с помощью своего плагина ADT. К сожалению, я находил это очень неуклюжим, так как я привык к Visual Studio (2010, совсем недавно 2012). Я всегда использовал ReSharper с Visual Studio, поэтому я решил попробовать IntelliJ. Примерно через 10 минут я понял, что принял правильное решение.

IntelliJ, как утверждают некоторые, индексирует все. С intellisense было приятно работать, а интеллект, связанный с предложениями, был превосходным. Опыт отладки мне понравился и, честно говоря, я не смог бы прожить без анализа кода. Я знаю, что многие пуристы будут иметь проблемы с такими вещами, но мне все равно. Я должен очень быстро выдвигать проекты для многих людей, поэтому иногда приятно просто выполнить анализ кода и посмотреть, что предлагает IDE. Независимо от того, принимаете ли вы эти предложения, это отдельная история, но я не нашел ничего подобного в Eclipse.

Некоторые также говорят, что в текущей версии IntelliJ нет Android-дизайнера. Это, конечно, так, но я бы никогда не использовал его в любом случае. Я отлаживаю на устройстве большую часть времени, так что это не имеет значения. Я вижу интерфейс и играю с ним каждый раз, когда запускаю программу. Как бы то ни было, от традиционного «не Java» парня я должен сказать, что Java особенно хороша по сравнению с Eclipse.

Nodey The Node Guy
источник
6

Вы должны четко и безошибочно продемонстрировать, что для задач, которые вам необходимо выполнять ежедневно, IntelliJ позволяет существенно экономить время и усилия в отличие от Eclipse (и NetBeans).

Это потребует от вас провести некоторое исследование, чтобы выяснить, что это может быть, а затем создать демонстрацию, показывающую это людям, которые могут решить, как работать.

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


источник
2
«Если вы найдете очки убийцы, пожалуйста, поделитесь - я уверен, что многие хотят знать». - Вот почему я спрашиваю - трудно найти время, чтобы провести это исследование или попробовать Eclipse самостоятельно (и я, вероятно, в любом случае предвзят). Я надеюсь, что раскрою некоторых пользователей, у которых есть хороший опыт с обоими!
Николь
1
@ Thorbjørn Да, но я говорю об общих задачах, которые применимы, по крайней мере, во всех случаях использования, которые у меня были, и я думаю, что они довольно широки. Но, если есть что-то конкретное, было бы неплохо узнать, что это тоже.
Николь
1
@ Thorbjørn Вы правы в том, что их убедит, но я думаю, что общие задачи здесь применимы. Моя производительность увеличивается на 10: 1 благодаря общим характеристикам среды IDE и подмножествам функций, связанных с моей конкретной работой. Другими словами, стандартные функции IDE - это то, что помогает мне / им в нашей повседневной работе.
Николь
2
На самом деле, для цены все, что вам нужно реально сделать, - это продемонстрировать, что она может сэкономить не менее ~ 10 часов производительности в течение срока ее предполагаемого использования (при условии, что $ 25 / час платит программисту). Все после этого подливки.
Стивен Эверс
1
Только для записи. Eclipse и IntelliJ (и Netbeans) хорошо работают с Maven. Это означает, что если вы используете проекты Maven, вы можете использовать наиболее подходящую IDE для данной ситуации.
5

Intellij лучше по многим причинам, не в последнюю очередь из- за темы даркулы ... но есть несколько других:

  • автозаполнение для имен методов - оно предлагает то, что я хочу назвать их обычным соглашением.
  • JQuery AutoComplete очень прост в настройке (никогда не получалось работать с Eclipse).
  • EL автозаполнение в JSP's
  • интеграция и проверка Spring показывает ошибки в настройке (например, повторяющиеся имена бинов)
  • автозаполнение для отображения контроллера / URL
  • простая в использовании и настройке интеграция с базой данных (он автоматически определяет источник данных) и автоматическое заполнение
  • проверки кода, такие как checkstyle и findbugs, встроенные и простые в использовании.
  • jslint и jshint встроены и просты в использовании.
  • Интеграция maven работает сразу после установки.
  • Все настройки там, где вы ожидаете их увидеть.
  • Он не обнаруживает ошибки неправильно, я использовал, чтобы получить подсвеченные ошибки в eclisp, где их не было, и пришлось перезапускать.
  • Автозаполнение и обнаружение ошибок в файлах XML (большое дело с весны)
  • В отображениях гибернации включено автозаполнение (поля pojos предоставляются как опция автозаполнения в отображенном pojo - gr8).
  • Ctrl + Alt + клик открывает вложение, а не объявление
  • Hotdeploy: вы можете легко настроить его так, чтобы, когда intellij терял фокусы, ваше развернутое приложение обновлялось автоматически - я добавляю вкладку в мой браузер, и новый код (будь то классы, javascript или jsps) уже развернут.
  • встроенный клиент покоя без дополнительной настройки требуется.
  • встроенный чат-клиент, который позволяет указатели кода - на самом деле очень полезно.
  • постоянный просмотр, легкий доступ ко всем вашим jpa / hibernate сущностям и настройкам.
  • исправление ошибок, фактическое исправление ошибок. Я отправил несколько ошибок, и они были быстро исправлены.
  • проверка и автозаполнение в ваших XML-документах, очень и очень полезно с пружиной (я знаю, что это повторение, но это здорово, выявило множество ошибок).

Я использую его около 3 недель, так что, надеюсь, скоро найду еще; это стоит денег.

О, еще одна вещь, которую он на самом деле открывает ... У меня была ошибка в моем затмении, которая означала, что она откажется открыться. Просто "Google Eclipse Wont Open" есть множество ссылок. Я чувствую себя глупо, что так долго меняюсь

ним чимпский
источник
Это очень полезный список, но вы забыли упомянуть, о какой IDE вы говорите. На основании вашего упоминания о версии 12 в последнем предложении, я думаю, это все о IntelliJ.
Ксандер Данн
3

Google недавно объявил, что переводит разработку Android на IntelliJ.

Для этого есть причина. Я использую Eclipse в качестве среды для преподавания курсов в течение последних нескольких лет как на C ++, так и на Android / JAVA. Я наблюдал, как качество Eclipse ухудшается до чего-то, что становится непригодным для использования. Осенью 2012 года я применил Eclipse Juno для своего курса, и это была полная катастрофа. Мало того, что программа была невероятно вялой и загруженной ошибками, она имела несколько изменений пользовательского интерфейса, которые были за пределами глупости. Сейчас я использую его как пример плохого дизайна пользовательского интерфейса.

Я не могу рекомендовать Eclipse никому в данный момент. База данных ошибок стала настолько большой, что нет никаких шансов, что они когда-либо обратятся к ней, даже к небольшой части.

Чарльз
источник
Это полезно на высоком уровне, но не могли бы вы дать более подробную информацию?
Казарк
1

Я не знаю, какие сильные удары по функциям, но одна вещь, которую я обнаружил при использовании среды IntelliJ на протяжении десятилетия, это то, что команды разработчиков в JetBrains проделали большую работу и то, что IDE «индексируют мир», и функции индексирования и автозаполнения, и адаптивные, и согласованные - я обычно не думаю об этом, но с отзывчивостью плюс количеством сочетаний клавиш (и возможностью сопоставления подробнее), IntelliJ позволяет очень просто нарастить «мышечную память» при использовании редактора.

Немаловажно, когда вы можете писать код, автозаполнять, компилировать и тестировать, не отрывая пальцев от клавиатуры, и таким образом, что это не похоже на стереотипное вялое Java-приложение.

Чед Томпсон
источник