OVH Cloud OVH Cloud

Quelle IDE choisir ?

63 réponses
Avatar
leo.hal
Bonjour,

Je d=E9bute en c++, et voudrais savoir quelles sont les bonnes IDE
gratuite si possible.

Merci.

10 réponses

Avatar
James Kanze
Loïc Joly wrote:
J'avoue que j'étais assez
étonné quand des gens dans comp.std.c++ se plaignait à cause de
la risque d'oublier les gardes d'inclusion -- ça fait des
années que l'éditeur les insère pour moi (avec le copyright, et
toute la reste qu'il faut). Du coup, mon éstîme pour des
éditeurs dans les IDE a beaucoup baissée.


Si tu prends par exemple visual C++, il ne mets pas les include guards
tout seul (d'ailleurs, les wizards ont plutôt tendance à utiliser un
#pragma once...),


Et voilà ma réponse. Je le trouvais un peu incroyable que
Microsoft ne supporte quelque chose d'aussi évidente (et qui
vaut pour absolument tous les programmeurs C++, quelque soit
leur domaine d'application). Alors, il se base sur les wizards,
plutôt que directement sur l'éditeur. Pourquoi pas, après
tout ; certains de mes scripts d'initialisation pour vim sont
aussi interactifs (et d'autres bénéficierait peut-être de
l'être). (J'ai aussi travaillé dans des boîtes qui comptait sur
le gestionnaire de versions pour ce genre de chose ; quand tu
crées un nouveau fichier dans le gestionnaire de version, il
ajoute ce qu'il faut.)

mais bon, à ce que j'ai vu, vim non plus. Tu as du
programmer pour l'étendre.


Pas vraiment programmer, mais configurer. Comme j'ai indiqué
dans un autre posting, la configuration, en ce qui concerne vim,
c'est une seule ligne dans le fichier .vimrc. Ensuite, j'ai
effectivement créé un programme (en script shell) pour la
génération, de façon à avoir ce que je voulais, et non un défaut
que quelqu'un d'autre aurait choisi pour moi. (Tu remarqueras,
par exemple, que le fichier termine avec des commandes vim et
emacs pour assurer que d'autres édite le fichier avec certaines
des mêmes options que moi, pour m'assurer qu'il le voit de la
même façon que je l'ai vu.) Vue qu'à la création du fichier, il
faut en tout cas un copyright, ce qui serait forcément différent
d'une personne à l'autre, je ne vois pas d'autre solution. (Je
parie que chez Microsoft, il y a aussi une possibilité de
configurer le Wizard pour qu'il génère le copyright que tu
veux.)

Et visual C++ est lui aussi programmable. Je
n'ai jamais pris le temps de le faire, parce que finalement, je n'ajoute
pas des dizaines de fichiers par jour à mno code, mais je pense qu'il
n'y a là rien d'impossible, ni même de vraiement difficile.


À vrai dire, c'est ce que je m'aurais attendu. C'est plutôt
suite à des réactions d'autres qui m'ont fait pensé le
contraire.

Dans le monde professionnel, je crois qu'on ne peut pas s'en
passer, à un niveau ou d'autre, à cause de la nécessité d'être
sûr que chaque fichier contient un message de copyright --
typiquement établi par les services juridiques. Dans le cas
d'emacs ou de vim, on a bien la possibilité de faire dans
l'éditeur. Que ce soit à travers le wizard (à condition qu'on ne
peut créer de nouveaux fichiers qu'à travers le wizard) ou par
le gestionnaire des versions, c'est aussi bien.

--
James Kanze (Gabi Software) email:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


Avatar
Alain Gaillard
Le Sun, 21 Jan 2007 03:23:50 -0800, a écrit :


Dans le poste initial, j'ai dit que4 je débutais, or lorsqu'on débute
on n'écrit pas 200 000 lignes de code. ^^


Ah bon ?

Oui, sans blague j'avais bien compris :)
Mais quand tu interviens pour dire qu'avec une petite bécane ça va pour
Eclipse, tu enduis d'erreur les gens qui envisagent un gros projet avec.
Eclipse (pareil pour Netbeans, même pire) c'est du Java, c'est gourmand
en ressources et ça ne va pas sur de petites bécanes.

Idem : j'ai dit que je ne m'y connaissait pas. Je n'ai pas dit qu'il
avait un problème a fabriquer un makefile. Et je serais ravi de savoir
comment compiler sans makefile :o)


Mais si tu ne connais pas, ne dis pas que ce n'est pas pratique alors :)
Quand on porte un jugement sur une chose, ce n'est pas plus mal de
connaître la chose :)

