En même temps, le switch sur les chaînes de caractères est une fonctionnalité assez douteuse. Les chaînes de caractères viennent à priori toutes de l'utilisateur (ou de l'environnement), donc il faut être robuste à différent détails et il est rare qu'on puisse tester exactement l'égalité avec quelque chose (on voudra plutôt tolérer certains changements, les différences majuscules/minuscules par exemple, les espacements...).
Pour chaque cas de "switch" qui entre dans ce cadre (on peut switcher si on choisit une méthode de normalisation de l'entrée et qu'on compare à des formes normales), il y a sans doute une tripotée de cas où le switch sur les chaînes est utilisé à tort à la place de fonctionnalités plus robustes (aux fautes de frappe dans le code etc.), comme les énumérations, les symboles, ou un type algébrique.
(Mais oui Ada n'est pas la panacée; par exemple la généricité par spécialisation est très lourde à utiliser, on aurait envie d'une forme plus simple de polymorphisme paramétrique.)
[^] # Re: Mes idéaux
Posté par gasche . En réponse au journal Votre langage idéal ?. Évalué à 2.
En même temps, le switch sur les chaînes de caractères est une fonctionnalité assez douteuse. Les chaînes de caractères viennent à priori toutes de l'utilisateur (ou de l'environnement), donc il faut être robuste à différent détails et il est rare qu'on puisse tester exactement l'égalité avec quelque chose (on voudra plutôt tolérer certains changements, les différences majuscules/minuscules par exemple, les espacements...).
Pour chaque cas de "switch" qui entre dans ce cadre (on peut switcher si on choisit une méthode de normalisation de l'entrée et qu'on compare à des formes normales), il y a sans doute une tripotée de cas où le switch sur les chaînes est utilisé à tort à la place de fonctionnalités plus robustes (aux fautes de frappe dans le code etc.), comme les énumérations, les symboles, ou un type algébrique.
(Mais oui Ada n'est pas la panacée; par exemple la généricité par spécialisation est très lourde à utiliser, on aurait envie d'une forme plus simple de polymorphisme paramétrique.)