Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

1 2 3 4 5
Avatar
Alain Gaillard
Le Fri, 19 Jan 2007 04:18:02 -0800, James Kanze a écrit :


Salut James :)
J'étais sûr que tu ne résisterais pas à entrer dans cette discussion :)

Ça dépend de si les nouveaux outils apportent quelque choses où
non, non ?


Absolument :)
Tu sais on a déjà parlé de tout ça, il n'y a pas tellement longtemps
d'ailleurs.

J'en conclus qu'en ce qui concerne l'édition des programmes, emacs et
vim, c'est encore ce qu'il y a de plus « moderne ».


Pendant longtemps je l'ai dit moi même. Mais maintenant je trouve un
Eclipse ou un Visual Studio 2005 plus moderne.
Ne serait-ce que pour la completion de code.
A moins que j'ai loupé quelque chose sous Emacs, l'assistance au codage
en général et la complétion en particulier sont bien plus confortables
avec avec Eclipse ou VS 2005.
Et le débogage aussi. Sous VS c'est vraiment top.
Ah oui, c'est vrai tu n'utilises pas de débogueur. ;)
Enfin si, parfois de ton aveux, pour débogueur le code des autres ;)

--

Alain

Avatar
Jean-Marc Bourguet
Alain Gaillard writes:

Le Fri, 19 Jan 2007 04:18:02 -0800, James Kanze a écrit :


Salut James :)
J'étais sûr que tu ne résisterais pas à entrer dans cette discussion :)

Ça dépend de si les nouveaux outils apportent quelque choses où
non, non ?


Absolument :)
Tu sais on a déjà parlé de tout ça, il n'y a pas tellement longtemps
d'ailleurs.

J'en conclus qu'en ce qui concerne l'édition des programmes, emacs et
vim, c'est encore ce qu'il y a de plus « moderne ».


Pendant longtemps je l'ai dit moi même. Mais maintenant je trouve un
Eclipse ou un Visual Studio 2005 plus moderne.


Moderne n'est pas une qualite que je cherche. Je veux quelque chose
d'utilisable.

Visual Studio a un defaut rehidibitoire, il fonctionne sur
aucune des plateformes qui m'interessent :-)

Eclipse..., j'ai essaye une fois sur le programme sur lequel je travaille.
Il a mouline pendant environ quarante cinq minutes quand je lui ai indique
la racine du projet puis a crashe. Je me suis dit que je devrai essaye de
trouver l'option qui permet de ne pas indexer, mais une recherche rapide
n'a rien trouve et j'avais pas le temps de fouiller en profondeur.

Sunstudio est d'une lenteur insupportable.

Je reste a emacs... en attendant d'avoir une solution moderne qui
fonctionne sur ma plateforme principale (pour le moment Sparc Solaris, mais
on remplace ma sparc par une linux lundi... quand j'aurais le temps je
reessaierai vraissemblablement ce qui est disponible pour voir).

Ne serait-ce que pour la completion de code.


Ah... mais s'il est impossible d'indexer le projet sans crasher, je suppose
que cette meilleure completion n'est pas disponible.

A moins que j'ai loupé quelque chose sous Emacs, l'assistance au codage
en général et la complétion en particulier sont bien plus confortables
avec avec Eclipse ou VS 2005.


Pas sur que le gain vaille la peine d'apprendre un autre environnement et
de perdre des choses que j'utilise. J'ai des collegues qui utilisent VS
comme interface pour le debuggeur, mais passe a Emacs pour editer.

Et le débogage aussi. Sous VS c'est vraiment top.
Ah oui, c'est vrai tu n'utilises pas de débogueur. ;)
Enfin si, parfois de ton aveux, pour débogueur le code des autres ;)


J'utilise le debuggeur plus que James et c'est la raison pour laquelle je
regarde un peu le reste... je finirai peut-etre par trouver quelque chose
de mieux pour cette partie qu'Emacs (sur Sun, j'utilise toujours workshop,
meme s'il n'est plus supporte depuis je ne sais pas combien de temps parce
que sunstudio sense le remplace est insupportablement lent; les deux
peuvent utiliser emacs comme editeur). Ca ne me derange vraiment pas
d'utiliser deux outils, c'est de toute maniere deux choses differentes que
je fais dans des contextes mentaux differents.

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 Fri, 19 Jan 2007 14:14:26 +0100, Jean-Marc Bourguet a écrit :


