Pourquoi Microsoft n'a tout simplement pas remplacé And, mais en gardant le même syntaxe ?
Je vois une raison majeure:
1. VB 6 a toujours été à contre-courant dans ce domaine. La plupart des autres langages ont toujours fait une évaluation court-circuit par défaut (avec option pour évaluation complète) alors que VB ne proposait que l'évaluation complète.
2. VB .Net "normalise" un maximum (pour des raisons de cohérence avec les autres langages de la famille .Net) et propose donc l'évaluation court-circuit (via AndAlso et OrElse)...
3... mais il y a des tonnes de code existant qui sont basées sur le fait que l'expression logique est évaluée complètement. Si MS avait conservé les mêmes mots-clé pour une opération radicalement différente, j'imagine les catastrophes en chaîne que cela aurait généré au moment du portage. D'où, je pense, la décision de créer des mots-clé différents et de garder la même sémantique pour And et Or.
Quand je dis que l'on n'a pas fini de se traîner les casseroles de VB 6....
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Stéphane L. wrote:
Pourquoi Microsoft n'a tout simplement pas remplacé And, mais en
gardant le même syntaxe ?
Je vois une raison majeure:
1. VB 6 a toujours été à contre-courant dans ce domaine. La plupart des
autres langages ont toujours fait une évaluation court-circuit par
défaut (avec option pour évaluation complète) alors que VB ne proposait
que l'évaluation complète.
2. VB .Net "normalise" un maximum (pour des raisons de cohérence avec
les autres langages de la famille .Net) et propose donc l'évaluation
court-circuit (via AndAlso et OrElse)...
3... mais il y a des tonnes de code existant qui sont basées sur le fait
que l'expression logique est évaluée complètement. Si MS avait conservé
les mêmes mots-clé pour une opération radicalement différente, j'imagine
les catastrophes en chaîne que cela aurait généré au moment du portage.
D'où, je pense, la décision de créer des mots-clé différents et de
garder la même sémantique pour And et Or.
Quand je dis que l'on n'a pas fini de se traîner les casseroles de VB
6....
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Pourquoi Microsoft n'a tout simplement pas remplacé And, mais en gardant le même syntaxe ?
Je vois une raison majeure:
1. VB 6 a toujours été à contre-courant dans ce domaine. La plupart des autres langages ont toujours fait une évaluation court-circuit par défaut (avec option pour évaluation complète) alors que VB ne proposait que l'évaluation complète.
2. VB .Net "normalise" un maximum (pour des raisons de cohérence avec les autres langages de la famille .Net) et propose donc l'évaluation court-circuit (via AndAlso et OrElse)...
3... mais il y a des tonnes de code existant qui sont basées sur le fait que l'expression logique est évaluée complètement. Si MS avait conservé les mêmes mots-clé pour une opération radicalement différente, j'imagine les catastrophes en chaîne que cela aurait généré au moment du portage. D'où, je pense, la décision de créer des mots-clé différents et de garder la même sémantique pour And et Or.
Quand je dis que l'on n'a pas fini de se traîner les casseroles de VB 6....
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr