|
| Gaby nous l'ayant cité peut être dix fois,
Ton système arithmétique est remarquable.
|
| Gaby nous l'ayant cité peut être dix fois,
Ton système arithmétique est remarquable.
|
| Gaby nous l'ayant cité peut être dix fois,
Ton système arithmétique est remarquable.
J'en profite pour expliquer (pas particulierement a toi ;-) un peu
plus en details pourquoi c'est aussi important d'un point de vu design
de software (mon lobbing). Je pense qu'une des erreurs de design de C+
+, c'est d'avoir mis les methodes virtual comme membre des classes.
Elles auraient du en rester a l'exterieur. Cela aurait permis:
- de garantir le Liskov Subtitution Principle au lieu de le violer
systematiquement. On sait aujourd'hui qu'il est pratiquement
impossible de le satisfaire en presence du runtime polymorphism. Cela
aurait aussi grandement simplifie la notion de classe et leur design.
Le runtime polymorphism venant apres, comme une extension de
l'interface selon les besoins.
J'en profite pour expliquer (pas particulierement a toi ;-) un peu
plus en details pourquoi c'est aussi important d'un point de vu design
de software (mon lobbing). Je pense qu'une des erreurs de design de C+
+, c'est d'avoir mis les methodes virtual comme membre des classes.
Elles auraient du en rester a l'exterieur. Cela aurait permis:
- de garantir le Liskov Subtitution Principle au lieu de le violer
systematiquement. On sait aujourd'hui qu'il est pratiquement
impossible de le satisfaire en presence du runtime polymorphism. Cela
aurait aussi grandement simplifie la notion de classe et leur design.
Le runtime polymorphism venant apres, comme une extension de
l'interface selon les besoins.
J'en profite pour expliquer (pas particulierement a toi ;-) un peu
plus en details pourquoi c'est aussi important d'un point de vu design
de software (mon lobbing). Je pense qu'une des erreurs de design de C+
+, c'est d'avoir mis les methodes virtual comme membre des classes.
Elles auraient du en rester a l'exterieur. Cela aurait permis:
- de garantir le Liskov Subtitution Principle au lieu de le violer
systematiquement. On sait aujourd'hui qu'il est pratiquement
impossible de le satisfaire en presence du runtime polymorphism. Cela
aurait aussi grandement simplifie la notion de classe et leur design.
Le runtime polymorphism venant apres, comme une extension de
l'interface selon les besoins.
On 31 mai, 12:12, ld wrote:
> J'en profite pour expliquer (pas particulierement a toi ;-) un peu
> plus en details pourquoi c'est aussi important d'un point de vu design
> de software (mon lobbing). Je pense qu'une des erreurs de design de C+
> +, c'est d'avoir mis les methodes virtual comme membre des classes.
> Elles auraient du en rester a l'exterieur. Cela aurait permis:
> - de garantir le Liskov Subtitution Principle au lieu de le violer
> systematiquement. On sait aujourd'hui qu'il est pratiquement
> impossible de le satisfaire en presence du runtime polymorphism. Cela
> aurait aussi grandement simplifie la notion de classe et leur design.
> Le runtime polymorphism venant apres, comme une extension de
> l'interface selon les besoins.
Pourrais-tu détailler en quoi les mettre à l'extérieur aide au resp ect
du LSP ? A priori, je ne vois pas trop le rapport.
On 31 mai, 12:12, ld <Laurent.Den...@gmail.com> wrote:
> J'en profite pour expliquer (pas particulierement a toi ;-) un peu
> plus en details pourquoi c'est aussi important d'un point de vu design
> de software (mon lobbing). Je pense qu'une des erreurs de design de C+
> +, c'est d'avoir mis les methodes virtual comme membre des classes.
> Elles auraient du en rester a l'exterieur. Cela aurait permis:
> - de garantir le Liskov Subtitution Principle au lieu de le violer
> systematiquement. On sait aujourd'hui qu'il est pratiquement
> impossible de le satisfaire en presence du runtime polymorphism. Cela
> aurait aussi grandement simplifie la notion de classe et leur design.
> Le runtime polymorphism venant apres, comme une extension de
> l'interface selon les besoins.
Pourrais-tu détailler en quoi les mettre à l'extérieur aide au resp ect
du LSP ? A priori, je ne vois pas trop le rapport.
On 31 mai, 12:12, ld wrote:
> J'en profite pour expliquer (pas particulierement a toi ;-) un peu
> plus en details pourquoi c'est aussi important d'un point de vu design
> de software (mon lobbing). Je pense qu'une des erreurs de design de C+
> +, c'est d'avoir mis les methodes virtual comme membre des classes.
> Elles auraient du en rester a l'exterieur. Cela aurait permis:
> - de garantir le Liskov Subtitution Principle au lieu de le violer
> systematiquement. On sait aujourd'hui qu'il est pratiquement
> impossible de le satisfaire en presence du runtime polymorphism. Cela
> aurait aussi grandement simplifie la notion de classe et leur design.
> Le runtime polymorphism venant apres, comme une extension de
> l'interface selon les besoins.
Pourrais-tu détailler en quoi les mettre à l'extérieur aide au resp ect
du LSP ? A priori, je ne vois pas trop le rapport.
Ce qui est surprenant : le papier en question n'est pas mon sujet, mais
le sujet la discussion initiale, explicitement mentionné par la personne
qui a lancé la discussion.
Ce qui est surprenant : le papier en question n'est pas mon sujet, mais
le sujet la discussion initiale, explicitement mentionné par la personne
qui a lancé la discussion.
Ce qui est surprenant : le papier en question n'est pas mon sujet, mais
le sujet la discussion initiale, explicitement mentionné par la personne
qui a lancé la discussion.
ld writes:
[...]
| (*) c'est ce qui fait que je suis toujours etonne de voir le peut
| d'importance que l'on donne encore aujourd'hui aux multi-methodes. On
| invente des tonnes de langages et de modeles de development alors que
| les solutions (selon moi ;-) sont connues et simples (mais pas
| fashion). C'est ce qui a motive le development de COS avec ce que
| j'appelle son "inductive design" (principes => concepts) dans mon
| papier.
Je crois que l'une des raisons est qu'il est plus facile d'implémenter
efficacement l'une que l'autre.
Je ne dirais pas qu'on accorde peu d'importance aux multi-méthodes, je
dirais qu'on les appelle autrement. Par exemple, dans Spad [1], la
programmation de base est à coup de multi-méthodes dans un certain
sens. De même certaines extensions populaires de Haskell [2] ont des
class de types multivariées.
Les implémentations *efficaces* de multi-méthodes sont un peu plus du r à
realiser
-- et on a quand même des problèmes d'ambiguité au runtime...
ld <Laurent.Den...@gmail.com> writes:
[...]
| (*) c'est ce qui fait que je suis toujours etonne de voir le peut
| d'importance que l'on donne encore aujourd'hui aux multi-methodes. On
| invente des tonnes de langages et de modeles de development alors que
| les solutions (selon moi ;-) sont connues et simples (mais pas
| fashion). C'est ce qui a motive le development de COS avec ce que
| j'appelle son "inductive design" (principes => concepts) dans mon
| papier.
Je crois que l'une des raisons est qu'il est plus facile d'implémenter
efficacement l'une que l'autre.
Je ne dirais pas qu'on accorde peu d'importance aux multi-méthodes, je
dirais qu'on les appelle autrement. Par exemple, dans Spad [1], la
programmation de base est à coup de multi-méthodes dans un certain
sens. De même certaines extensions populaires de Haskell [2] ont des
class de types multivariées.
Les implémentations *efficaces* de multi-méthodes sont un peu plus du r à
realiser
-- et on a quand même des problèmes d'ambiguité au runtime...
ld writes:
[...]
| (*) c'est ce qui fait que je suis toujours etonne de voir le peut
| d'importance que l'on donne encore aujourd'hui aux multi-methodes. On
| invente des tonnes de langages et de modeles de development alors que
| les solutions (selon moi ;-) sont connues et simples (mais pas
| fashion). C'est ce qui a motive le development de COS avec ce que
| j'appelle son "inductive design" (principes => concepts) dans mon
| papier.
Je crois que l'une des raisons est qu'il est plus facile d'implémenter
efficacement l'une que l'autre.
Je ne dirais pas qu'on accorde peu d'importance aux multi-méthodes, je
dirais qu'on les appelle autrement. Par exemple, dans Spad [1], la
programmation de base est à coup de multi-méthodes dans un certain
sens. De même certaines extensions populaires de Haskell [2] ont des
class de types multivariées.
Les implémentations *efficaces* de multi-méthodes sont un peu plus du r à
realiser
-- et on a quand même des problèmes d'ambiguité au runtime...