Visual Studio a un defaut rehidibitoire, il fonctionne sur
aucune des plateformes qui m'interessent :-)


C'est rédhibitoire, incontestablement :)

Eclipse..., j'ai essaye une fois sur le programme sur lequel je travaille.
Il a mouline pendant environ quarante cinq minutes quand je lui ai indique
la racine du projet puis a crashe.


??
Jamais vu ce problème.

Sunstudio est d'une lenteur insupportable.


IL doit y avoir trop de Java là-dessous

Je reste a emacs... en attendant d'avoir une solution moderne qui
fonctionne sur ma plateforme principale (pour le moment Sparc Solaris, mais
on remplace ma sparc par une linux lundi... quand j'aurais le temps je
reessaierai vraissemblablement ce qui est disponible pour voir).


Alors retour au début de la discussion.
Kdevelop peut être :)
Ou bientôt Codeblocks car il aura muri.

Ne serait-ce que pour la completion de code.


Ah... mais s'il est impossible d'indexer le projet sans crasher, je suppose
que cette meilleure completion n'est pas disponible.


Sans doute.
Mais moi je t'assure que sur mes Linux et mes Windows ça marche très
bien.

Ca ne me derange vraiment pas
d'utiliser deux outils, c'est de toute maniere deux choses differentes que
je fais dans des contextes mentaux differents.


Pour sûr le principal est d'en être satisfait.


--

Alain


Avatar
James Kanze
Alain Gaillard wrote:

Ça dépend de si les nouveaux outils apportent quelque choses où
non, non ?


Absolument :)
Tu sais on a déjà parlé de tout ça, il n'y a pas tellement longte mps
d'ailleurs.


En effet. Je me rappelle, d'ailleurs, que certains outils
profitaitent bien d'une connaissance importante de C++ (ce qui
manque effectivement à vim ou à emacs), que l'achèvement du nom
après std::, par exemple, prenait en compte les symboles de la
bibliothèque standard (même s'ils n'était pas présentent déjà
dans le code), et que les symboles de la bibliothèque standard.

Depuis, il y a eu deux discussions dans les groupes anglophones
qui m'ont fait poser des questions. D'abord, chez moi (avec vim,
mais je me suis servi d'une fonctionnalité semblable avec emacs
dans la passée), si j'ouvre un fichier qui n'existe pas, et le
nom du fichier se termine par .hh, .hpp ou .hxx, l'éditeur me
génère automatiquement quelque chose du genre :


/************************************************************************** **/
/* File: toto.hh
*/
/* Author: J. Kanze
*/
/* Date: 19/01/2007
*/
/* Copyright (c) 2007 James Kanze
*/
/*
------------------------------------------------------------------------
*/

#ifndef toto_hh_20070119164730AEDA9DCB20108BE4C3AD124DAA2E1E5A
#define toto_hh_20070119164730AEDA9DCB20108BE4C3AD124DAA2E1E5A

#endif
// Local Variables: --- for emacs
// mode: c++ --- for emacs
// tab-width: 8 --- for emacs
// End: --- for emacs
// vim: set ts=8 sw=4 filetype=cpp: --- for vim

et positionne le cursur après le #define. Si en revanche le nom
se termine par .cc, .cpp ou .cxx, j'ai la même chose, sans les
gardes d'inclusion, mais avec l'include du fichier d'en-tête qui
correspond, s'il existe. Le fait que l'éditeur puisse faire une
chose du genre (quand même assez fondamental) semblait étonner
plus d'un.

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

int toto ; // c'est toto
int nomTresLong ; // ce n'est pas toto

plutôt que :

int toto ; // c'est toto
int nomTresLong ; // ce n'est pas toto

