Ah quoi ca sert d'avoir les pointeurs dans un langage de haut niveau ? Bah à utiliser beaucoup plus facilement l'existant, notamment les libs C. Et puis comme le dit très bien le concepteur du C# : The irony is that although there have been all kinds of debate and writing about how C# has unsafe code and "Oh my God, it is badness," the funny thing is that unsafe code is a lot safer than any kind of code you would ever do with JNI. Because in C#, unsafe code is integrated with the language and everybody understands what's going on.
First of all let's just immediately do away with the notion that there is a security hole with unsafe code, because unsafe code never runs in an untrusted environment, just like JNI code never runs in an untrusted environment. The right way to think about unsafe code is that it takes the capabilities of JNI and integrates them into the programming language. That makes it easier, and therefore less error prone, and therefore less unsafe, to write code for interoperating with the outside world.
JNI : Java Native Interface
De plus les pointeurs permettent souvent d'obtenir un gain de performances non négligeable dans certains cas (je peux te montrer des exemple où la vitessse est multipliée par 50), il faut tout de même préciser au compilateur que l'ont souhaite utiliser les pointeurs et l'expliciter dans le code, bref, ceux qui veulent peuvent les utiliser, les autres n'en auront jamais besoin. Où est le problème ?
[^] # Re: Les langages et la jvm
Posté par TImaniac (site web personnel) . En réponse à la dépêche Havoc Pennington se pose des questions sur les langages du libre. Évalué à 1.
The irony is that although there have been all kinds of debate and writing about how C# has unsafe code and "Oh my God, it is badness," the funny thing is that unsafe code is a lot safer than any kind of code you would ever do with JNI. Because in C#, unsafe code is integrated with the language and everybody understands what's going on.
First of all let's just immediately do away with the notion that there is a security hole with unsafe code, because unsafe code never runs in an untrusted environment, just like JNI code never runs in an untrusted environment. The right way to think about unsafe code is that it takes the capabilities of JNI and integrates them into the programming language. That makes it easier, and therefore less error prone, and therefore less unsafe, to write code for interoperating with the outside world.
JNI : Java Native Interface
De plus les pointeurs permettent souvent d'obtenir un gain de performances non négligeable dans certains cas (je peux te montrer des exemple où la vitessse est multipliée par 50), il faut tout de même préciser au compilateur que l'ont souhaite utiliser les pointeurs et l'expliciter dans le code, bref, ceux qui veulent peuvent les utiliser, les autres n'en auront jamais besoin. Où est le problème ?