Un truc qui m'a toujours semblé un peu une mauvaise idée (d'un point de vue maintenance) dans lua et que tu ne mentionnes pas, c'est le fait que les variables sont globales par défaut et qu'il faut utiliser local, plutôt que le comportement inverse (un global à la Tcl ou Python).
Les développeurs sont fortement contre l'ajout du mot clé continue, alors ils ont rajouté le terrible goto. Par contre break existe.
Le goto est une version très restreinte (un peu comme en Go, c'est un goto sans vraiment l'être), donc qui évite les cas vraiment problématiques qui lui valent une mauvaise réputation, non ?
Pas d'expression régulière, mais un format maison bien plus limité.
Pour le coup, ça c'est assez compréhensible pour un langage qui se veut petit et d'extension : un moteur d'expression régulières un peu moderne représenterait probablement autant de code que le reste de l'interpréteur, et un moteur trop simpliste donnerait de mauvaises performances.
Ça a aussi l'avantage d'être plus facile à apprendre que les regexps, plus clair dans les cas simples. Un des objectifs de lua est d'être facilement modifiable par des personnes avec peu d'expérience en programmation.
[^] # Re: Pas vraiment
Posté par anaseto . En réponse au lien Lua, un langage incompris.. Évalué à 4.
Un truc qui m'a toujours semblé un peu une mauvaise idée (d'un point de vue maintenance) dans lua et que tu ne mentionnes pas, c'est le fait que les variables sont globales par défaut et qu'il faut utiliser
local, plutôt que le comportement inverse (unglobalà la Tcl ou Python).Le
gotoest une version très restreinte (un peu comme en Go, c'est un goto sans vraiment l'être), donc qui évite les cas vraiment problématiques qui lui valent une mauvaise réputation, non ?Pour le coup, ça c'est assez compréhensible pour un langage qui se veut petit et d'extension : un moteur d'expression régulières un peu moderne représenterait probablement autant de code que le reste de l'interpréteur, et un moteur trop simpliste donnerait de mauvaises performances.
Ça a aussi l'avantage d'être plus facile à apprendre que les regexps, plus clair dans les cas simples. Un des objectifs de lua est d'être facilement modifiable par des personnes avec peu d'expérience en programmation.