Сравнение IDE для разработки на C ++ и C под Linux: KDevelop, Eclipse, NetBeans, CodeBlocks и Anjuta [закрыто]

49

Я хотел бы отметить ваш опыт полномасштабных IDE в Linux.

Я лично работаю в основном с vim, однако другие программисты хотели бы видеть настоящую IDE. Поэтому я хотел бы услышать ваше личное мнение о различных IDE и сравнение между ними в следующем контексте:

  • C ++ и, возможно, некоторая разработка на C (не Java, Python и другие)
  • Программирование на стороне сервера (нет необходимости в разработке GUI)
  • Работа на Linux не "кроссплатформенная" разработка.

Мнение необходимо учитывать:

  1. Насколько это стабильно? Если происходит сбой IDE, мне это не нужно.
  2. Удобно использовать.
  3. Мощный для отладки.
  4. Интеграция с различными системами сборки
  5. Масштабируемость над огромными проектами (проекты с сотнями тысяч строк кода)

Раньше я работал с KDevelop, и это была очень хорошая IDE, и кажется, что KDevelop 4 - огромный прогресс. Кажется также, что многие предпочитают использовать Netbeans и Eclipse.

Артём
источник
9
Меня очень интересуют ответы, которые вы получите, и я был бы благодарен тем, кто дает ответы, если они беспокоятся о двух других вопросах, которые меня интересуют. Масштабируемость для проектов в диапазоне 50 тысяч файлов / 30 миллионов строк и адаптируемость к структуре проекта, которая не используется по умолчанию в IDE. Моим экспериментам уже несколько лет, но в то время все, что я пробовал, в этих аспектах провалилось.
AProgrammer
@AProgrammer - очень хороший момент, добавлен в список.
Артём
Вы также можете взглянуть на CodeLite- codelite.org . К сожалению, у меня нет большого опыта использования его с огромными проектами. Тем не менее, возможно, стоит проверить это.
RSC
С плагинами project и clang_complete и правильно настроенным make, vim предоставит вам практически все, что будет в IDE (кроме отладки). С теми, кого я подозреваю, вы все равно останетесь с vim; Я конечно делаю.
Ян Худек
Мне просто интересно об этом. Спасибо за размещение этого вопроса.
Приостановлено

Ответы:

39

Вот мой личный опыт работы с IDE. Я установил все IDE, которые смог найти, и поиграл со всеми (вот что я бы посоветовал вам сделать):

  • KDevelop

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

  • затмение

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

  • Анюта и кодовые блоки

Я попробовал это в ближайшее время, и это было не так хорошо, как предыдущие два. Codeblocks хорош для коротких проектов, но не для средних и больших.

  • NetBeans

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

  • QtCreator

Прост в настройке, но в нем отсутствует множество опций. Например, самое странное, что он не может анализировать и автоматически завершать классы qt. Поддерживает пользовательскую систему сборки.


Заключить :

  • если вы достаточно терпеливы (или если вы нашли хорошую конфигурацию), используйте затмение. Это действительно лучший бесплатный IDE.
  • Если вы хотите что-то простое в настройке, используйте kdevelop.

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

BЈовић
источник
16
Eclipse - это один медленный кусок Java .... Нет смысла использовать его, если нет абсолютно никаких альтернатив. На моем ПК это началось всего за минуту. Нуфф сказал, нет?
Кодер
10
@ Кодер Хорошо, вы запустите его один раз и будете использовать его весь день без перезапуска. Это идея. 1 минута - ничто по сравнению с тем, как долго вы будете использовать ее в течение дня.
BЈовић
6
@VJovic: переключение между вкладками занимает от 18 секунд до 1 секунды, в зависимости от вкладки, и замедления в первую очередь не используют только замедления. Даже Visual Studio кажется быстрым по сравнению с этим.
Кодер
7
@ Кодер Как сказал Эдисон, у вас плохая установка или среда. Мое затмение супер быстрое. Переключение вкладок происходит практически мгновенно.
BЈовић
4
Ecilpse утечки памяти, как сито. В многопользовательской Linux-системе с 16 ГБ ОЗУ не хватает ОЗУ, при этом несколько экземпляров Eclipse (CDT) работают более нескольких дней. Следовательно, медленный запуск - это проблема, так как вам нужно перезапускать по крайней мере один раз в день или замедлять, а затем вводить команду разработчиков. Использование Eclispe RAM - 600Meg / экземпляр растет на 100 / день. Полнофункциональный IDE 50Meg / экземпляр растет на 0 / день, VIM, 10Meg растет на 0 / день. Одна коммерческая интегрированная среда разработки с ценой в 250 долл. США за место показала только один год, основанный на ROI, на потерянной производительности при загрузке Eclipse один раз в день.
Mattnz
13

Посмотрите на Qt Creator.

  • Это довольно стабильно. Я не помню никаких сбоев с ним.
  • Может потребоваться некоторое время, чтобы привыкнуть к отсутствию вкладок, но в целом интерфейс хороший.
  • Он использует GDB. Отладка не так хороша, как в Visual Studio, но все же довольно хороша. Теперь он также интегрируется с профилировщиком (Valgrind).
  • Он интегрируется с qmake и CMake. Но вы можете запускать пользовательские команды, поэтому должно быть возможно использовать практически все.
  • Ничего не могу сказать об огромных проектах, но они сделаны и используются теми же парнями, которые пишут Qt, поэтому требования высоки.
  • Кажется, он не делает никаких предположений о структуре проекта.

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

