Comparaison des IDE pour le développement C ++ et C sur Linux: KDevelop, Eclipse, NetBeans, CodeBlocks et Anjuta [fermé]


49

J'aimerais souligner votre expérience des IDE complets sous Linux.

Personnellement, je travaille surtout avec d' vimautres programmeurs, mais j'aimerais voir un véritable IDE. J'aimerais donc connaître votre opinion personnelle sur différents IDE et leur comparaison, dans le contexte suivant:

  • C ++ et peut-être du développement en C (pas Java, Python et autres)
  • Programmation côté serveur (pas besoin de développement d'interface graphique)
  • Travailler sur Linux, pas de développement "multi-plateforme".

Avis à prendre en compte:

  1. Est-ce que c'est stable? Si IDE plante, je n'en ai pas besoin.
  2. Confortable à utiliser.
  3. Puissant pour le débogage.
  4. Intégration avec divers systèmes de build
  5. Evolutivité sur de gros projets (projets de centaines de milliers de lignes de code)

J'avais l'habitude de travailler avec KDevelop et c'était très agréable IDE et semble que KDevelop 4 est un énorme progrès. Il semble également que beaucoup utilisent plutôt Netbeans et Eclipse.


9
Je suis très intéressé par les réponses que vous obtiendrez et je serais reconnaissant aux personnes qui apportent des réponses d’écrire deux ou trois points qui m’intéressent. adaptabilité à une structure de projet qui n'est pas celle utilisée par défaut par l'EDI. Mes expériences ont plusieurs années mais à cette époque, tout ce que j’essayais d’échouer a échoué.
AProgrammer

@AProgrammer - très bon point, ajouté à la liste.
Artyom

Vous pouvez également consulter CodeLite- codelite.org . Malheureusement, je n'ai pas beaucoup d'expérience dans l'utilisation de projets énormes. Néanmoins, il peut être intéressant de le vérifier.
rsc

Avec les plugins project et clang_complete et une configuration correctement configurée, vim vous donnera presque tout ce que l’EDI aurait (sauf le débogage). De toute façon, je pense que vous resterez chez vim; Je fais certainement.
Jan Hudec

Je me demandais juste à ce sujet moi-même. Merci d'avoir posté cette question.
Suspendu le

Réponses:


39

Voici mon expérience personnelle avec les IDE. J'ai installé tous les IDE que j'ai pu trouver et j'ai joué avec tous (c'est ce que je vous conseillerais de faire):

  • kdevelop

Je l'utilise personnellement. La version que j'ai installée plante, mais j'ai téléchargé la dernière version à partir de leur site et cela fonctionne bien. Il est simple à configurer et agréable à utiliser. Ils prennent en charge le système de construction personnalisé via des plug-ins. Vous pouvez trouver des fonctionnalités étranges (comme analyser uniquement les en-têtes inclus directement), mais généralement cela fonctionne bien pour les grands projets.

  • éclipse

Super complexe à configurer, mais ça permet littéralement tout. Si vous avez assez de temps pour trouver une configuration correcte qui plaira à tout le monde, allez-y. Mais essayer de changer quoi que ce soit est très ennuyeux car il y a tellement d'options.

  • anjuta et codeblocks

Je l'ai essayé peu de temps, et ce n'était pas aussi bon que les deux précédents. Codeblocks est bon pour les projets courts, mais pas pour les moyennes et grandes entreprises.

  • netbeans

Un autre bon IDE, mais comme ma maison est sur un partage réseau et que le projet sur lequel je travaille est assez grand, il était très lent. Il analyse tout le temps.

  • qtcreator

Simple à configurer, il manque beaucoup d'options. Par exemple, la chose la plus étrange est qu’il ne peut pas analyser et compléter automatiquement les classes qt. Prend en charge le système de construction personnalisé.


De conclure :

  • si vous êtes assez patient (ou si vous trouvez une bonne configuration), optez pour eclipse. C'est vraiment le meilleur IDE gratuit.
  • Si vous voulez quelque chose de simple à configurer, utilisez kdevelop.

Une autre option consiste à installer les deux et à laisser vos développeurs choisir ce qui leur convient le mieux.


16
Eclipse est un élément lent de Java ... Il n’ya aucune raison de l’utiliser sauf s’il n’ya absolument aucune alternative. Sur mon PC, cela a juste commencé en un peu moins d'une minute. Nuff a dit, non?
Codeur

