OVH Cloud OVH Cloud

Votre IDE préféré ?

125 réponses
Avatar
Vincent Schmid
Bonjour,
Questions aux développeurs, s'il y en a sur ce groupe :
- Quel est votre langage de développement multi-plateforme préféré ?
- Quel est le meilleur IDE pour Java ?
- Quelqu'un a-t-il essayé Mono ? Est-ce une bonne solution ?
- Y a-t-il quelqu'un qui utilise Kylix ?
Voilà, réponses, commentaires, avis autorisés ou non sont les bienvenus...

Vincent

10 réponses

Avatar
Sam Hocevar
On Fri, 27 Aug 2004 16:59:58 +0200, Laurent BERNE wrote:

Si tu as envie de rire, vas faire un tour sur fclc++ et décrit comment
le C++ a une gestion pourrie des pointeurs.
Tu vas va voir tu vas y déclencher l'hilarité générale !


Je ne comprends pas ce que tu dis et en quoi c'est lié à mon point
de vue, je n'ai jamais dit que le C++ avait une gestion pourrie des
pointeurs.

C'est juste que la STL est bien gentille, mais elle ne règle pas
de façon magique les problèmes ancestraux liés au garbage collecting
automatique (références cycliques). Il faut parfois réfléchir un peu, et
si on ne le fait pas on se retrouve exactement dans le cas des pointeurs
perdus en C : que ce soient des pointeurs qu'on utilise en C++ ou des
smart/auto/uber pointers, c'est pareil.

Sam.
--
Sam Hocevar <http://sam.zoy.org/>

Racism is so gay! How could you ever be racist?

Avatar
Manuel Leclerc

Merci, tu es presque aussi drôle que Bjarne Stroustrup, qui à la
page 220 de /The Design and Evolution of C++/ écrivait "memory leaks
are quite acceptable in many applications".


Si tu as envie de rire, vas faire un tour sur fclc++ et décrit comment
le C++ a une gestion pourrie des pointeurs.
Tu vas va voir tu vas y déclencher l'hilarité générale !


Peut être n'as-tu pas compris le message de Sam. Moi, j'ai compris qu'il
parlait de memory leak de la faute du programmeur, pas de la faute du
langage.

--
I first wrote it in PL/I, then started over in assembler language when
the PL/I program was too big to fit in the computer.
--Richard Stallman


Avatar
Manuel Leclerc

[snip smart pointer]


Et quand on veut que l'objet survive à la fonction qui
l'a créé ?

--
<@Logan> I spent a minute looking at my own code by accident.
<@Logan> I was thinking "What the hell is this guy doing?"

Avatar
Eric Jacoboni
Laurent BERNE writes:

Au lieu de faire

Maclasse *pMaclasse = new pMaclasse; // ca c'est du vieux code C tout
pourrave
...
//Traitement sur pMaclasse
...
delete pMaclasse;



Non, ça c'est du C++. new et delete n'existent pas en C (et la forme
// pour les commentaires n'existe pas non plus dans le vieux code C).

Cela dit, dire qu'il n'y a plus besoin de pointeurs, ni de new et
delete en C++, c'est peut-être un peu excessif, non ?

On peut apprécier un langage sans raconter n'importe quoi, je crois.
--
Éric Jacoboni, né il y a 1397063809 secondes

Avatar
Vincent Schmid
Merci à tous pour vos commentaires... Je pensais bien qu'il ne serait
pas simple de choisir ;-)

Vincent
Avatar
Thierry B.
Laurent BERNE wrote:

Donc selon toi, il n'y a pas (besoin|de gestion) des pointeurs en C++ ?


on fait :
auto_ptr<Maclasse> pMaclasse( new T ); // pas besoin de libérer quoi que
ce soit, la STL s'en charge

Et ça ramasse les miettes comment ?



--
Thierry Boudet http://tth.vaboofer.com/moi/cv.html


Avatar
Eric Jacoboni
"Thierry B." writes:

Et ça ramasse les miettes comment ?


Je sais pas pour les pointeurs automatiques de C++ mais, en Ada95, il
existe une notion de "pool" : les zones allouées dans un bloc le sont
dans un pool mémoire qui est détruit (libéré) à la sortie du
bloc. Cela implique, évidemment d'allouer dans un bloc donc, en gros,
c'est intéressant pour les objets temporaires, qui n'ont pas besoin
d'être utilisés ailleurs qu'à l'endroit où ils sont créés.
--
Éric Jacoboni, né il y a 1397065677 secondes

Avatar
Laurent BERNE
Laurent BERNE writes:

Au lieu de faire

Maclasse *pMaclasse = new pMaclasse; // ca c'est du vieux code C tout
pourrave
...
//Traitement sur pMaclasse
...
delete pMaclasse;



Non, ça c'est du C++. new et delete n'existent pas en C (et la forme
// pour les commentaires n'existe pas non plus dans le vieux code C).
exact, c'est malloc et free en C.

Mais c'est un lapsus révélateur de ma part.. cette syntaxe ne sers que
pour l'appel de fonctions en C (du moins c'est comme ça que je les
utilise..)

Cela dit, dire qu'il n'y a plus besoin de pointeurs, ni de new et
delete en C++, c'est peut-être un peu excessif, non ?
Non. Les seules fois où je les utilise, c'est par exemple avec des libs

externe qui ont besoins de pointeurs comme paramètre (la lib Win32 par
exemple, la lib TWain aussi, ce genre de chose écrite en C..). C'est
d'ailleurs pour cela qu'ils sont resté dans le C++. C'est comme les
macros.. c'est de l'archaisme pour utiliser l'existant en C.

Du code C++ pur n'a pas besoin de pointeur.
J'ai fait un moteur d'optimisation de découpe entièrement en C++,
quelques milliers de lignes (je sais pas combien, je m'amuse pas à les
compter). Pas un seul pointeur dedans. Uniquement l'outillage fourni
par la STL.
A l'inverse, la moindre transmission de paramètre à une interface
graphique se fait par cette intermédiaire..

--
Ce n'est pas parce que tu touches le fond que tu dois t'arrêter de
creuser


Avatar
Laurent BERNE
Thierry B. avait soumis l'idée :
Laurent BERNE wrote:

Donc selon toi, il n'y a pas (besoin|de gestion) des pointeurs en C++ ?


on fait :
auto_ptr<Maclasse> pMaclasse( new T ); // pas besoin de libérer quoi que ce
soit, la STL s'en charge

Et ça ramasse les miettes comment ?

Je sais pas si c'est considéré comme un garbage collector, du fait que

l'objet ne survit pas à la portée (au contraire des GC qui ont un
mécanisme plutôt flou sur le sujet..).

--
Ce n'est pas parce que tu touches le fond que tu dois t'arrêter de
creuser



Avatar
Laurent BERNE
Manuel Leclerc a pensé très fort :

[snip smart pointer]


Et quand on veut que l'objet survive à la fonction qui
l'a créé ?


déclaré dans la portée appelant la fonction, et transmis comme argument
à la fonction initialisante.

--
Ce n'est pas parce que tu touches le fond que tu dois t'arrêter de
creuser