Comments by "George Albany" (@Spartan322) on "ThePrimeTime" channel.

  1. 26
  2. 24
  3. 21
  4. 10
  5. 8
  6. 7
  7. I hate Rust's syntax as a hobbyist in syntax design and parser development, you could not have made a much worse language syntax then Rust, Lisp makes more sense. Rust has interesting ideas, but I can't see a good reason to use it over C++, every protection it has can be just as well handled in C++ since C++11, C++ has been capable of memory safety since C++98, the problem is people keep assigning C programmers to C++ and then you're surprised when they open the C memory hole? We've had static analyzers for years telling people to stop doing that, and Rust has plenty of holes in its "sound type system" that people will abuse just the same as they did in C once anyone becomes competent in it, with competence mixed with time and performance constraints always brings a lack of safety even in "safe" code. "Safe Rust" can still perform buffer overflows and people will eventually rely on the existence of that behavior too. Course they might also just completely disregard "Safe Rust" which inherently produces bugs because it is impossible to understand Rust's overprotective behavior well enough to account for it in unsafe code, its the same as just writing straight C, all you did was move the problem down the line, if you keep pushing C developers over to Rust, and they keep struggling with the borrow checker, lifetimes, and the traits system to do even simple things people will just do what they did in C and C++ and disable the safety checks because they got in the way, and now you just fell right back to square one except now you get to claim "memory safety". That aside the ability to write and read the syntax easily determines the maintenance cost, Rust is not a maintainable language because of its verbosity, I don't foresee anyone wanting to keep any legacy Rust, (its enough of a pain maintaining legacy C when its readable, now imagine legacy Rust) which makes it questionable to try and replace C with, at least Zig is better for this.
    7
  8. 6
  9. 6
  10. 6
  11. 5
  12. 5
  13. 5
  14. 5
  15. 5
  16. 5
  17. 5
  18. 4
  19. 4
  20. 4
  21. 4
  22. 4
  23. 4
  24. 4
  25. 4
  26. 4
  27. 4
  28. 4
  29. 3
  30. 3
  31. 3
  32. 3
  33. 3
  34. 3
  35. 3
  36. 3
  37. 2
  38. 2
  39. 2
  40. 2
  41. 2
  42. 2
  43. 2
  44. 2
  45. 1
  46. 1
  47. 1
  48. 1
  49. 1
  50. 1
  51. 1
  52. 1
  53. 1
  54. 1
  55. 1
  56.  @skeetskeet9403  "well, why did the Android's Binder IPC being rewritten in Rust not lead to a change in performance if Rust is fundamentally slower?" And how was this benchmarked? By what metric have you actually tested this? Further still what techniques were used to attain that speed? Because using the Rust library and Rust infrastructure directly will cost you performance because it is more disconnected from the memory architecture then C++ inherently requiring techniques to recapture these systems which requires way more additional thought. Rust is more abstracted from the memory infrastructure and it absolutely does not believe in no cost abstractions (its memory architecture makes that quite clear) nor does it believe in not paying for what you don't use, it believes in declarations of safety over performance, all safety costs performance of some kind, I'm not even considering the compile-time performance cost, there is inherently a developer disconnect from memory in Rust compared to C++ as a result. Rust is inherently not capable to build as lean by default as C/C++ because of its emphasis on safety over everything else, that doesn't mean it can't be lean at all, that's not the issue. As demonstrated in this example, its requirement that many operations be "safe" absolutely will cost you in the marginal cases that require immense performance. And it doesn't make it remotely easy to escape this, and when you leave that pretty much every capacity to be safe is also lost resulting in those paths being even more bug ridden because Rust is not designed to be easy to intuitively understand once you remove the safety systems it has.
    1
  57. 1
  58. 1
  59. 1
  60. 1
  61. 1
  62. 1
  63. 1
  64. 1
  65. 1
  66. 1
  67. 1
  68. 1
  69. 1
  70. 1
  71. 1
  72. 1
  73. 1
  74. 1
  75. 1
  76. 1
  77. 1
  78. 1
  79. 1
  80. 1
  81. 1
  82. 1