| el muchacho |
mareek a écrit :
t'as viré la première partie où il chiale parce qu'il ne peut pas faire if(1) ou if("richtig" ). [:petrus75] Et le problème qu'il signale dans ton quote n'a rien de spécifique au booléens, c'est le problème de la surcharge des opérateurs. C'est très pratique quand c'est bien fait mais c'est aussi un excellent moyen de te tirer une roquette dans le pied.
|
Merci, mais je sais lire. Sur le premier point, il a raison, le langage se veut inspiré de Java & co, et une syntaxe acceptée depuis 30 ans, même si pas forcément excellente, ne fonctionne pas pareil. Pourquoi ? Un minimum d'explication n'est pas de trop. J'ai cité la remarque de fin, parce que c'est nettement plus difficile à balayer, et surtout donne l'impression que tout n'est pas pensé en profondeur. Or dans la définition d'un langage, c'est p-ê le plus important. Là, l'impression que ça donne, c'est: "ce serait cool d'avoir l'operator overloading, Java ne l'a pas, hop on le rajoute". Et bam, on flanque l'orthogonalité par terre. Le problème, c'est pas tant qu'ils ont fait ces choix, c'est qu'il n'y a aucune justification, ils semblent complètement arbitraires. Ca fait typiquement langage d'amateur. De toute façon, il y a aucune justification sur la démarche de départ, qui est de remplacer Javascript. Comme écrit ici et là, on peut arguer que s'ils avaient voulu quelque chose d'un peu pérenne, c'est plutôt un environnement d'exécution sécurisé de bytecode ou de code natif qu'ils auraient dû définir plutôt qu'un langage.
Si j'ai bien compris, ça n'est pas le problème. Le problème, c'est qu'on pourrait redéfinir operator '==' ==> int, qui est forcément false dans ce langage.
|