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


49

Я хотів би відзначити ваш досвід повномасштабних IDE в Linux.

Я особисто працюю в основному з vim, однак інші програмісти хотіли б побачити справжню 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, які я міг знайти, і грав з ними всі (саме це я б радив зробити):

  • kdevelop

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

  • затемнення

Супер складний в налаштуванні, але він дозволяє буквально все. Якщо у вас є достатньо часу, щоб знайти правильну конфігурацію, яка сподобається всім, тоді займіться нею. Але намагатися змінити що-небудь дуже дратує, оскільки у нього так багато варіантів.

  • анжута та кодові блоки

Я спробував це невдовзі, і це було не так добре, як попередні два. Codeblocks хороший для коротких проектів, але не для середніх і великих.

  • сітчасті боби

Ще одна хороша IDE, але оскільки мій дім перебуває в мережі, а проект, над яким я працюю, досить великий, це було дуже повільно. Він весь час розбирає.

  • qtcreator

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


Прийти до висновку :

  • якщо ви досить терплячі (або якщо ви знайшли гарну конфігурацію), вирушайте із затемненням. Це справді найкращий безкоштовний IDE.
  • Якщо ви хочете налаштувати щось просте, перейдіть з kdevelop.

Інший варіант - встановити обидва, і дозволити вашим розробникам вибрати те, що їм більше підходить.


16
Eclipse - це один повільний фрагмент Java .... Немає підстав використовувати його, якщо немає абсолютно ніяких альтернатив. На моєму комп'ютері він тільки запустився трохи менше хвилини. Нуф сказав, ні?
Кодер

10
@Coder Ну, ви почнете його один раз і використовуватимете його цілий день без перезавантаження. Це ідея. 1 хвилина - це ніщо в порівнянні з тим, як довго ви будете використовувати його в день.
BЈович

6
@VJovic: Перемикання між вкладками займає від 18 секунд до 1 секунди залежно від вкладки, а сповільнення - це не спочатку, а лише сповільнення. Навіть Visual Studio здається спритним порівняно з цим.
Кодер

7
@Coder Як сказав Едісон, ваша установка чи середовище не є гарними. Моє затемнення дуже швидко. Переключення вкладок майже миттєве.
BЈович

4
Ecilpse просочується пам'яттю, як решето. Багатокористувацький Linux-короб, з 16 Gig ОЗУ, закінчується оперативною пам’яттю з кількома екземплярами Eclipse (CDT), що працює більше декількох днів. Отже, повільний старт - це проблема, оскільки вам потрібно перезапустити принаймні один раз на день або сповільнити, а потім запустити команду розробників. Використання оперативної пам’яті Eclispe - 600Meg / екземпляр, що зростає на 100 / день. Повністю показаний IDE 50Meg / екземпляр, що зростає на 0 / день, VIM, 10Meg, зростаючий на 0 / день. Один комерційний IDE з цінником US250 дол. США / сидіння показав менше, ніж на 1 рік солі на основі рентабельності інвестицій, завдяки втраченій продуктивності завантажувати 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. Raw C добре з ctags.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

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, не знаю для нових версій).


4

Visual SlickEdit - комерційний, як і будь-який хороший інструмент, "просто працює". Обробляє будь-яку мову під сонцем, поза коробкою, легко налаштовується і, якщо потрібно, повністю програмується, ставить gui навколо GDB для налагодження. Обробляє дуже великі проекти (я використовую його для кодової бази 5 мільйонів + SOLC, з яких я граю близько 1 мільйона з них.) - Виграв численні нагороди назад і з того часу став кращим. Спробуй це

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


4

Netbeans - повільна, повільна IDE. Ми не використовуємо «комп’ютери динозавра», але ця IDE HANGS досить тривалий час. Якщо ми отримуємо доступ до IDE Netbeans через мережу (скажімо, за допомогою VNC), то забудьте про це !!! Затримка настільки погана, що робить Netbeans непридатними!

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

Я не хочу використовувати більше однієї IDE, і я підозрюю, що ви цього не зробили. Я б рекомендував Eclipse з усіма його помилками.


4

Отже ... Я просто додаю іншу думку, але не думаю, що ви можете обрати її як користувача vim, так що

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

Перш за все, це буде найлегший IDE (я навіть це можу назвати операційною системою) і найбільш настроюваний, так що ви можете робити все з мінімальним використанням ресурсів, крім деяких ресурсів мозкової роботи конфігурації.

Особисто, коли у мене є серйозний проект, я використовую Visual Studio. Але коли мені потрібно працювати над Linux, я запускаю emacs. (також мені взагалі не подобається qt)

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


1

QT і CodeBlocks нормально. Я використовую CodeBlocks останнім часом.

Він може бути налаштований для makefile проектів, завершення коду в основному працює, і не висить, як один у MSVS, перейти до визначення надзвичайно швидко. Перегляд функцій також добре виконаний.

Є деякі незначні проблеми, але щоденна робота в Linux це дуже добре, IMHO.


0

Моя єдина спроба використовувати IDE в Linux сталася в 2005 році, але в той час жодна IDE, яку я намагався (KDevelop, eclipse, Anjuta), не була корисною, тому я повернувся до vim + ctags + gdb і досі використовую його для кодування Linux.


Напевно, ти людина, яка знаєш відповідь: як перейти до реалізації якогось методу в іншому класі ієрархії (реалізація батька / дитини) in vim.
Сергій

наприклад, у Eclipse комбінація - Ctrl + T у назві методу.
Сергій

@Sergei Вибачте, теги не підтримують це. Можливо, вам пощастить з чимось на кшталт YCM
Nemanja Trifunovic
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.