OVH Cloud OVH Cloud

std::string

87 réponses
Avatar
JBB
J'ai lu dans ce forum (je retrouve plus ou) que personne n'aimait
std::string .
Pourquoi donc?
A part le fait que chaque librairie utilise son propre type CString,
QString ... et que du coup ça fait moche d'utiliser std::string.

10 réponses

1 2 3 4 5
Avatar
Gabriel Dos Reis
"Michel Michaud" writes:

| Dans le message ,
| > On Sat, 9 Jul 2005 14:05:36 -0400, "Michel Michaud" :
| >
| >> Tu connais une autre traduction ?
| >
| > Non, mais je connais une autre solution : puisque de toutes façons
| > il faut ajouter un mot à la langue française pour parler de ce
| > concept, autant utiliser le mot "multithread", au moins on comprend
| > tout de suite.
|
| On comprend tout de suite quand on sait ce qu'est multithread.

Et quand on ne comprend pas « multi-fils », on fait quoi ?

| D'un autre côté, pense à des débutants qui ne connaissent pas tous
| les concepts.

Dans ce cas, je doute fort qu'il eut mieux compris avec ce que tu
avais proposé, surtout par écrit.

-- Gaby
Avatar
Fabien LE LEZ
On Sat, 9 Jul 2005 14:41:41 -0400, "Michel Michaud" :

Mais
je peux t'assurer que mes élèves n'auront pas plus de facilité
à apprendre la programmation multithread si j'utilise le mot
anglais :-)


Certes. Mais le mot que tu as employé (multifils ?) ne me paraît pas
plus (ni moins) auto-explicatif que multithread. Du coup, comme ils
devront connaître le mot "multithread" à un moment ou à un autre
(puisque c'est celui-là qui est utilisé partout), autant l'utiliser
tout de suite.

l'Atlantique est trop large pour qu'on se mette d'accord.


Je ne vois pas pourquoi...


Allusion au fait que les Québécois ont la réputation d'être beaucoup
plus hostile à l'évolution de la langue française que les Français.


Avatar
Arnaud Debaene
Michel Michaud wrote:
En fait, j'ajouterais que la traduction d'une expression mot peut
le faire s'améliorer : l'exemple classique est interblocage qui
est beaucoup plus « autoexplicatif » que deadlock.


Pour deadlock, j'ai déjà entendu la traduction "étreinte fatale". Je ne sais
pas si c'est plus ou moins explicatif que deadlock, mais ca a le mérite
d'être romantique... (ah, l'esprit français! ;-)

Arnaud

Avatar
Gabriel Dos Reis
"Arnaud Debaene" writes:

| Michel Michaud wrote:
| > En fait, j'ajouterais que la traduction d'une expression mot peut
| > le faire s'améliorer : l'exemple classique est interblocage qui
| > est beaucoup plus « autoexplicatif » que deadlock.
|
| Pour deadlock, j'ai déjà entendu la traduction "étreinte fatale". Je ne sais
| pas si c'est plus ou moins explicatif que deadlock, mais ca a le mérite
| d'être romantique... (ah, l'esprit français! ;-)

Au moins, cela a le mérite de dérider ;-p


-- Gaby
Avatar
James Kanze
Gabriel Dos Reis wrote:
James Kanze writes:


| JBB wrote:
| > J'ai lu dans ce forum (je retrouve plus ou) que personne
| > n'aimait std::string .


| > Pourquoi donc?


| C'est une conception plutôt baclée, et pas du tout propre.


Je ne suis pas sûr d'être d'accord avec le qualificatif
« baclée. »


Évidemment, il faut définir ce qu'on entend par « baclé ». Le
mot est peut-être un peu fort, selon la signification qu'on lui
donne. (Je n'ai pas de mal à concevoir que pour certains,
« baclé » signifie inutilisable, qui n'est pas le cas.)

En fait, je voulais dire que c'est la *conception* qui est
baclée, pour plusieurs raisons. Et à juger d'après les gens avec
qui j'ai parlé, il n'y a vraiment personne pour la défendre
comme « bien ».

De l'autre côté, comme j'ai dit, à moins d'avoir des besoins
particuliers, le résultat concret reste emminément utilisable.
Et qu'il n'y a aucune excuse, à mon avis, à ne pas s'en servir
dans des développements nouveaux. En d'autres mots, elle n'est
pas belle, mais elle fonctionne.

Certainement, elle fait partie des classes les plus vielles de
la biliothèque (en comptant les ancêtres). Chacun a voulu y
voir sa propre conception de chaîne de caractères.


C'est en fait le véritable problème ; chacun a voulu y mettre le
leur.

string s;
assert(s[s.size()] == 0);


les gens qui ont fait ça ont pris leur temps ;-)


:-)

