Gabriel Dos Reis Guest
|
Posted: Fri Aug 29, 2003 6:40 am Post subject: Re: Pourquoi du C pur ? |
|
|
"Pierre Maurette" <pierre.maurette (AT) laposte (DOT) net> writes:
[...]
| Quote: | Ma question est de savoir si les défauts que vous évoquez pour C++ existent
dans un C++ réduit au "cahier des charges" de C.
|
Les « défauts », comme Laurent le reconnaît par ailleurs, soulignés
relèvent beaucoup de la mauvaise foi. Pour discuter de C++, de sa
pratique et de son apprentissage, le meilleur forum dans la hiérarchie
francophone est probablement news:fr.comp.lang.c++ [crossposté].
| Quote: | Je dois écrire une petite appli, par exemple une édition de facture. Pas de
base de donnée qui pourrait orienter mon choix, quelques fichiers textes
joueront ce rôle. L'appli est en mode console, je souhaiterais pouvoir la
recompiler pour Linux avec le minimum de travail supplémentaire. Please, pas
de réponse sur ce cahier des charges, il est totalement bidon. Bien entendu,
ce travail est parfaitement faisable en C pur.
Dans les startégies suivantes, à quel moment me trompé-je ?
1- Ecriture du bouzin en C.
2- Ecriture du bouzin en C++ "comme en C", c'est à dire pratiquement le même
code. Aux facilités syntaxiques près, puisque je suis sensé ne pas avoir
d'habitudes héritées du C. Par exemple, utilisation du type bool,
commentaires //, etc.
3- Comme le pécédent, mais en utilisant quelques concepts (hors POO) propres
à C++ qui me facilitent semble-t-il la vie, disons les exceptions pour fixer
les idées. Pointeurs -> références ? ?alloc/free -> new/delete ?
4- Comme en 2 (ou 3), mais en utilisant iostream à la place de stdio.h pour
les E/S standard.
(A partir de là, il ne s'agit plus de faire du C avec un compilateur C++,
mais bien du C++)
|
si tu veux programmer en C++, sans la contrainte de recompiler le même
programme en C, il est en général préférable d'utiliser des facilités
natives comme les IOStreams.
| Quote: | 5- J'ai une petite classe destinée à afficher en français une valeur
monétaire. Ellle utilise la classe std::string (en fait, elle utilisait
initialement AnsiString de la VCL Borland). Est-ce embêtant de conserver une
seule classe dans une appli résolument non POO ? Et d'en extraire la
fonction utile, mais en conservant std::string ?
|
le nombre de classes n'a rien à avoir avec POO. Si tu as des concepts
indépendants dans ton programme, en général il est préférable des les
concretiser par des classes différentes.
En ce qui concerne les entrées sortirs, l'un des avantages des
IOStreams est que tu peux l'étendre à tres propres types et la
contrainte de réutiliser un type « câblé » est superflue de ce côté là.
-- Gaby
|
|