(ce qui correspond au caractères qu'on a réelement entrés).

J'en conclus qu'en ce qui concerne l'édition des programmes, emacs et
vim, c'est encore ce qu'il y a de plus « moderne ».


Pendant longtemps je l'ai dit moi même. Mais maintenant je trouve un
Eclipse ou un Visual Studio 2005 plus moderne.
Ne serait-ce que pour la completion de code.


Pour l'achèvement des symboles, c'est probable. Mais ce n'est
qu'une petite partie du problème.

A moins que j'ai loupé quelque chose sous Emacs, l'assistance au codage
en général et la complétion en particulier sont bien plus confortab les
avec avec Eclipse ou VS 2005.
Et le débogage aussi. Sous VS c'est vraiment top.


En ce qui concerne le débogage, autant que je sache, emacs est
le seul à supporter une seule session d'édition sur plusieurs
terminaux différents. Ce qui est fort utile dans les révues de
code. Le fait d'avoir le même éditeur sur toutes les plateformes
où tu dois déboguer n'est pas négligeable non plus.

Ah oui, c'est vrai tu n'utilises pas de débogueur. ;)


Pour les post mortem, si. Mais je ne vois pas ce que l'éditeur y
a à faire.

Enfin si, parfois de ton aveux, pour débogueur le code des autres ;)


Aussi pour les post mortem, pour savoir où le code était quand
il y a eu le core.

--
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
Michel Decima

Depuis, il y a eu deux discussions dans les groupes anglophones
qui m'ont fait poser des questions. D'abord, chez moi (avec vim,
mais je me suis servi d'une fonctionnalité semblable avec emacs
dans la passée), si j'ouvre un fichier qui n'existe pas, et le
nom du fichier se termine par .hh, .hpp ou .hxx, l'éditeur me
génère automatiquement quelque chose du genre :


[snip]

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.

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


meme remarque ;)

Avatar
Alain Gaillard
Le Fri, 19 Jan 2007 08:13:44 -0800, James Kanze a écrit :


Depuis, il y a eu deux discussions dans les groupes anglophones
qui m'ont fait poser des questions. D'abord, chez moi (avec vim,
mais je me suis servi d'une fonctionnalité semblable avec emacs
dans la passée), si j'ouvre un fichier qui n'existe pas, et le
nom du fichier se termine par .hh, .hpp ou .hxx, l'éditeur me
génère automatiquement quelque chose du genre :


Et alors ? Je ne vois pas où tu veux en venir ?

Pour l'achèvement des symboles, c'est probable. Mais ce n'est
qu'une petite partie du problème.


Oui puisqu'on parle d'IDE ce n'est qu'une petite partie du problème :)

Pour les post mortem, si. Mais je ne vois pas ce que l'éditeur y
a à faire.


Ben la question initiale porte sur les IDE, environnements de
développement intégrés. Moi intégré je le comprend un peu comme tout
en un (*)
Donc ça concerne, ou peut concerner, le débogage. D'ailleurs comme tu le
disais, l'achèvement de code ce n'est qu'une petite partie du problème ;-)


(*) Même si on peut très bien utiliser plusieurs outils simultanément
comme le fait remarquer Jean Marc. Eclipse-CDT et le QDesigner pour
prendre ce seul exemple.

--

Alain

Avatar
Radamanthe
James Kanze wrote:
Ah oui, c'est vrai tu n'utilises pas de débogueur. ;)


Pour les post mortem, si. Mais je ne vois pas ce que l'éditeur y
a à faire.


J'ai toujours été fana d'Emacs et plutôt enclin à critiquer Microsoft et
toute sa clique. J'ai dû utiliser VS (à contre coeur) pendant des années
avec son debugger intégré, et aujourd'hui je suis revenu à Emacs (ça n'a
pas toujours été simple de travailler avec des outils libres sous win32,
particulièrement en ce qui concerne les debuggers) pour mon plus grand
plaisir.

Cependant, force m'est de reconnaître que le debugger de VS... me
manque. Car si effectivement, l'éditeur n'a rien à y faire (et je ne
suis pas aveuglé au point d'avoir une once de considération pour
l'éditeur proprement dit de VS vis-à-vis d'Emacs), l'intégration du
debugger de VS avec son éditeur a atteint des sommets bien plus hauts
qu'Emacs et son néanmoins excellent GUD (libre et modulaire, ça a au
moins le mérite de justifier mes choix, gniark). Après, ce n'est sans
doute qu'une question temps avant que cela change.


--
R.N.


Avatar
Radamanthe
James Kanze wrote:
Alain Gaillard wrote:

Mais bon quoi ?


Avec toute l'estime que j'ai pour Emacs, et toute la considération pour
les innombrables services rendus, se servir d'outils plus modernes pour
coder en C++, ça n'est pas plus mal AMHA.