Pour revenir à ton premier point : personne ne l'aime, mais
chacun pour des raisons différentes. (Encore que je suis bien
d'accord avec toi ici.)

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

Avatar
James Kanze
Fabien LE LEZ wrote:
On Sat, 9 Jul 2005 13:09:54 -0400, "Michel Michaud" :


Je crois que l'expression anglaise est « everything and the
kitchen sink ».



L'expression consacrée et « everything but the kitchen sink »,
si ma mémoire ne me trompe pas.

C'est marrant, tu emploies une expression anglaise ici
(J'imagine que c'est l'équivalent de "le beurre et l'argent du
beurre" ?)...


C'est peut-être qu'il ne connaît pas d'équivalent en français.
Je crois pas que c'est vraiment pareil que « le beurre et
l'argent du beurre » -- en général, l'expression anglaise donne
l'idée d'un état non voulu, ou non désirable.

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


Avatar
Benoît Dejean
Le Sat, 09 Jul 2005 13:09:54 -0400, Michel Michaud a écrit :

Je crois que l'expression anglaise est « everything and the
kitchen sink ». D'autres auraient préféré des chaînes immuables
pour en permettre une utilisation plus facile dans les programmes
multi-fils.


est-ce que tu connais une bibliothèque libre qui fournissent ce genre de
services ?

Avatar
Michel Michaud
Dans le message ,
"Michel Michaud" writes:

Dans le message ,
On Sat, 9 Jul 2005 14:05:36 -0400, "Michel Michaud"
:

Tu connais une autre traduction ?


Non, mais je connais une autre solution : puisque de toutes façons
il faut ajouter un mot à la langue française pour parler de ce
concept, autant utiliser le mot "multithread", au moins on
comprend tout de suite.


On comprend tout de suite quand on sait ce qu'est multithread.


Et quand on ne comprend pas « multi-fils », on fait quoi ?


Je ne suis pas certain de comprendre ce que tu me demandes. Je
vois qu'on peut interpréter ma phrase de deux façons alors je
précise : pour comprendre tout de suite « multithread », il
faut déjà connaître ce sujet. Pour quelqu'un qui ne connait pas
le concept, ni le français ni l'anglais sont auto-explicatif...

Si tu veux dire que le mot ne t'est pas familier, alors j'aimerais
vraiment savoir s'il y a une meilleure traduction, que tu aurais
comprise. Peut-être qu'il n'y en a pas et je ferai attention, à
l'avenir, pour mettre le mot anglais aussi quand je parlerai de
ce sujet. Pourtant une recherche de « programmation multi-fils »
sur google, donne plein de liens, en France et au Canada... (il
ne semble pas y avoir de consensus sur le trait d'union, on voit
tout autant multifils, multi fils que multi-fils !)

D'un autre côté, pense à des débutants qui ne connaissent pas tous
les concepts.


Dans ce cas, je doute fort qu'il eut mieux compris avec ce que tu
avais proposé, surtout par écrit.


Comme je l'ai dit, par écrit c'est effectivement un mot très peu
pratique, mais oralement (et je n'enseigne pas par écrit :-) il
n'y a aucune difficulté particulière. Le mot « fil » (ou fil d'exécution)
est, je trouve, très bien adapté dans ce contexte,
son seul défaut étant que le pluriel qui pourrait être ambigu
une fois écrit, surtout que je parle normalement de multithread
après avoir parlé de programmation multi-processus et donc de
processus fils; ceci dit, je ne sais pas ce que voudrait dire
multi-fils (fiss) dans ce contexte.

Je remarque que dans la moitié des liens de la première page de
liens trouvés par google, la traduction anglaise n'est pas bien
loin de l'expression française, c'est peut-être une solution,
mais je préférerais une meilleure traduction !

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/




Avatar
Michel Michaud
Dans le message ,
Allusion au fait que les Québécois ont la réputation d'être
beaucoup plus hostile à l'évolution de la langue française que
les Français.


Tu voulais dire moins hostile non ? Vous avez tendance à utiliser
les mots anglais sans « gène », alors que nous cherchons à faire
évoluer la langue en ajoutant des mots français ou de nouvelles tournures
logiques lorsque le français ne dispose pas de ce qu'il
faut. Nous sommes probablement plus inquiet qu'il ne faut pour
l'avenir de notre langue, mais on ne peut certainement pas dire
que nous sommes hostiles à son évolution (nous venons d'ailleurs
de rendre officielle -- i.e. officiellement acceptable -- la
nouvelle orthographe de 1990).

À moins que tu considères que l'emploi des anglicismes est une
évolution. J'imagine alors que tu ne dis jamais « informatique »,
une invention inutile, mais plutôt « science des ordinateurs » :-)

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/

Avatar
Michel Michaud
Dans le message 42d12d71$0$6951$,
Fabien LE LEZ wrote:
On Sat, 9 Jul 2005 13:09:54 -0400, "Michel Michaud" :

Je crois que l'expression anglaise est « everything and the
kitchen sink ».



L'expression consacrée et « everything but the kitchen sink »,
si ma mémoire ne me trompe pas.


Je crois que ça devrait être la bonne expression effectivement,
mais il semble que les deux formes soient courantes (altavista
me donne 30000 liens pour « and » et 169000 liens pour « but »).

Dans le cas qui nous intéresse, la forme avec « and » est
probablement plus proche du reproche que certains font à
std::string : l'expression avec « but » me semble presque
positive, l'autre est clairement négative !

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/



1 2 3 4 5