OVH Cloud OVH Cloud

visual studio 2005

20 réponses
Avatar
Arnaud Meurgues
Je viens d'installer Visual Studio 2005 et en lançant l'ide, je lis ceci :

«
C++/CLI is a self-contained, component-based dynamic programming
language that, like C# or Java, is derived from C++. Unlike those
languages, however, we have worked hard to integrate C++/CLI into
ISO-C++, using the historical model of evolving the C/C++ programming
language to support modern programming paradigms. You can say that
C++/CLI is to C++ as C++ is to C.
»

Ils disent qu'ils ont travaillé dur pour intérgrer C++/CLI dans ISO-C++,
mais ils oublient de dire que ce n'est pas encore fait...

--
Arnaud

10 réponses

1 2
Avatar
Jean-Marc Bourguet
Arnaud Meurgues writes:

Je viens d'installer Visual Studio 2005 et en lançant l'ide, je lis ceci :

«
C++/CLI is a self-contained, component-based dynamic programming
language that, like C# or Java, is derived from C++. Unlike those
languages, however, we have worked hard to integrate C++/CLI into
ISO-C++, using the historical model of evolving the C/C++ programming
language to support modern programming paradigms. You can say that
C++/CLI is to C++ as C++ is to C.
»

Ils disent qu'ils ont travaillé dur pour intérgrer C++/CLI dans ISO-C++,
mais ils oublient de dire que ce n'est pas encore fait...


Il y a du progres, ils admettent que c'est un autre langage, aussi
different du C++ que le C l'est du C++. Ce qui n'est pas tout a fait
vrai.

L'ampleur des differentes est une admission implicite de l'echec de
CLI. CLI n'est pas une infrastructure qui peut etre commune aux
langages si un langage aussi repandu que C++ doit etre autant modifie
pour en profiter.

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
Michel Michaud
Dans le message ,
Arnaud Meurgues writes:
Ils disent qu'ils ont travaillé dur pour intérgrer C++/CLI dans
ISO-C++, mais ils oublient de dire que ce n'est pas encore fait...



Je crois que ça veut dire que la syntaxe des ajouts est dans l'esprit
C++... Ce qui n'est pas complètement faux.

Il y a du progres, ils admettent que c'est un autre langage, aussi
different du C++ que le C l'est du C++. Ce qui n'est pas tout a
fait vrai.


Qu'est-ce qui n'est pas vrai ? Tu veux dire que c'est « plus »
différent de C++ que ne l'est C++ de C ? C'est très discutable, je
crois...

L'ampleur des differentes est une admission implicite de l'echec de
CLI. CLI n'est pas une infrastructure qui peut etre commune aux
langages si un langage aussi repandu que C++ doit etre autant
modifie pour en profiter.


Un troll, non ?