10
@ Coder Eh bien, vous ne le lancerez qu'une fois et vous l'utiliserez toute la journée sans avoir à redémarrer. C'est une idée. 1 minute n'est rien comparé à combien de temps vous l'utiliserez dans une journée.
B43овић

6
@VJovic: La commutation entre les onglets prend entre 18 secondes et 1 seconde, et les ralentissements ne sont pas d'abord des ralentissements. Même Visual Studio semble accrocheur par rapport à cela.
Coder

7
@ Coder Comme Edison l'a dit, votre installation ou votre environnement n'est pas bon. Mon éclipse est super rapide. Le changement d'onglet est presque instantané.
BЈовић

4
Ecilpse perd de la mémoire comme un tamis. La machine Linux multi-utilisateur, avec 16 Go de RAM, manque de RAM et quelques instances d’Eclipse (CDT) sont exécutées pendant plus de quelques jours. Par conséquent, le lent démarrage est un problème, car vous devez redémarrer au moins une fois par jour, ou ralentir puis entrer dans l'équipe de développement. Utilisation de la mémoire RAM Eclispe - 600 Mo / instance augmentant à 100 / jour. IDE 50Meg / instance entièrement développé augmentant à 0 / jour, VIM, 10Meg croissant à 0 / jour. Un IDE commercial, avec un prix de 250 USD / siège, affichait un retour sur investissement inférieur à 1 an sur la seule perte de productivité liée au chargement d’Eclipse une fois par jour.
mattnz

13

Jetez un coup d'œil à Qt Creator.

  • C'est assez stable. Je ne me souviens d'aucun crash avec elle.
  • Il faut un peu de temps pour s'habituer à l'absence d'onglets, mais l'interface globale est bonne.
  • Il utilise gdb. Le débogage n’est pas aussi performant que dans Visual Studio mais reste néanmoins très bon. Il intègre également maintenant le profileur (Valgrind).
  • Il s'intègre avec qmake et CMake. Mais vous pouvez exécuter des commandes personnalisées pour pouvoir utiliser presque tout.
  • Je ne peux rien dire sur les projets énormes, mais il a été conçu et utilisé par les mêmes personnes qui écrivent Qt, de sorte que les exigences sont élevées.
  • Il ne semble pas faire d’hypothèses sur la structure du projet.

J'ai essayé KDevelop 4 il y a quelque temps. Il va certainement dans la bonne direction mais légèrement buggy. Vous voudrez peut-être l'essayer quand même.

J'ai utilisé CodeBlocks pendant très peu de temps mais je me souviens que je n'aimais pas ça parce qu'Interface était moche.


8

De nombreux développeurs de GCC (GCC et a 5 à 9 millions de lignes de code source, selon la façon dont vous comptez les) il suffit d' utiliser emacs ou viavec des utilitaires comme grep, ctagsou etags, make, svn, gcc, etc.).

Vous n'avez pas besoin d'un IDE pour développer un gros logiciel.

Si votre logiciel est suffisamment volumineux (par exemple, au moins 0,3 million de lignes), vous pouvez même envisager de personnaliser GCC via des plug-ins ou des extensions MELT , à des fins de métrique de logiciel, de navigation de logiciel, d'avertissements spécifiques, de règles de codage, etc.


10
Ce n'était pas la question. Comme je l'ai noté, j'utilise principalement vim (avec grep, ctags, etc.) - je sais à quel point c'est bon. Cependant, de nombreux programmeurs préfèrent IDE
Artyom

1
Les IDE sont particulièrement utiles pour les fonctionnalités liées aux classes C ++, qui sont très difficiles à configurer dans Vim. Raw C est OK avec les balises.
Ciro Santilli a annoncé le

6

Je travaille principalement avec Eclipse. J'ai utilisé KDevelop avec une grande satisfaction pendant des années, mais je travaille maintenant sur des projets multilingues (C, C ++, PHP, Java, Python, Base de données, Web, etc.).

