top 50 comments

sorted by: hot top controversial new old
[–] 164 points 2 years ago (18 children)

Iron Oxide. Everyone else is wrong.

  • source
  • hideshow 18 child comments
  • [–] 39 points 2 years ago (4 children)
  • [–] 51 points 2 years ago* (3 children)

    Wustite, ferrous oxide, is black. FeO.

    Typical rust, usually found as hematite, is Fe2O3 and is red/brown. Also an iron oxide.

    Magnetite is also another black iron oxide, Fe3O4.

    There are quite a few other flavors of iron and oxygen too.

  • source
  • parent
  • hideshow 3 child comments
  • load more comments (1 reply)
  • load more comments (13 replies)
    [–] 118 points 2 years ago (3 children)

    It's a brutally competitive and toxic game.

  • source
  • hideshow 3 child comments
  • load more comments (1 reply)
    [–] 112 points 2 years ago* (last edited 2 years ago) (6 children)

    It's a programming language, which is particularly relevant for Linux, because it doesn't require a runtime (separate program that runs the code). This allows it to be used in the kernel.

    But it also means that it's very good for building libraries. With a small bit of extra work, virtually any other programming language can call libraries implemented in Rust (like you can with libraries implemented in C).
    Add to that, that Rust allows for performance similar to C and makes lots of typical C bugs impossible, and suddenly you've got folks rewriting all kinds of C libraries and applications in Rust, which is something you might have also heard about.

  • source
  • hideshow 6 child comments
  • load more comments (6 replies)
    [–] 103 points 2 years ago (16 children)

    Actual answer:

    Rust is a relatively new programming language. Similar to C or C++ it compiles directly into executable binary code so it can be used for bare metal or low level operating system programming. It is thus relevant to Linux kernel development as things like drivers can and are being developed in Rust.

    Compare this to the likes of Java or C# which get compiled to bytecode or a kind of pseudo machine code that gets run in a virtual machine, which has advantages for application development, or something like Python which is interpreted (or just-in-time compiled) at run-time, useful as an end user scripting language.

    Rust is designed from the ground up to tackle some modern problems, a key one being memory safety. It's a lot more paranoid about memory allocation and access and it's structured around this. Older languages like C allow the programmer a lot more absolute control over the hardware, which effectively means the C programmer has a lot more footguns in his toolbox. Theoretically, Rust offers fewer opportunities for the developer to shoot himself in the foot.

    Rust also comes with some really cool tooling. Compiler errors usually point straight at the problem and say something like "Shouldn't there be a colon here?" The build system, called Cargo, is really slick in a lot of ways, handling linking, compiling, even library package management in a very automatic fashion. It's real slick to work with.

    As with anything, fans of the language can be a bit much; they stereotypically suggest rewriting everything under the sun in Rust whether it makes sense or not, and this includes the Linux kernel, which has caused some friction in the community; Linux contributors are often very accustomed to C and some don't want to deal with anything else.

  • source
  • hideshow 16 child comments
  • [–] 12 points 2 years ago (11 children)

    I like the description by a Finn who said: Rust is like a car with automatic, while in C (or Zig) you need to change the gears. In Rust you literally follow the compiler, which allows many young developers to program at low level, while C demands more time to avoid bugs. It is up to each person what he/she prefers. I would prefer to control myself the stuff and learn the in and outs of memory management.

  • source
  • parent
  • hideshow 11 child comments
  • [–] 19 points 2 years ago (8 children)

    It's fair to want to learn (and it's certainly a good skill to have), but the question is what you'd rather see in a large, production environment. Guard rails are usually there for a reason. As for the control: you actually can program memory-unsafe (and in kernel development you often have to!) in Rust. The difference is that in Rust it's explicitly marked by an unsafe block:

    unsafe {
      ...
    }
    

    That way you get the same, fine-grained control over low-level processes, but someone else reading your code can at a glace spot where potential memory bugs may be.

    In the end, languages are a tool. Especially for personal projects, everyone should just go with what's fun to them. I personally think it makes sense, logistically, to slowly transition legacy C-based projects to Rust, because it makes onboarding new developers easier, while keeping the same memory safety that requires years of experience otherwise, basically for free. But there's really no rush to rewrite anything that's working well in Rust

  • source
  • parent
  • hideshow 8 child comments
  • load more comments (7 replies)
  • load more comments (2 replies)
  • load more comments (4 replies)
    [–] 86 points 2 years ago* (3 children)

    Rust is a programming language designed to run on crabs. It just happens to also run on computers. When rust programmers talk about the borrow checker, that's something born directly out of having to run on crabs. It's difficult to get the little guys to cooperate otherwise. And when they talk about rust having good error messages that's because of the crabs too. The compiler is not just some piece of software, it's a piece of software being run on crabs and the crabs have some measure of intuition to them. Basically what I'm saying is that carcinization applies to computer hardware.

  • source
  • hideshow 3 child comments
  • [–] 56 points 2 years ago* (8 children)

    The bane of Intel CPUs, and a trigger word for C geriatrics.

  • source
  • hideshow 8 child comments
  • [–] 13 points 2 years ago (4 children)

    What is the issue with Intel CPUs? I'm OOTL here.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 44 points 2 years ago* (3 children)

    Some of their 13th and 14th generation CPUs have manufacturing defects that resulted in oxidation. In some use cases (servers and such), failure rates sometimes reached 50%. https://www.youtube.com/watch?v=OVdmK1UGzGs

  • source
  • parent
  • hideshow 3 child comments
  • load more comments (1 reply)
    [–] 52 points 2 years ago (1 child)

    It's a multiplayer survival game in the vein of Minecraft.

  • source
  • hideshow 1 child comment
  • [–] 52 points 2 years ago (4 children)

    It’s a 2025 movie, starring Alec Baldwin, that gained notoriety in 2021, when a cinematographer was accidentally killed by a live round fired from a prop-revolver that Alex Baldwin was using.

  • source
  • hideshow 4 child comments
  • load more comments (4 replies)
    [–] 40 points 2 years ago (3 children)

    It's a survival crafting game where players help each other survive the world with mutual cooperation, kind words and absolutely no Nazi or racist behaviour.

  • source
  • hideshow 3 child comments
  • load more comments (3 replies)
    [–] 34 points 2 years ago (2 children)
  • load more comments (1 reply)
    [–] 32 points 2 years ago (2 children)

    Rust is a multiplayer survival videogame

    Or it can also refer to a fungus

  • source
  • hideshow 2 child comments
  • load more comments (2 replies)
    [–] 27 points 2 years ago (5 children)

    It’s also what this beautiful thing is written in

  • source
  • hideshow 5 child comments
  • load more comments (1 reply)
    [–] 27 points 2 years ago (13 children)

    Rust is both a nice programming language, and an obnoxious social movement made of a small minority of Rust programmers who are very loud

  • source
  • hideshow 13 child comments
  • [–] 23 points 2 years ago (2 children)

    step one get hrt prescription

    step two learn rust

    step three buy socks

  • source
  • hideshow 2 child comments
  • load more comments (2 replies)
    [–] 19 points 2 years ago

    a low level language that has really nice features when compared to c and c++, but honestly i find it difficult to read. probably my lack of experience with it, tho.

  • source
  • [–] 18 points 2 years ago (3 children)

    The very fast map in Call of Duty.

  • source
  • hideshow 3 child comments
  • load more comments (3 replies)
    [–] 17 points 2 years ago (7 children)

    Feβ‚‚O₃·xHβ‚‚O

  • source
  • hideshow 7 child comments
  • load more comments (7 replies)
    [–] 17 points 2 years ago

    A type of person whos apartment would be a mess cause they never collect their garbage, but they have a good memory where they put things and what they need, so it is never a problem.

  • source
  • [–] 16 points 2 years ago (1 child)

    It Makea da program go BRRRRRRRR

  • source
  • hideshow 1 child comment
  • load more comments (1 reply)
    [–] 13 points 2 years ago (1 child)

    It's for people who suffer from severe anxiety when they see stuff like: -> or * for example. /j

  • source
  • hideshow 1 child comment
  • load more comments (1 reply)
    [–] 13 points 2 years ago
    [–] 13 points 2 years ago

    It's for programmers who need their Imposter Syndrome amplified.

  • source
  • [–] 11 points 2 years ago

    It's a type of fungus.

  • source
  • [–] 11 points 2 years ago (4 children)

    Programming language like many others It has some fancy borrow checker that makes memory usage get statically analyzed by the compiler, so you dont have to manually manage memory, and the program won't need a garbage collector

  • source
  • hideshow 4 child comments
  • [–] 25 points 2 years ago* (3 children)

    so you dont have to manually manage memory

    Not sure how this got upvoted with this glaring mistake. You have to manage memory. The point is that the compiler catches it if you make a memory management mistake, making things like data races, uses after frees, etc. literally impossible (short of intentionally using the unsafe tag).

  • source
  • parent
  • hideshow 3 child comments
  • [–] 16 points 2 years ago (1 child)

    I think it's debatable whether RAII should be called "memory management". Whether dealing with Rust or modern C++, you don't need to "manage" the memory beyond specifying a container that will determine its lifecycle behavior, and then you just let it drop.

    You could certainly choose to manage it more granularly than that in Rust or C++, but in the vast majority of cases that would be considered bad practice.

    That's a qualitatively different user experience than C or pre-2011 boostless C++ where you actually need to explicitly delete all your heap allocations and manually keep track of which pointers are still valid. Lumping both under "memory management" makes the term so broad that it almost loses its significance.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 11 points 2 years ago

    Yeah, as I understand, in the terms of language design theory, it is technically still "manual memory management". But since you don't end up writing malloc() and free(), many refer to it as "semi-automatic" instead, which certainly feels more accurate.

  • source
  • parent
  • load more comments (1 reply)
  • load more comments
    view more: next β€Ί