Comments by "Anony Mousse" (@anon_y_mousse) on "Rust Coming Soon To A Linux Kernel Near You!!" video.

  1. 1
  2. 1
  3.  @dynfoxx  It may not be GC on the level of Java, but it is GC. It's more or less a clone of C++'s most common style of GC. From a technical standpoint, it could be included in a kernel, but doing so will add the kind of overhead that shouldn't be in a kernel. Although it sounds like you disagree with that assessment. I don't see how you can conclude that they provide safe concurrency either. With barely over a decade of testing I'd need to see a fairly conclusive set of tests to prove that. As for the example, it wasn't meant as an example of known problems that Rust programmers have, although they very likely will, but rather as an example of how there are so many types of errors that they either don't or can't protect against and shouldn't be lulling newbies into a false sense of security by claiming they solve any class of errors. On top of that, in a kernel you need guarantees of speed. If you keep bounds checking turned on then your code will run significantly slower in quite a few circumstances than code which isn't bounds checked. If you turn the feature off, you're no better than C. You can claim that features like lifetimes and ownership will make it better, but the implementation requires extra code there that also slows things down. The runtime of a kernel shouldn't be holding your hand if you develop for the kernel, you should be at least a good programmer to do such work if not a great one. Of course, a lot of my opinion on this matter stems from the fact that I've worked with a lot of newbie programmers and I understand their psychology somewhat, and if you give a mouse a rope and tell them to hoist themself to the rafters, they'll very likely do so by their neck.
    1
  4.  @dynfoxx  It's not the same as calling free() in C. It's more like the methodology of C++, and yes, it is indeed extra overhead. If you implement your code in a library and interface it with other code, regardless of language, you can't have runtime checks of their correctness. There will also be certain checks for correctness that you can't perform in such a scenario even if you stipulate every expectation for code that calls yours, and yes even if the "client" in this scenario is also written in Rust. The biggest reason for my complaints about Rust in this regard is how similar it functions to C++, except that the language designers have chosen all the methodology for how things will work, and lead everyone they can into believing the language is safe. For you to claim that you can merely bypass their decisions for how you should do things by declaring your code unsafe is absolutely wrong. Essentially, what you're saying is, use a pointless keyword that gives those who don't use it a false sense of security and just write it in C with a weird syntax. You keep talking about C++ features in Rust but you're using exclusively the Rust names as though I have no idea how one or the other or both work and then you're claiming it doesn't work the way you and I both know it does. Have you ever used C++? Do you know of all the features it includes? Even just up to 11? If you're as staunch a Rustacean as you seem, I wouldn't expect you to keep up with 17, and certainly not the latest standard, but at least 11 which was the last standard before Rust was released.
    1
  5. 1
  6. 1
  7. 1
  8. 1
  9. 1
  10. 1
  11. 1
  12. 1