Ça dépend de si les nouveaux outils apportent quelque choses où
non, non ? Dans les groupes anglophones, il m'est arrivé
plusieurs fois de dire que quelque chose n'était pas un
problème, parce que l'éditeur s'en occuper automatiquement, et
qu'il y avait des réponses « quel éditeur ». Chaque fois, il
s'agissait de quelque chose que emacs supporte de standard, et
qu'on peut configurer dans vim.

J'en conclus qu'en ce qui concerne l'édition des programmes,
emacs et vim, c'est encore ce qu'il y a de plus « moderne ».


/s/moderne/mûr/ en ce qui concerne l'exemple dont tu parles et que tu
développes plus loin. Ce genre de fonctionnalités doit bien avoir 20 ans
dans Emacs...


--
R.N.



Avatar
Radamanthe
Jean-Marc Bourguet wrote:
A moins que j'ai loupé quelque chose sous Emacs, l'assistance au codage
en général et la complétion en particulier sont bien plus confortables
avec avec Eclipse ou VS 2005.


Pas sur que le gain vaille la peine d'apprendre un autre environnement et
de perdre des choses que j'utilise. J'ai des collegues qui utilisent VS
comme interface pour le debuggeur, mais passe a Emacs pour editer.


Si tu compiles avec le compilateur de VS sous Emacs, ce que je fais
encore hélas pour la maintenance de vieux projets, tu n'as surtout pas
d'autre choix pour debugger !

A moins qu'une âme charitable dépiaute l'affaire et nous fasse un
chouette front-end sous le GUD d'Emacs.




--
R.N.


Avatar
James Kanze
Michel Decima wrote:

Depuis, il y a eu deux discussions dans les groupes anglophones
qui m'ont fait poser des questions. D'abord, chez moi (avec vim,
mais je me suis servi d'une fonctionnalité semblable avec emacs
dans la passée), si j'ouvre un fichier qui n'existe pas, et le
nom du fichier se termine par .hh, .hpp ou .hxx, l'éditeur me
génère automatiquement quelque chose du genre :


[snip]

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 ?^$?

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

#! /bin/sh

########################################################################### ###
# File: hh-init
# Author: J. Kanze
# Date: 02/11/2004
# Copyright (c) 2004 James Kanze
#
----------------------------------------------------------------------------

error() {
progName="` basename $0 `"
echo "${progName}:" "$*"
exit 2
}

prefix=
while [ $# -gt 0 ]
do
case $1 in
-P)
shift
if [ $# -le 0 ]
then
error "-P requires argument"
exit 2
fi
prefix=$1
;;

-P*)
prefix="` expr $1 : '-P(.*)' `"
;;

*)
if [ "$filename" != "" ]
then
error "too many filenames given"
fi
filename="$1"
;;
esac
shift
done

if [ "$filename" = "" ]
then
error "no filename given"
fi

if [ "$prefix" = "" ]
then
if expr "/$filename" : '.*/gb/[^/[^/]*$' > /dev/null
then
prefix=GB_
fi
fi

name=` basename "$filename" `
guard1=${prefix}` basename "$filename" | sed -e
's:[^a-zA-Z0-9_]:_:g' `
guard2=`date +%Y%m%d%H%M%S`
guard3=`od -tx1 -N 16 /dev/random | head -1 | sed -e 's/^[0-9]* //'
-e 's/ //g' | tr '[a-f]' '[A-F]'`
guard=${guard1}_${guard2}${guard3}

header -lc -m4 $name
echo
echo "#ifndef $guard"
echo "#define $guard"
echo
echo "#endif"
echo "// Local Variables: --- for emacs"
echo "// mode: c++ --- for emacs"
echo "// tab-width: 8 --- for emacs"
echo "// End: --- for emacs"
echo "// vim: set ts=8 sw=4 filetype=cpp: --- for vim"
# Local Variables: --- for emacs
# mode: sh --- for emacs
# tab-width: 8 --- for emacs
# End: --- for emacs
# vim: set ts=8 filetype=sh: --- for vim

Par exemple. ("header" est un programme à moi, écrit pour des
raisons historique en C++, mais il serait assez facile de faire
la même chose en AWK, par exemple. Mais les sources en sont
disponible à ma site.)

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.

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.)

--
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


1 2 3 4 5