Je dirais même plus...
Si tu pose cette question c'est sans doute que tu n'a pas vraiment acquis la
notion de langage interprété.
Ruby te (se ?) permet des acrobaties du genre typage dynamique :
truc = 'machin'
> 'machin'
truc = 3
> 3
Ou méta-programmation :
class Toto
3.times do |i|
define_method "blah_#{i}" do
i
end
end
end
Toto.new.blah_1
> 1
Toto.new.blah_2
> 2
Toto.new.blah_3
> 3
Du coup, les définitions de classe, les inclusions de modules, etc., tout ça
est fait "à la volée" par ton serveur, et à un coût en terme de
performances. Selon que tu lance ton serveur en environnement de :
- développement => a chaque requête, on reconstruit les classes et les
méthodes, ça coûte cher en performances, mais on s'en fout tu es chez toi
sur ta machine de développement et il n'y a pas des centaines de pékins
connectés
- production => on le fait une fois pour toute une fois par instance du
serveur, ça coûte juste à la première requête, après tes centaines de pékins
utilisent tous les classes déjà faites de l'instance
Mais aussi, ça a des conséquences sur le fonctionnement de l'appli :
- développement => a chaque requête, ton serveur utilise la toute
dernière modification que tu as fait dans ton appli puisqu'il relit tout
- production => si tu change quelque chose dans l'appli (dans le code de
l'appli, pas dans les données de la base) tu dois redémarrer les instances
si tu veux voir un changement cohérent
Voilà, j'espère que c'est plus clair comme ça.
Michel Belleville
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse
[email protected]
-~----------~----~----~----~------~----~------~--~---