Bon c'est tout simple. Quand tu appuies sur F10, tu vois make -k qui
apparaît dans le buffer interactif.
A la place tu tapes:

g++ -o monprog monprog.cpp

et voilà :)
Et la deuxième que tu appuieras sur F10 la commande précédemment saisie
reviendras automatiquement :)
Vive Emacs ;)

--

Alain

Avatar
fabien.chene
Alain Gaillard writes:

Idem : j'ai dit que je ne m'y connaissait pas. Je n'ai pas dit qu'il
avait un problème a fabriquer un makefile. Et je serais ravi de savoir
comment compiler sans makefile :o)


Mais si tu ne connais pas, ne dis pas que ce n'est pas pratique alors :)
Quand on porte un jugement sur une chose, ce n'est pas plus mal de
connaître la chose :)

Bon c'est tout simple. Quand tu appuies sur F10, tu vois make -k qui
apparaît dans le buffer interactif.
A la place tu tapes:

g++ -o monprog monprog.cpp


Tiens ? C'est F9 chez moi ;-)

Avec un emacs tout nu - sans fichier .emacs configuré de manière
ad-hoc - c'est M-x compile qui fait apparaître « make -k » (par
défaut) dans le minibuffer.

Vive Emacs ;)


Yep.

--
Fab


Avatar
Jean-Marc Bourguet
Alain Gaillard writes:

Mais faut pas croire, je trouve plein de défaut à Eclipse. Ecrit en
Java, énorme, consommateur de ressources, lourd, etc.


Pour etre plus consommateur en ressource qu'Emacs -- Eight Megs And
Constantly Swapping -- il y a peut-etre un probleme.

problème que pointent Jean Marc et Fabien viennent peut être qu'ils
l'ont essayé sur des machines trop faibles.


et je ne sais pas combien de swap... Je sais, Java sur une Sparc... c'est
du masochisme. sunstudio est aussi tellement lent que c'est quasiment
inutilisable. Mais au moins il ne crashe pas. Pour Eclipse, s'il est si
gourmant que ca en ressource, je crains un probleme de conception qui n'a
peut-etre pas pense aux projets un peu importants.

Un 2Ghz avec 1 Go de ram c'est un strict minimum.


Une SunBlade 1500 avec 2G de memoire.

Bref, le jour ou Emacs se voit doté d'un achèvement de code puissant, je
reprends Emacs :)


L'expansion dynamique d'emacs me convient bien. Faire plus intel
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
Alain Gaillard
Le Mon, 22 Jan 2007 09:33:26 +0100, Jean-Marc Bourguet a écrit :

et je ne sais pas combien de swap...


Lol

Pour Eclipse,
s'il est si gourmant que ca en ressource, je crains un probleme de
conception qui n'a peut-etre pas pense aux projets un peu importants.


Pour avoir étudié Eclipse et écrit moi même un petit plugin, je le
trouve plutôt bien conçu et conçu pour les projets importants.
A un point près, c'est du Java. Le bât blessera toujours là.
Mais sans voulu défendre Eclipse, je ne l'ai jamais vu crasher comme toi
et Fabien le signalez.
Enfin avec Java on a jamais tout vu il est vrai :-)


--

Alain

Avatar
Alain Gaillard
Le Sun, 21 Jan 2007 19:41:37 +0100, Fabien Chêne a écrit :

Tiens ? C'est F9 chez moi ;-)


Disons que j'ai vu Emacs configuré comme ça