Je ne veux pas défendre C++/CLI (même si j'en fais présentement :-),
mais dire que quelque chose qui n'est pas supporté directement par
C++ est un échec, ça me paraît gros ! Je suppose que Java aussi est
un échec alors...

Je crois bien qu'on pourrait,en principe, avoir une bibliothèque C++
pur qui permettrait de faire des accès à .NET, mais MS -- ou ses
clients -- semble dire que ce ne serait pas aussi agréable à utiliser
que C++/CLI ou les autres langages orientés .NET.

Mon expérience actuelle avec C++/CLI est plutôt positive. En fait,
je ne mets pas en compétition C++ et C++/CLI, mais plutôt C++/CLI
et C#, ou C++/CLI et VB. Pour le moment, C++/CLI me semble
l'emporter haut la main, mais il est vrai que les outils de
développement offerts par MS sont meilleurs dans leurs versions
C# et VB. J'imagine que ça va s'améliorer. En tout cas,
personnellement, je ne vois plus vraiment d'intérêt à C#, au
niveau de l'écriture du code. Mais je suis peut-être biaisé vers
C++ pour des raisons historiques.

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


Avatar
Fabien LE LEZ
On Tue, 16 May 2006 18:51:51 -0400, "Michel Michaud" :

Je ne veux pas défendre C++/CLI (même si j'en fais présentement :-),
mais dire que quelque chose qui n'est pas supporté directement par
C++ est un échec, ça me paraît gros !


Si je peux me permettre de reprendre l'idée de Jean-Marc à mon compte,
je dirai que l'échec est l'"interface" entre C++ et .Net.
AMHA "C++/CLI" est un échec à cause de son nom.

Je suppose que Java aussi est un échec alors...


S'il s'était appelé "C++/Java", alors oui, ce serait un échec, car ce
langage n'est pas C++.

Mais comme il s'appelle "Java", il a parfaitement le droit de ne pas
ressembler au C++, et d'être jugé comme une réussite, indépendamment
du C++.


En gros, si je comprends bien, les choses se sont passées comme suit :
- Microsoft veut imposer son propre langage, pour que les
programmeurs l'apprennent et se retrouvent incapables de s'intéresser
à d'autres plate-formes. Le service marketing appelle ça "C#".
- Ah ben zut, y'a plein de gens qui programment en C++. Peuvent
pas programmer en VB, comme tout le monde, ces petits cons ? Bon,
c'est pas grave, affinons notre tactique : on va créer un deuxième
nouveau langage, avec un nom qui contient "C++", en espérant que les
programmeurs C++ viennent à nous, tout en évitant que les utilisateurs
de ce nouveau langage ne soient tentés d'aller vers le C++.
Quand le service marketing dirige le service "développement
informatique", le résultat n'est pas beau à voir... :-/

Avatar
Michel Michaud
Dans le message ,
On Tue, 16 May 2006 18:51:51 -0400, "Michel Michaud" :

Je ne veux pas défendre C++/CLI (même si j'en fais présentement
:-), mais dire que quelque chose qui n'est pas supporté
directement par C++ est un échec, ça me paraît gros !


Si je peux me permettre de reprendre l'idée de Jean-Marc à mon
compte, je dirai que l'échec est l'"interface" entre C++ et .Net.


Justement, MS a décidé de ne pas en proposer. C'est un échec pour
C++ peut-être...

AMHA "C++/CLI" est un échec à cause de son nom.


What's in a name...

Je suis d'accord qu'un autre nom serait mieux, encore que l'on
peut discuter longuement sur ce que ça aurait changé si on l'avait
appelé CLI++ (ou autre). Je crois que ça donne simplement une
munition facile à ceux qui veulent critiquer (et en ce sens, c'est
un échec « publicitaire »). Mais bon, on a déjà vu plus menteur
comme nom, genre Turbo Pascal ? :-)

Je suppose que Java aussi est un échec alors...


S'il s'était appelé "C++/Java", alors oui, ce serait un échec, car
ce langage n'est pas C++.


Ce n'est pas l'affirmation faite par Jean-Marc, il disait simplement
que CLI est un échec parce que ça demande trop de différences entre
C++ et C++/CLI.

Mais comme il s'appelle "Java", il a parfaitement le droit de ne pas
ressembler au C++, et d'être jugé comme une réussite, indépendamment
du C++.


Oui, mais les concepts de Java (de sa VM) ne sont pas non plus
directement supportés par C++...

En gros, si je comprends bien, les choses se sont passées comme
^^^^^^^^^^^^^^^^^^^^^

Rien à voir avec une compréhension, tu fais des suppositions...

suit : - Microsoft veut imposer son propre langage, pour que les
programmeurs l'apprennent et se retrouvent incapables de
s'intéresser à d'autres plate-formes.


Pourquoi en apprenant un langage serait-on plus désintéressé des
autres plate-formes. Disons que je connais C, Java, C++, C# et
C++/CLI, et les utilise quand leur emploi me semble approprié,
suis-je fou ?

Le service marketing appelle
ça "C#". - Ah ben zut, y'a plein de gens qui programment en C++.
Peuvent
pas programmer en VB, comme tout le monde, ces petits cons ? Bon,
c'est pas grave, affinons notre tactique : on va créer un deuxième
nouveau langage, avec un nom qui contient "C++", en espérant que les
programmeurs C++ viennent à nous, tout en évitant que les
utilisateurs de ce nouveau langage ne soient tentés d'aller vers le
C++.


Mais si tu veux faire du C++ sur Windows, tu peux. On parle de .NET
ici... Mais si tu veux programmer sur une plate-forme quelconque,
l'idéal n'est-il pas d'avoir le plus de langages (offrant des
avantages variés) divers ? En passant, un des avantages de C++/CLI
est justement qu'on peut programmer comme en C++, difficile de
dire que ça éloigne de C++, au contraire, on peut avoir une très
grande portion du code qui est du C++ tout à fait classique et
portable. Pour le moment, ce n'est pas le cas des autres langages
populaires comme C#, VB ou même Java (on ne peut rien récupérer
si on ne veut pas de la VM).

Quand le service marketing dirige le service "développement
informatique", le résultat n'est pas beau à voir... :-/


Beaucoup de suppositions dans tes affirmations. La théorie du complot
n'est pas la seule explication possible...

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


Avatar
Fabien LE LEZ
On Tue, 16 May 2006 21:51:22 -0400, "Michel Michaud" :

Je suppose que Java aussi est un échec alors...


S'il s'était appelé "C++/Java", alors oui, ce serait un échec, car
ce langage n'est pas C++.


Ce n'est pas l'affirmation faite par Jean-Marc, il disait simplement
que CLI est un échec parce que ça demande trop de différences entre
C++ et C++/CLI.


