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
Michel Michaud
Dans le message ,

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 ?


Tu veux dire un remplacement pour std::string avec une autre
sémantique, plus facile à rendre sûr en multithread ? Il doit bien
en exister des dizaines, c'est souvent le premier exercice qui est
fait avec les classes en C++ (même si ce n'est pas un bon exercice).

Par contre, avec la même sémantique, il faut des opérations
particulières au système d'exploitation pour la synchronisation
des opérations et je ne sais s'il en existe des versions solides,
gratuites et qui fonctionnent sur toutes les plate-formes...

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


Avatar
Gabriel Dos Reis
"Michel Michaud" writes:

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

oui, et de plus il faudra de toute façon leur enseigner « multithread ».

| 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

la même aussi avec « programmation multithread » non ?

| ne semble pas y avoir de consensus sur le trait d'union, on voit
| tout autant multifils, multi fils que multi-fils !)

Oui mais attention. (1) Il n'est pas du tout rare de voir traduire
« thread » par « fil » (et non « fils ») dans les groupes de
discussion francophones ; ce qui conduirait à l'autre prononciation
que tu avais rejetée. (2) De fait, il existe cette technique de
programmation à coup de « fork() » qui donne lieu à un processus père
et un processus fils. Qui conduit à la programmation « multi-fils »
(la prononciation que tu adoptes) et qui n'est pas la même chose que
le multithreading (oops, pardon ;)

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

ben, un programme qui fait beaucoup d'enfants ; c'est pas rare ;-p

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

--
Gabriel Dos Reis

Avatar
Gabriel Dos Reis
"Michel Michaud" writes:

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

Mon impression est « *plus* hostile », mais je n'ai pas vécu au Québec
et mon impressin est basée sur ce que je perçois dans ici et là.

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

La question est probablement de savoir ce qui est considéré évolution
et anglicisme. Parce que, j'ai l'impression que cela le fanatisme
aveugle (des deux côtés de l'Atlantique).

| J'imagine alors que tu ne dis jamais « informatique »,
| une invention inutile, mais plutôt « science des ordinateurs » :-)

Ben, en fait cela serait le bienvenu si le français (et surtout le
système français) pouvait faire la distinction entre « informatique »
et « science de l'ordinateur. » Parce que franchement, hein ! :-(
Ici, je vois qu'ils font une distinction féroce entre « computer
science » et « computer engineering » -- domaines qui en France, je
crois, sont tous les deux sous la chapelle « informatique ».

[ J'ai même entendu des recruteurs (ici) dans le domaine de
l'informatique, préférer des non-« computer scientistes » ]


--
Gabriel Dos Reis

Avatar
Michel Michaud
Dans le message ,
Oui mais attention. (1) Il n'est pas du tout rare de voir traduire
« thread » par « fil » (et non « fils ») dans les groupes de
discussion francophones ; ce qui conduirait à l'autre prononciation
que tu avais rejetée.


Non non ! L'écrit n'est pas un bon porteur des prononciations :-(
Quand j'ai écrit multi-fils, c'était pour être prononcer comme
multi-« file » (et non pas fiss)... Un fil d'exécution, des
fils (même prononciation) d'exécution.

(2) De fait, il existe cette technique de
programmation à coup de « fork() » qui donne lieu à un processus
père et un processus fils. Qui conduit à la programmation «
multi-fils » (la prononciation que tu adoptes) et qui n'est pas


Non, ici je dirais multi-processus (ou multi « fiss » si tu veux),
mais certainement pas multi « file » comme dans multithread...
Et ce n'est pas nécessairement avec fork (qui est très unixien).

la même chose que le multithreading (oops, pardon ;)


Effectivement c'est loin d'être la même chose que le multithread
et je suis heureux que ce soit plus simple, car c'est ce que j'ai
à enseigner :-) (ce n'est pas moi qui enseigne vraiment la
programmation multithread).

[...]
ceci dit, je ne sais pas ce que voudrait dire
multi-fils (fiss) dans ce contexte.


ben, un programme qui fait beaucoup d'enfants ; c'est pas rare ;-p


Oui, mais programmation multi-fils (fiss), tu as déjà entendu ça ?
Bien souvent la mise en place est faite par un programme qui se
termine ensuite et laisse les processus orphelins faire le travail,
ce serait donc plutôt de la programmation multi-frères ;-)

En plus tout ça est pas mal sexiste, mais c'est une autre
discussion... :-)

--
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 ,
"Michel Michaud" writes:

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 ?


Mon impression est « *plus* hostile », mais je n'ai pas vécu au
Québec et mon impressin est basée sur ce que je perçois dans ici et
là.


J'aimerais bien que quelqu'un m'aide à comprendre cette perception,
en me donnant des exemples peut-être ?

