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.
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).
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.
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).
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.
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).
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?
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.
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.
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?
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.
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.
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?
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.
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.
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 ? :-)
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++.
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 ? :-)
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++.
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 ? :-)
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++.
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?
Lesquelles? Une référence?
Ben justement, il me semble que C++/CLI est le 1er langage
"compatible .NET" à apporter des éléments sémantiques nouveaux par
rapport à la sémantique de base du CLI (soit grosso-modo celle du
C#). L'exemple le plus flagrant étant les "stack semantics" qui
permettent de séparer les notions de destructeurs et de finaliseurs,
et d'avoir des destructeurs qui s'executent de manière synchrone en
C++/CLI, exactement comme en ISO C++ (ce qui veut dire que l'on
dispose de l'idiome RAII en C++/CLI...)
Par contre, c'est vrai que C++/CLI impose un certain nombre de
lourdeurs sémantiques, comme la séparation arbitraire entre les
"value-type" et les "reference-types"...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.
AMHA, le gros atout de CLI par rapport à Java ne tient pas à
l'indépendance du langage, mais à la BCL (librairie de base, comme on
voudra l'appeler) qui est bien mieux foutue...
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.
Tu as essayé? Moi oui, et je trouve que justement la nouvelle syntaxe
de C++/CLI (comparé au C++ managé) rend les choses assez faciles à
gérer en pratique. L'utilisation de "^" versus "*" permet de s'y
retrouver assez bien...
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?
Lesquelles? Une référence?
Ben justement, il me semble que C++/CLI est le 1er langage
"compatible .NET" à apporter des éléments sémantiques nouveaux par
rapport à la sémantique de base du CLI (soit grosso-modo celle du
C#). L'exemple le plus flagrant étant les "stack semantics" qui
permettent de séparer les notions de destructeurs et de finaliseurs,
et d'avoir des destructeurs qui s'executent de manière synchrone en
C++/CLI, exactement comme en ISO C++ (ce qui veut dire que l'on
dispose de l'idiome RAII en C++/CLI...)
Par contre, c'est vrai que C++/CLI impose un certain nombre de
lourdeurs sémantiques, comme la séparation arbitraire entre les
"value-type" et les "reference-types"...
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.
AMHA, le gros atout de CLI par rapport à Java ne tient pas à
l'indépendance du langage, mais à la BCL (librairie de base, comme on
voudra l'appeler) qui est bien mieux foutue...
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.
Tu as essayé? Moi oui, et je trouve que justement la nouvelle syntaxe
de C++/CLI (comparé au C++ managé) rend les choses assez faciles à
gérer en pratique. L'utilisation de "^" versus "*" permet de s'y
retrouver assez bien...
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?
Lesquelles? Une référence?
Ben justement, il me semble que C++/CLI est le 1er langage
"compatible .NET" à apporter des éléments sémantiques nouveaux par
rapport à la sémantique de base du CLI (soit grosso-modo celle du
C#). L'exemple le plus flagrant étant les "stack semantics" qui
permettent de séparer les notions de destructeurs et de finaliseurs,
et d'avoir des destructeurs qui s'executent de manière synchrone en
C++/CLI, exactement comme en ISO C++ (ce qui veut dire que l'on
dispose de l'idiome RAII en C++/CLI...)
Par contre, c'est vrai que C++/CLI impose un certain nombre de
lourdeurs sémantiques, comme la séparation arbitraire entre les
"value-type" et les "reference-types"...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.
AMHA, le gros atout de CLI par rapport à Java ne tient pas à
l'indépendance du langage, mais à la BCL (librairie de base, comme on
voudra l'appeler) qui est bien mieux foutue...
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.
Tu as essayé? Moi oui, et je trouve que justement la nouvelle syntaxe
de C++/CLI (comparé au C++ managé) rend les choses assez faciles à
gérer en pratique. L'utilisation de "^" versus "*" permet de s'y
retrouver assez bien...
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?
Lesquelles? Une référence?
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.
Ben justement, il me semble que C++/CLI est le 1er langage "compatible
..NET" à apporter des éléments sémantiques nouveaux par rapport à
la sémantique de base du CLI (soit grosso-modo celle du C#).
L'exemple le plus flagrant étant les "stack semantics" qui permettent
de séparer les notions de destructeurs et de finaliseurs, et d'avoir
des destructeurs qui s'executent de manière synchrone en C++/CLI,
exactement comme en ISO C++ (ce qui veut dire que l'on dispose de
l'idiome RAII en C++/CLI...)
Par contre, c'est vrai que C++/CLI impose un certain nombre de
lourdeurs sémantiques, comme la séparation arbitraire entre les
"value-type" et les "reference-types"...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.
AMHA, le gros atout de CLI par rapport à Java ne tient pas à
l'indépendance du langage, mais à la BCL (librairie de base, comme on
voudra l'appeler) qui est bien mieux foutue...
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.
Tu as essayé? Moi oui, et je trouve que justement la nouvelle syntaxe
de C++/CLI (comparé au C++ managé) rend les choses assez faciles à
gérer en pratique. L'utilisation de "^" versus "*" permet de s'y
retrouver assez bien...
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.
Il y a quand même un autre argument qui milite en faveur du C++/CLI
par rapport au C# : le modèle de compilation séparé, donc la
réduction des temps de (re)compilation.
Cependant, vu la complexité horrible du C++ par rapport au C# du point
de vue du parser/lexer, cet argument n'est en pratique valable que sur
de *gros* volumes de code. Sur des petits projets, C# atomise C++ (CLI
ou ISO) en temps de compilation :-(
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?
Lesquelles? Une référence?
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.
Ben justement, il me semble que C++/CLI est le 1er langage "compatible
..NET" à apporter des éléments sémantiques nouveaux par rapport à
la sémantique de base du CLI (soit grosso-modo celle du C#).
L'exemple le plus flagrant étant les "stack semantics" qui permettent
de séparer les notions de destructeurs et de finaliseurs, et d'avoir
des destructeurs qui s'executent de manière synchrone en C++/CLI,
exactement comme en ISO C++ (ce qui veut dire que l'on dispose de
l'idiome RAII en C++/CLI...)
Par contre, c'est vrai que C++/CLI impose un certain nombre de
lourdeurs sémantiques, comme la séparation arbitraire entre les
"value-type" et les "reference-types"...
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.
AMHA, le gros atout de CLI par rapport à Java ne tient pas à
l'indépendance du langage, mais à la BCL (librairie de base, comme on
voudra l'appeler) qui est bien mieux foutue...
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.
Tu as essayé? Moi oui, et je trouve que justement la nouvelle syntaxe
de C++/CLI (comparé au C++ managé) rend les choses assez faciles à
gérer en pratique. L'utilisation de "^" versus "*" permet de s'y
retrouver assez bien...
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.
Il y a quand même un autre argument qui milite en faveur du C++/CLI
par rapport au C# : le modèle de compilation séparé, donc la
réduction des temps de (re)compilation.
Cependant, vu la complexité horrible du C++ par rapport au C# du point
de vue du parser/lexer, cet argument n'est en pratique valable que sur
de *gros* volumes de code. Sur des petits projets, C# atomise C++ (CLI
ou ISO) en temps de compilation :-(
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?
Lesquelles? Une référence?
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.
Ben justement, il me semble que C++/CLI est le 1er langage "compatible
..NET" à apporter des éléments sémantiques nouveaux par rapport à
la sémantique de base du CLI (soit grosso-modo celle du C#).
L'exemple le plus flagrant étant les "stack semantics" qui permettent
de séparer les notions de destructeurs et de finaliseurs, et d'avoir
des destructeurs qui s'executent de manière synchrone en C++/CLI,
exactement comme en ISO C++ (ce qui veut dire que l'on dispose de
l'idiome RAII en C++/CLI...)
Par contre, c'est vrai que C++/CLI impose un certain nombre de
lourdeurs sémantiques, comme la séparation arbitraire entre les
"value-type" et les "reference-types"...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.
AMHA, le gros atout de CLI par rapport à Java ne tient pas à
l'indépendance du langage, mais à la BCL (librairie de base, comme on
voudra l'appeler) qui est bien mieux foutue...
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.
Tu as essayé? Moi oui, et je trouve que justement la nouvelle syntaxe
de C++/CLI (comparé au C++ managé) rend les choses assez faciles à
gérer en pratique. L'utilisation de "^" versus "*" permet de s'y
retrouver assez bien...
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.
Il y a quand même un autre argument qui milite en faveur du C++/CLI
par rapport au C# : le modèle de compilation séparé, donc la
réduction des temps de (re)compilation.
Cependant, vu la complexité horrible du C++ par rapport au C# du point
de vue du parser/lexer, cet argument n'est en pratique valable que sur
de *gros* volumes de code. Sur des petits projets, C# atomise C++ (CLI
ou ISO) en temps de compilation :-(
AMHA, le gros atout de CLI par rapport à Java ne tient pas à
l'indépendance du langage, mais à la BCL (librairie de base, comme on
voudra l'appeler) qui est bien mieux foutue...
Moi je trouve que c'est là qu'il pèche justement.
AMHA, le gros atout de CLI par rapport à Java ne tient pas à
l'indépendance du langage, mais à la BCL (librairie de base, comme on
voudra l'appeler) qui est bien mieux foutue...
Moi je trouve que c'est là qu'il pèche justement.
AMHA, le gros atout de CLI par rapport à Java ne tient pas à
l'indépendance du langage, mais à la BCL (librairie de base, comme on
voudra l'appeler) qui est bien mieux foutue...
Moi je trouve que c'est là qu'il pèche justement.
Et le rapport avec le reste ? Désolé, mais je ne te suis plus.
(en fait, j'ai deux opinions sur
C++/CLI : le nom doit changer [...]
Et le rapport avec le reste ? Désolé, mais je ne te suis plus.
(en fait, j'ai deux opinions sur
C++/CLI : le nom doit changer [...]
Et le rapport avec le reste ? Désolé, mais je ne te suis plus.
(en fait, j'ai deux opinions sur
C++/CLI : le nom doit changer [...]
"Comme ça on ne vendra plus de VC++", dixit le service *marketing*.
"Comme ça on ne vendra plus de VC++", dixit le service *marketing*.
"Comme ça on ne vendra plus de VC++", dixit le service *marketing*.
Dans le message ,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...
Dans le message pxbu07q6o4l.fsf@news.bourguet.org,
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...
Dans le message ,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...