Je reformule : si le but de Java est de fournir un framework
compatible avec C++, alors oui, Java est un échec.


La théorie du complot
n'est pas la seule explication possible...


Y'a bien une autre théorie : c'est un sacré bordel, la direction de
Microsoft...



Avatar
Michel Michaud
Dans le message ,
On Tue, 16 May 2006 21:51:22 -0400, "Michel Michaud" :
Ce n'est pas l'affirmation faite par Jean-Marc, il disait
simplement que CLI est un échec parce que ça demande trop de
différences entre C++ et C++/CLI.


Je reformule : si le but de Java est de fournir un framework
compatible avec C++, alors oui, Java est un échec.


Et le rapport avec le reste ? Désolé, mais je ne te suis plus.
(red herring ?)

La théorie du complot
n'est pas la seule explication possible...


Y'a bien une autre théorie : c'est un sacré bordel, la direction de
Microsoft...


Tu manques d'imagination...
(false dilemma ?)

N.B. Tes deux « réponses » m'ont redonné le goût de relire les sites
sur les sophismes (fallacies)... Je crois que je vais faire ça
et continuer à me mettre à jour dans ma lecture des messages du
forum : j'en suis rendu à la fin février ! Je reste à votre
disposition, si mon expérimentation de C++/CLI vous intéresse,
mais je ne partirai pas ici une croisade en sa faveur ou en
faveur de .NET. Je n'ai pas d'opinion arrêtée. Pas plus que
pour Java, C#... ou même C++ ! (en fait, j'ai deux opinions sur
C++/CLI : le nom doit changer et la doc de MS doit faire une
différence plus claire entre ce qui est C++ et ce qui C++/CLI)

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


Avatar
Jean-Marc Bourguet
"Michel Michaud" writes:

Dans le message ,
Arnaud Meurgues writes:
Ils disent qu'ils ont travaillé dur pour intérgrer C++/CLI dans
ISO-C++, mais ils oublient de dire que ce n'est pas encore fait...



Je crois que ça veut dire que la syntaxe des ajouts est dans
l'esprit C++... Ce qui n'est pas complètement faux.


La semantique par contre... as-tu lu les remarques du comite anglais?

Il y a du progres, ils admettent que c'est un autre langage, aussi
different du C++ que le C l'est du C++. Ce qui n'est pas tout a
fait vrai.


Qu'est-ce qui n'est pas vrai ? Tu veux dire que c'est « plus »
différent de C++ que ne l'est C++ de C ? C'est très discutable, je
crois...


Ce l'est quand meme moins. Il n'y a rien de conceptuellement nouveau
a part le GC.

C++/CLI se contente d'ajouter un modele objet et un modele de
genericite ou il y en avait deja un; en faisant souvent le choix
d'avoir le comportement le plus proche possible de C# meme quand rien
dans CLI n'empechait de rester proche du C++ deja defini ou de ses
evolutions deja prevues. C'est d'ailleurs mon principal reproche a au
resultat C++/CLI en tant que langage.

Quant a l'objectif, a partir du moment ou j'ai compris qu'il fallait
un autre modele objet et un autre modele de genericite pour s'integrer
dans CLI, je me suis dit que je fairais tout pour eviter de programmer
dans ce langage batard -- exactement comme Objective C++ est un
langage batard, mais au moins pour Objective C++ le modele objet
ajoute est fondamentalement different de celui du C++, alors que celui
de CLI n'en est qu'une variante qui apporte peu -- dont le seul
interet me semble est de batir une couche d'interface entre du C++ ISO
et du .NET ecrit dans un langage plus adapte. S'il n'y a pas de
langages .NET plus adapte, c'est un echec pour ces langages, mais ce
n'est pas mon impression a ce que j'ai vu ce C#.

Note que vu mon environnement, il y a peut de chance que j'ai a faire
du CLI dans un avenir proche.

L'ampleur des differentes est une admission implicite de l'echec
de CLI. CLI n'est pas une infrastructure qui peut etre commune
aux langages si un langage aussi repandu que C++ doit etre autant
modifie pour en profiter.


Un troll, non ?

Je ne veux pas défendre C++/CLI (même si j'en fais présentement :-),
mais dire que quelque chose qui n'est pas supporté directement par
C++ est un échec, ça me paraît gros !


Je ne dis rien la sur C++/CLI mais sur CLI. L'idee d'une
infrastructure commune utilisable par tous les langages me semble tres
seduisante et CLI aurait ete de nature a favoriser de la diversite
dans les langages employes. Mais le resultat... pour profiter de CLI,
il faut avoir C# comme sous-ensemble (note que ce n'est pas une
critique sur C#, il aurait fallu avoir C++ ou Java comme
sous-ensemble, ma critique aurait ete la meme). La diversite des
langages m'interesse surtout pour la diversite de semantique. Je ne
vois pas l'interet d'avoir simplement d'une diversite syntaxique.