Je crois que vous devez confondre « protection de la langue » dans
le sens « s'assurer que le français sera encore la langue courante
de la majorité des gens dans 100 ans», ce qui est ce qu'on fait ici,
avec « protection des règles de la langue », qui nierait son évolution : ce
n'est pas du tout le combat au Québec. Au pire,
nous sommes peut-être plus ouvertement et officiellement contre les
anglicismes, même si on en emploie plus que vous par accident et
par erreur, mais c'est pour la première raison, pas la deuxième.

[...]
La question est probablement de savoir ce qui est considéré
évolution et anglicisme. Parce que, j'ai l'impression que cela le
fanatisme aveugle (des deux côtés de l'Atlantique).


Oups, il doit manquer quelques mots :-)

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



Avatar
JBB
On a un peu dévié de mon 'fil' initial.

Personnelement j'ai bien aimé multi-fils mais c'est vrai que la
prononciation prête à confusion. (multi-files peut être...)

Pourquoi ne pas utiliser multi-tâche . (à moins que je dise une grosse
bétise).

Dans le même genre je recherche désespérement la version française de
'framework', ainsi qu'une version courte de 'chaîne de caractères' pour
'string'.


JBB
Avatar
kanze
Gabriel Dos Reis wrote:
"Michel Michaud" writes:


[...]
| J'imagine alors que tu ne dis jamais « informatique »,
| une invention inutile, mais plutôt « science des ordinateurs » :-)

Ben, en fait cela serait le bienvenu si le français (et
surtout le système français) pouvait faire la distinction
entre « informatique » et « science de l'ordinateur. » Parce
que franchement, hein ! :-( Ici, je vois qu'ils font une
distinction féroce entre « computer science » et « computer
engineering » -- domaines qui en France, je crois, sont tous
les deux sous la chapelle « informatique ».


Sans parler de l'« information science » et les « information
technologies » (qui embrassent à la fois le traitement des
données -- l'informatique -- et leur transmission et
distribution).

En ce qui concerne le « software engineering », j'ai déjà
entendu l'expression « genie logicielle ».

[ J'ai même entendu des recruteurs (ici) dans le domaine de
l'informatique, préférer des non-« computer scientistes » ]


Dans quels sens ? J'ai déjà interviewé pour des positions où il
était fortement question de la genie logicielle (et non de la
science pûre de l'informatique). Le « computer scientist » donne
trop l'image du type isolé, incapable de communiquer ou de
travailler en équipe.

Mais aussi -- dans le secteur bancaire, j'ai vu pas mal d'offres
où on voulait un mathématicien, à choisir entre un informaticien
et un physiciste, il choisirait le physiciste, parce qu'il a
probablement un niveau plus élevé de math.

Dans les deux cas, on ne veut pas des « computer scientist »
classiques.

--
James Kanze GABI Software
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 Michaud
Dans le message 42d23241$0$4211$,
On a un peu dévié de mon 'fil' initial.

Personnelement j'ai bien aimé multi-fils mais c'est vrai que la
prononciation prête à confusion. (multi-files peut être...)


Ouf ! Tu as oublié un :-)

Pourquoi ne pas utiliser multi-tâche . (à moins que je dise une
grosse bétise).


C'est déjà une expression ayant un sens très connu (on parle
de multi-tâche au niveau des SE). En fait, le principe des threads
est justement d'avoir plus fil(s) d'exécution dans une « tâche »
(ou processus...).

Dans le même genre je recherche désespérement la version française
de 'framework',


Le mot anglais est galvaudé, il ne veut pas toujours dire la même
chose, même quand on le voit à côté de .NET. En français, j'ai déjà
vu l'invention « cadriciel » (pas terrible) pour l'idée d'un ensemble
de classes (etc.) pouvant servir de base à un développement. D'autres
parlent plus simplement d'« infrastructure », mais il y a déjà une
petite nuance. Le mot « charpente » est celui qui me semble le mieux,
si on veut vraiment ne pas dire « framework ».

ainsi qu'une version courte de 'chaîne de caractères' pour 'string'.


Chaîne ? :-)

(pour parler d'un type pour les chaînes de caractères, j'emploie
généralement « texte », mais c'est dans un cadre très précis)

--
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 KKqAe.3431$,
En fait, le principe des threads
est justement d'avoir plus fil(s) d'exécution dans une « tâche »
^^^^^^^^^^^

... plus d'un fil ...

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

Avatar
Benoît Dejean
Le Sun, 10 Jul 2005 23:32:53 -0400, Michel Michaud a écrit :

Par contre, avec la même sémantique, il faut des opérations
particulières au système d'exploitation pour la synchronisation
des opérations et je ne sais s'il en existe des versions solides,
gratuites et qui fonctionnent sur toutes les plate-formes...


je rêve de chaînes immuables à la Python :/
tant pis.

1 2 3 4 5