Я использовал CodeBlocks в течение очень короткого времени, но я помню, что мне это не нравилось, потому что интерфейс был уродливым.

Антон Барковский
источник
8

Многие разработчики GCC (и GCC имеет от 5 до 9 миллионов строк исходного кода, в зависимости от того, как считать их) просто использовать emacs или такие viутилиты , как grep, ctagsили etags, make, svn, gccи т.д.).

Вам не нужна IDE для разработки большого программного обеспечения.

Если ваше программное обеспечение достаточно велико (например, не менее 0,3 миллиона строк), вы можете даже подумать о настройке GCC через плагины или расширения MELT для целей метрики программного обеспечения, навигации по программному обеспечению, особых предупреждений, правил кодирования и т. Д.

Василий Старынкевич
источник
10
Это был не вопрос. Как я уже отмечал, я в основном использую vim (с grep, ctags и т. Д.) - я знаю, насколько он хорош. Однако многие программисты предпочитают IDE
Артём
1
IDE особенно полезны для функций, связанных с классами C ++, которые очень сложно настроить в Vim. Сырой C в порядке с ctags.
Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件
6

Я в основном работаю с Eclipse. Годами пользовался KDevelop с большим удовлетворением, но сейчас я работаю над многоязычными проектами (C, C ++, PHP, Java, Python, Database, Web и т. Д.).

Преимущества Eclipse: множество инструментов для всего (включая контроль версий); очень хорошо работает для проверки синтаксиса и автозаполнения. Хорошая работа при компиляции / сборке / отладке. Это мультиплатформенность (Linux, Windows, Solaris и т. Д.).
Недостатки: некоторые функции или настройки являются кошмаром (например, когда вам нужно развернуть проект с рабочей станции на сервер, Eclipse сохраняет своего рода кеш, а если он считает, что файл на сервере «обновлен», файл не перезаписывается). Eclipse огромен , подавляет большую часть мощности вашего процессора и истощает всю вашу память. Более подробная информация на http://www.ihateeclipse.com .

KDevelop работает быстро и отлично подходит для проектов на C / C ++ и KDE / Qt, но в нем отсутствуют некоторые функции, такие как поддержка Mercurial (KDevelop 3.3.4, не знаю для более новых версий).

AndrewQ
источник
4

Visual SlickEdit - коммерческий, как и любой хороший инструмент, «просто работает». Работает с каждым языком под солнцем, из коробки, легко настраивается и, если необходимо, полностью программируется, предоставляет графический интерфейс для GDB для отладки. Работает с очень большими проектами (я использую его для кодовой базы в 5 миллионов + SOLC, из которых я играю с около 1 миллиона из них.) - Получил множество наград и стал лучше с тех пор. Попробуй

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

mattnz
источник
4

Netbeans - это медленная, медленная IDE. Мы не используем «компьютеры-динозавры», но эта ИДЕ ВЕНТИЛЯТОР довольно долго. Если мы получим доступ к IDE Netbeans по сети (скажем, с помощью VNC), то забудем об этом !!! Лаг настолько плох, что делает Netbeans непригодным для использования!

Я нахожу, что Eclipse пугающе сложно настроить для первоначального использования, но если вы будете настойчивы, вы получите IDE, в которой есть все, что вам может понадобиться или понадобиться (возможно, с помощью плагинов).

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

Майк
источник
4

Итак ... Я просто добавляю другое мнение, но я не думаю, что вы можете выбрать его в качестве пользователя vim, поэтому

emacs + gdb http://www.cs.bu.edu/teaching/tool/emacs/programming/

во-первых, это будет самая легкая IDE (я даже могу назвать ее операционной системой) и наиболее настраиваемая, так что вы можете делать все с минимальным использованием ресурсов, за исключением некоторых ресурсов для умственного конфигурирования lisp.

Лично, когда у меня серьезный проект, я использую Visual Studio. Но когда мне нужно работать на Linux, я запускаю emacs. (также я не люблю qt вообще)

Также (в основном потому, что мне там нравится плагин last.fm и поддержка clojure), я нашел хорошую IDE для linux (по-прежнему пытаюсь переключиться на emacs с него == ') IDEA , не рекомендую использовать его для C ++, но, возможно, это тоже неплохо, так что вы можете добавить его в свой список.

CND
источник
1

QT и CodeBlocks в порядке. Я использую CodeBlocks в последнее время.

Он может быть сконфигурирован для проектов makefile, завершение кода в основном работает, и не зависает, как в MSVS, переход к определению происходит невероятно быстро. Функция просмотра также хорошо сделана.

Есть небольшие проблемы, но для повседневной работы над Linux это очень хорошо, ИМХО.

кодировщик
источник
0

Моя единственная попытка использовать IDE в Linux произошла в 2005 году, но в то время ни одна из IDE, которые я пробовал (KDevelop, eclipse, Anjuta), не принесла пользы, поэтому я вернулся к vim + ctags + gdb и все еще использовал его для кодирования Linux.

Неманья Трифунович
источник
Вероятно, вы тот человек, который знает ответ: как перейти к реализации некоторого метода в другом классе иерархии (реализация родитель / потомок) в vim.
Сергей
например, в Eclipse комбинация - Ctrl + T в имени метода.
Сергей
@Sergei Извините, ctags не поддерживает это. Возможно, вам повезет больше с чем-то вроде YCM: github.com/Valloric/YouCompleteMe
Неманья Трифунович