(global-set-key [f10] 'compile)
(global-set-key [f9] 'eval-current-buffer)

par défaut dans la plupart des distribs Linux

Avec un emacs tout nu - sans fichier .emacs configuré de manière
ad-hoc - c'est M-x compile qui fait apparaître « make -k » (par
défaut) dans le minibuffer.


Certes. J'ai voulu le dire aussi, mais je me suis retenu.
J'ai eu peur qu'on revienne me dire "pas pratique" ;-)

--

Alain

Avatar
Michel Decima

Michel Decima wrote:
Je serais vraiment interesse par les details de la configuration
necessaire pour obtenir ce genre de chose avec vim... J'imagine
qu'en cherchant dans la doc et la multitude de plugins disponibles
je vais trouver, mais si tu pouvais accelerer les choses, je t'en
remercie par avance.


La partie vim est trivial ; quelque chose du genre :

autocmd BufNewFile *.cc,*.cpp,*.cxx 0r! $HOME/bin/cc-init %
autocmd BufNewFile *.hh,*.hpp,*.hxx 0r! $HOME/bin/hh-init %
autocmd BufNewFile *.sh 0r! $HOME/bin/sh-init %
autocmd BufNewFile *.mk,GNUmakefile 0r! $HOME/bin/gmake-init %
autocmd BufNewFile
*.cc,*.cpp,*.cxx,*.hh,*.hpp,*.hxx,*.sh,*.mk,GNUmakefile +1d
autocmd BufNewFile
*.cc,*.cpp,*.cxx,*.hh,*.hpp,*.hxx,*.sh,*.mk,GNUmakefile ?^$?


Merci, c'est juste ce qu'il me fallait.

La reste, c'est une affaire des scripts shell : j'ai :


La, je vais regarder plus tard, mais merci encore.

Aussi, dans une autre conversation, certains semblaient étonnés
que l'éditeur aligne des commentaires, de façon à obtenir :


meme remarque ;)


Tu marques la zone concernée (avec V et les movements de
cursor), puis : "!aligneq -s //"

Là aussi, aligneq est un programme à moi, dont les sources se
trouvent à ma site.


J'irais voir aussi ce programme. Pour faire la meme chose, j'avais
trouvé un plugin sur le site de vim, mais c'etait un peu trop
"configurable" a mon gout : beaucoup trop de commandes pas faciles
a memoriser.

La véritable puissance de vim, c'est la facilité avec laquelle
on invoque d'autres programmes sur le fichier ou une partie de
texte. (Emacs a la même possibilité, mais il en existe aussi
beaucoup directement écrit en elisp.)


oui, quand on y a gouté, on se demande pourquoi les autres editeurs
ne proposent pas la meme chose.



Avatar
Jean-Marc Bourguet
Alain Gaillard writes:

Le Mon, 22 Jan 2007 09:33:26 +0100, Jean-Marc Bourguet a écrit :

et je ne sais pas combien de swap...


Lol

Pour Eclipse,
s'il est si gourmant que ca en ressource, je crains un probleme de
conception qui n'a peut-etre pas pense aux projets un peu importants.


Pour avoir étudié Eclipse et écrit moi même un petit plugin, je le
trouve plutôt bien conçu et conçu pour les projets importants.
A un point près, c'est du Java. Le bât blessera toujours là.
Mais sans voulu défendre Eclipse, je ne l'ai jamais vu crasher comme toi
et Fabien le signalez.
Enfin avec Java on a jamais tout vu il est vrai :-)


Comme annonce j'ai ma machine Linux au boulot.

J'ai telecharge la derniere version d'eclipse et du plug-in CDT. J'ai fait
"import C++ executable" et ensuite j'ai attendu (longtemps) jusqu'a ce
qu'il me dise "plus de memoire" et qu'il faille le tuer parce qu'il n'y
avait apparemment pas moyen de sortir plus proprement (du moins j'ai
attendu pendant un certain temps et il ne me donnait pas la main).

Inutilisable avec mon projet. Et ne dit pas que c'est un probleme de
machine trop petite (bi xeon a 3 GHz, 2G de memoire, 8 G de swap)