Avantages d'Eclipse: beaucoup d'outils pour tout (y compris le contrôle de version); fonctionne très bien pour la vérification de la syntaxe, et l'auto-complétion. Bon travail lors de la compilation / construction / débogage. Il est multi-plateforme (Linux, Windows, Solaris, etc.)
Inconvénients: certaines fonctions ou certains paramètres sont un cauchemar (par exemple, lorsque vous devez déployer le projet de votre poste de travail sur le serveur, Eclipse conserve une sorte de cache, et si il pense que le fichier sur le serveur est "à jour", le fichier n'est pas écrasé). Eclipse est énorme , étouffe la majeure partie de votre puissance CPU et draine toute votre mémoire. Plus d'informations sur http://www.ihateeclipse.com .

KDevelop est rapide et utile pour les projets C / C ++ et KDE / Qt, mais il manque certaines fonctions telles que le support de Mercurial (KDevelop 3.3.4, je ne sais pas pour les versions plus récentes).


4

Visual SlickEdit - commercial, comme tout bon outil, "fonctionne". Gère chaque langue sous le soleil, prête à l'emploi, hautement configurable et, si nécessaire, entièrement programmable, met en place une interface utilisateur autour de GDB pour le débogage. Gère de très gros projets (je l’utilise pour une base de code de 5 millions de dollars + SOLC, avec laquelle je joue avec environ 1 million d’entre eux.) - A remporté de nombreuses récompenses et s’est améliorée depuis. L'essayer

Eclipse - Outil de choix lors de la programmation en Java, OK pour tout langage pris en charge. Écrit en Java pour les développeurs Java développant des programmes Java. Mais a besoin de plugins pour chaque minuscule fonctionnalité et fonctionnalité majeure. Ne "fonctionne pas" pour plus d'une langue à la fois.


4

Netbeans est un IDE lent et lent. Nous n'utilisons pas d '"ordinateurs de dinosaures", mais cet IDE est suspendu pendant assez longtemps. Si nous accédons à l'EDI Netbeans sur le réseau (par exemple, en utilisant VNC), alors oubliez ça !!! Le décalage est tel que Netbeans devient inutilisable!

Je trouve Eclipse intimidant et difficile à configurer pour la première utilisation, mais si vous persévérez, vous obtiendrez un IDE qui contient tout ce dont vous pouvez avoir besoin (éventuellement au moyen de plug-ins).

Je ne veux pas utiliser plus d'un IDE, et je suppose que vous ne le faites pas non plus. Je recommanderais Eclipse, avec tous ses défauts.


4

Donc ... je viens juste d'ajouter un autre avis mais je ne pense pas que vous puissiez le choisir en tant qu'utilisateur vim, donc

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

Tout d’abord, ce sera l’ IDE le plus léger (je peux même l’appeler système d’exploitation) et le plus personnalisable afin que vous puissiez tout faire avec un minimum d’utilisation des ressources, à l’exception de certaines ressources de mémoire de configuration lisp.

Personnellement, lorsque j'ai un projet sérieux, j'utilise Visual Studio. Mais lorsque je dois travailler sur Linux, je lance emacs. (aussi je n'aime pas du tout)

Aussi (principalement parce que j'aime le plug-in last.fm et le support clojure), j'ai trouvé un bel IDE pour Linux (j'essaie toujours de passer à emacs == 'pour certaines raisons) IDEA , je ne recommande pas de l'utiliser pour C ++ mais peut-être ce n'est pas mal aussi pour que vous puissiez l'ajouter à votre liste.


1

QT et CodeBlocks sont ok. J'utilise CodeBlocks ces derniers temps.

Il peut être configuré pour des projets de makefile, la complétion de code fonctionne généralement et ne se bloque pas comme dans MSVS, la définition est extrêmement rapide. La navigation dans les fonctions est également bien faite.

Il y a quelques problèmes mineurs, mais pour le travail quotidien sur Linux, c'est très bien, à mon humble avis.


0

Ma seule tentative d'utilisation d'un IDE sur Linux a eu lieu en 2005, mais à ce moment-là, aucun IDE que j'avais essayé (KDevelop, eclipse, Anjuta) n'était efficace, alors je suis retourné à vim + ctags + gdb et je l'ai encore utilisé pour le codage Linux.


C'est probablement vous qui connaissez la réponse: comment aller à une implémentation de méthode dans une autre classe de hiérarchie (implémentation parent / enfant) dans vim.
Sergei

Par exemple, dans Eclipse, la combinaison est Ctrl + T sur un nom de méthode.
Sergei

@Sergei Désolé, ctags ne supporte pas cela. Vous pouvez avoir plus de chance avec quelque chose comme YCM
Nemanja Trifunovic
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.