Je suppose que Java aussi est un échec alors...


Je ne vois pas le rapport. Java ne se veut pas un environnement
commun independant du langage et pourtant y reussit a peut pres aussi
bien que CLI.

Je crois bien qu'on pourrait,en principe, avoir une bibliothèque C++
pur qui permettrait de faire des accès à .NET, mais MS -- ou ses
clients -- semble dire que ce ne serait pas aussi agréable à
utiliser que C++/CLI ou les autres langages orientés .NET.

Mon expérience actuelle avec C++/CLI est plutôt positive. En fait,
je ne mets pas en compétition C++ et C++/CLI, mais plutôt C++/CLI et
C#, ou C++/CLI et VB. Pour le moment, C++/CLI me semble l'emporter
haut la main, mais il est vrai que les outils de développement
offerts par MS sont meilleurs dans leurs versions C# et
VB. J'imagine que ça va s'améliorer. En tout cas, personnellement,
je ne vois plus vraiment d'intérêt à C#, au niveau de l'écriture du
code. Mais je suis peut-être biaisé vers C++ pour des raisons
historiques.


C++ est deja complexe. C++/CLI l'est encore plus (la description de
C++/CLI prend autant de pages que la partie langage de la norme C++,
avec en plus des references aux specifications de CLI pour certaines
choses) et une meme syntaxe va avoir des comportements plus ou moins
subtilement different suivant le type d'objets qu'on emploie. Ca me
semble etre un cauchemard a enseigner. Si on fait reellement usage
des deux types d'objets, ca me semble etre un cauchemard a maintenir.
Si je dois participer a un projet, j'insisterais *tres* fort pour
qu'il y ait une separation stricte entre les parties C++ ISO et les
parties CLI. Et vu que ces deux parties sont en fait deux langages,
je ne vois aucun interet en dehors de la partie interfacage pour du
C++/CLI quand C# existe.

--
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
Jean-Marc Bourguet
Fabien LE LEZ writes:

On Tue, 16 May 2006 18:51:51 -0400, "Michel Michaud" :

Je ne veux pas défendre C++/CLI (même si j'en fais présentement :-),
mais dire que quelque chose qui n'est pas supporté directement par
C++ est un échec, ça me paraît gros !


Si je peux me permettre de reprendre l'idée de Jean-Marc à mon compte,
je dirai que l'échec est l'"interface" entre C++ et .Net.
AMHA "C++/CLI" est un échec à cause de son nom.


Je n'ai jamais ecrit que C++/CLI etait un echec. A partir du moment
ou CLI et C++ etaient donne, il y avait moyen de faire a mon avis
mieux -- cad d'etre plus proche d'une semantique C++ que d'une
semantique C# -- mais c'est marginal.

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
Jean-Marc Bourguet
"Michel Michaud" writes:

Mais bon, on a déjà vu plus menteur comme nom, genre Turbo Pascal?:-)


Turbo faisait reference a la rapidite de compilation. Ce n'etait pas
un mensonge du tout quand on compare au Pascal de MS a l'epoque.

Pascal, ce n'etait pas le Pascal normalise (est-ce qu'il l'etait deja
a l'epoque au fait, la norme est sortie tres tard) mais personne ne
l'a jamais reellement supporte celui-la.

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
Arnaud Meurgues
Jean-Marc Bourguet wrote:

Turbo faisait reference a la rapidite de compilation. Ce n'etait pas
un mensonge du tout quand on compare au Pascal de MS a l'epoque.


Il y avait un Pascal Microsoft à l'époque de Turbo Pascal 1.0 ?!

Moi, ce que j'ai connu à l'époque, c'était Turbo Pascal sur CPM (merci
la carte Z80 sur Apple ][) que j'ai pu comparer au Pascal UCSD.

Et, effectivement, le « turbo » était largement justifié. Il me semble
que Borland avait inventé la compilation du Pascal en une passe, ce qui
l'a considérablement accélerer par rapport aux compilateurs concurrents.

Mais je ne savais pas que Microsoft avait un compilateur Pascal à l'époque.

Pascal, ce n'etait pas le Pascal normalise (est-ce qu'il l'etait deja
a l'epoque au fait, la norme est sortie tres tard) mais personne ne
l'a jamais reellement supporte celui-la.


J'ai l'impression que la norme de fait était Turbo Pascal, justement. Au
moins jusqu'à la version 5.5 où ils ont créé une rupture pour introduire
la POO (ce qui a abouti à Delphi).

--
Arnaud

1 2