Posté par beagf .
En réponse au journal Ion.
Évalué à 6.
Ce jour est arrivé... Eh oui, je ne vais pas parler de ion, même si je l'utilise au boulot comme chez moi, mais de lua.
Je l'utilise énormément lui aussi, à la fois au boulot et pour des projets perso. Et avec lua il y a une chose qu'il faut bien comprendre, c'est que les dévelopeurs on pour regle de ne pas s'encombrer de la compatibilitée avec les version précédente si cela nuit l'évolution du langage.
J'entende déjà les raleurs qui disent que c'est n'importe quoi, mais il faut bien comprendre que lua est un langage principalement destiné à être intégré dans d'autres applications. Il est par exemple beaucoup utilisé dans le monde des jeux pour toute la partie script, il est notament très présent dans world of warcraft et bien d'autres titres phares. Au boulot je programme toutes les parties critiques de mon code sous forme de bibliothèques de fonctions en C pour lua, et en suite tout le reste est écrit en lua.
Dans ce contexte la compatibilitée avec les version précédentes n'est pas vraiment utile, au moment ou le developement commence à vraiment prendre forme on fige la version que l'on utilise, et on fait tout le dev et les tests sur cette version et on sort le produit. On ne s'ammuse pas à changer de version tous les mois pendant le dev, ce que l'on cherche c'est un produit stable et que l'on connait bien.
A ce niveau lua est vraiment un model, chaque version est d'une stabilitée exemplaire. Je l'utilise intenssivement depuis la version 3.2 et je n'ai jamais rencontrer le moindre problème. Les bugs trouvés pendant ce temps ce comptent sur les doigts des mains. (et il reste même encore quelques doigts)
Ensuite pour le passage de la version 5.0 à la 5.1, ce n'est pas un changement mineur, mais de grosse modifications qui ont étée faites, notament au niveau du garbage collector. Mais le langage en lui même n'a que peut changé, la compatibilitée entre les deux versions est presque totale.
Il est possible de garder la compatibilitée avec la majoritée des éléments qui ont changer en activant quelques options dans le fichier de conf. Et un module de compatibilitée est disponible et permet de faire tourner un programme 5.1 sur l'interpreteur 5.0.
On dispose donc entre ces deux version du compatibilitée dans les deux sens. (pas complète mais presque) Ce qui permet de migrer en douceur pour ceux qui le veulent.
La politique globale des developpeurs est que la compatibilitée ne doit pas être un frein à l'évolution de lua, mais par contre quand elle peut être assurée à facilement ils le font. Personnelement j'ai des programme qui tournent encore avec lua 3.2 et 4.1 et je n'envisage pas de les migrer vers une version supperieure. Une plus forte compatibilitée m'aurais permit de les migrer et donc d'avoir une homogénéitée des version, mais audétriment de toutes les fantastiques amélioration qui ont eu lieu.
L'apparition des metatables, des coroutines, du support des multi-state, du thread-safe et bien d'autres encore aurrait été impossible ou aurrait donné un langage ignoble sans cette politique.
Les developpeur décrivent lua comme un langage qui évoluent selon les besoins, ce qu'ils opposent au langage ecrit par des commités, ce qui ce résume par cette très belles phrase : "Un chameau est un cheval conçu par un commité..."
Un commentaire assez long, mais je remmercie énormément les auteurs de lua de faire évolué ce langage avec comme préoccupation de garder le langage simple et propre, au prix de la compatibilitée avec les vieille versions. Pour ceux qui désirent cette compatibilitée il y a d'autres lanage qui sont très bien aussi...
[^] # Re: l'essayer c'est l'adopter...
Posté par beagf . En réponse au journal Ion. Évalué à 6.
Je l'utilise énormément lui aussi, à la fois au boulot et pour des projets perso. Et avec lua il y a une chose qu'il faut bien comprendre, c'est que les dévelopeurs on pour regle de ne pas s'encombrer de la compatibilitée avec les version précédente si cela nuit l'évolution du langage.
J'entende déjà les raleurs qui disent que c'est n'importe quoi, mais il faut bien comprendre que lua est un langage principalement destiné à être intégré dans d'autres applications. Il est par exemple beaucoup utilisé dans le monde des jeux pour toute la partie script, il est notament très présent dans world of warcraft et bien d'autres titres phares. Au boulot je programme toutes les parties critiques de mon code sous forme de bibliothèques de fonctions en C pour lua, et en suite tout le reste est écrit en lua.
Dans ce contexte la compatibilitée avec les version précédentes n'est pas vraiment utile, au moment ou le developement commence à vraiment prendre forme on fige la version que l'on utilise, et on fait tout le dev et les tests sur cette version et on sort le produit. On ne s'ammuse pas à changer de version tous les mois pendant le dev, ce que l'on cherche c'est un produit stable et que l'on connait bien.
A ce niveau lua est vraiment un model, chaque version est d'une stabilitée exemplaire. Je l'utilise intenssivement depuis la version 3.2 et je n'ai jamais rencontrer le moindre problème. Les bugs trouvés pendant ce temps ce comptent sur les doigts des mains. (et il reste même encore quelques doigts)
Ensuite pour le passage de la version 5.0 à la 5.1, ce n'est pas un changement mineur, mais de grosse modifications qui ont étée faites, notament au niveau du garbage collector. Mais le langage en lui même n'a que peut changé, la compatibilitée entre les deux versions est presque totale.
Il est possible de garder la compatibilitée avec la majoritée des éléments qui ont changer en activant quelques options dans le fichier de conf. Et un module de compatibilitée est disponible et permet de faire tourner un programme 5.1 sur l'interpreteur 5.0.
On dispose donc entre ces deux version du compatibilitée dans les deux sens. (pas complète mais presque) Ce qui permet de migrer en douceur pour ceux qui le veulent.
La politique globale des developpeurs est que la compatibilitée ne doit pas être un frein à l'évolution de lua, mais par contre quand elle peut être assurée à facilement ils le font. Personnelement j'ai des programme qui tournent encore avec lua 3.2 et 4.1 et je n'envisage pas de les migrer vers une version supperieure. Une plus forte compatibilitée m'aurais permit de les migrer et donc d'avoir une homogénéitée des version, mais audétriment de toutes les fantastiques amélioration qui ont eu lieu.
L'apparition des metatables, des coroutines, du support des multi-state, du thread-safe et bien d'autres encore aurrait été impossible ou aurrait donné un langage ignoble sans cette politique.
Les developpeur décrivent lua comme un langage qui évoluent selon les besoins, ce qu'ils opposent au langage ecrit par des commités, ce qui ce résume par cette très belles phrase : "Un chameau est un cheval conçu par un commité..."
Un commentaire assez long, mais je remmercie énormément les auteurs de lua de faire évolué ce langage avec comme préoccupation de garder le langage simple et propre, au prix de la compatibilitée avec les vieille versions. Pour ceux qui désirent cette compatibilitée il y a d'autres lanage qui sont très bien aussi...