Pareil pour le sandboxing : le faire de manière identique sur tous les OS, pour une portion de code (et pas un processus en entier) et à l'heure actuelle, sans java/.NET(/autre?), et bien c'est pas possible. Et que dans l'absolu, ça soit possible, ça ne change au final pas grand chose. Donc je maintiens que si on a besoin de sandboxing (c'est à dire pas souvent, je te l'accorde), pour l'instant la VM est le seul salut.
Et moi que non;) : il "suffit" de verifier que le code respecte certaines proprietes avant de le compiler. Ce n'est pas possible pour un language comme C, mais par exemple c'est assez simple de verifier un language comme Haskell comme etant sur avant de le compiler et de l'executer; donc pas de VM dans ces cas la.
Dans des cas extremes, tu as par exemple des OS extensibles qui verifient du code, le compilent eux meme avant de l'installer directement dans le noyau. SPIN fait ca par exemple.
Quant aux langages a la C ... Defi releve pour mon langage, L! (petit coup de pub: http://www.nongnu.org/l-lang )
[^] # Re: et le mien
Posté par Matthieu Lemerre . En réponse à la dépêche Le langage D 1.00 est disponible !. Évalué à 1.
Et moi que non;) : il "suffit" de verifier que le code respecte certaines proprietes avant de le compiler. Ce n'est pas possible pour un language comme C, mais par exemple c'est assez simple de verifier un language comme Haskell comme etant sur avant de le compiler et de l'executer; donc pas de VM dans ces cas la.
Dans des cas extremes, tu as par exemple des OS extensibles qui verifient du code, le compilent eux meme avant de l'installer directement dans le noyau. SPIN fait ca par exemple.
Quant aux langages a la C ... Defi releve pour mon langage, L! (petit coup de pub: http://www.nongnu.org/l-lang )