J'essaie un autre EDI qui est installe (Kdevelop). Pas vu le moyen de lui
dire d'utiliser une arborescence existante n'utilisant pas automake. Pas
pour moi non plus apparemment.

Rien d'autre dans le menu "Programming". Et pour installer autre chose, je
dois recompiler et partir dans la chasse aux dependances. J'ai pas le
temps pour un resultat potentiel aussi douteux. A moins qu'on me donne une
suggestion. Ce que je cherche, c'est principalement une meilleure
integration avec le debuggeur qu'Emacs ou DDD.


Pour le moment, retour a emacs sans meme avoir pu voir tout ce qu'apportent
ces fameux EDI.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org


Avatar
Alain Gaillard
Le Mon, 22 Jan 2007 17:43:07 +0100, Jean-Marc Bourguet a écrit :


Comme annonce j'ai ma machine Linux au boulot.


Bravo! :-)
Quelle distrib ?


J'ai telecharge la derniere version d'eclipse et du plug-in CDT. J'ai fait
"import C++ executable" et ensuite j'ai attendu (longtemps) jusqu'a ce
qu'il me dise "plus de memoire" et qu'il faille le tuer parce qu'il n'y
avait apparemment pas moyen de sortir plus proprement (du moins j'ai
attendu pendant un certain temps et il ne me donnait pas la main).

Inutilisable avec mon projet. Et ne dit pas que c'est un probleme de
machine trop petite (bi xeon a 3 GHz, 2G de memoire, 8 G de swap)


Je ne dis pas. La machine est suffisante :-)
bi xeon.... Tu me fais rêver. j'ai envie de m'offrir quelque chose comme
ça ne ce moment.
Par contre ce que je dis c'est: "import C++ executable"
Qu'est-ce que ça veut dire ça, qu'est-ce que tu as voulu faire ?
Pourquoi ne pas importer une arborescence de sources comme tout le monde ?
;-) Et comme tu as voulu le faire avec KDevelop ? D'ailleurs je ne sais
même pas à quoi ça sert ce "import C++ executable". Jamais rien fait
avec.

J'essaie un autre EDI qui est installe (Kdevelop). Pas vu le moyen de lui
dire d'utiliser une arborescence existante n'utilisant pas automake. Pas
pour moi non plus apparemment.


J'ai perdu de vue KDevelop depuis un moment. Mais à l'époque où je m'en
servais, on pouvait (facilement).
Mais je ne me rappelle plus comment.
Par contre je viens juste de compiler un Kde 3.5.5 cet après midi.
Demain si j'ai le temps, je vais compiler KDevelop et regarder ce qu'il en
est. Et je te dirais ici.
KDevelop on aime ou pas. Mais c'est pas mauvais du tout. Et c'est écrit
en C++, pas comme Eclipse ;-)


Rien d'autre dans le menu "Programming". Et pour installer autre chose, je
dois recompiler et partir dans la chasse aux dependances.


Recompiler ?

Pour le moment, retour a emacs sans meme avoir pu voir tout ce qu'apportent
ces fameux EDI.


Emacs reste une valeur sûre, c'est certain :-)

A+ donc :-)

--

Alain

Avatar
fabien.chene
Alain Gaillard writes:

Pour Eclipse,
s'il est si gourmant que ca en ressource, je crains un probleme de
conception qui n'a peut-etre pas pense aux projets un peu importants.


Pour avoir étudié Eclipse et écrit moi même un petit plugin, je le
trouve plutôt bien conçu et conçu pour les projets importants.
A un point près, c'est du Java. Le bât blessera toujours là.
Mais sans voulu défendre Eclipse, je ne l'ai jamais vu crasher comme toi
et Fabien le signalez.


Mes collègues de travail envoient tout valser lors des fameux
«refresh» d'éclipse. Certains vont même jusqu'à simuler une
défenestration du rez de chaussée, ou autres pendaisons à l'aide du
fil de souris :-/

Au bureau, on ne repproche pas à Eclipse de crasher, mais de
«mouliner», sans fin parfois.

--
Fab