• mamg22@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 months ago

    Has Carbon been used anywhere noticeable? Last time I heard of it was when Google announced it few years ago, haven’t seen anything getting written or ported to it, though I haven’t read much into it so I might have missed many news.

    • ViatorOmnium@piefed.social
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 months ago

      It looks like a nice mix of some of the worst design choices of C++ with some of the most dubious choices of Rust.

  • m_‮f@discuss.online
    link
    fedilink
    English
    arrow-up
    0
    ·
    3 months ago

    Relevant comment

    I don’t use Rust much, but I agree with the thrust of the article. However, I do think that the borrowchecker is the only reason Rust actually caught on. In my opinion, it’s really hard for a new language to succeed unless you can point to something and say “You literally can’t do this in your language”

    Without something like that, I think it just would have been impossible for Rust to gain enough momentum, and also attract the sort of people that made its culture what it is.

    Otherwise, IMO Rust would have ended up just like D, a language that few people have ever used, but most people who have heard of it will say “apparently it’s a better safer C++, but I’m not going to switch because I can technically do all that stuff in C++”

    • calcopiritus@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      3 months ago

      I kinda disagree. The reason rust caught on is because it is much safer than C++ while having the same or even better performance. And in some contexts, being garbage collected means bad performance.

      Before rust you could either have a fast language (C/C++) or a memory safe language (any other language. That is, languages with garbage collector). But if you required memory safety and peak performance, there wasn’t any option.

      Yes, the reason that rust is both memory safe and fast is because it has a borrow checker. But the borrow checker is the means, not the end.

      • AnyOldName3@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        3 months ago

        Garbage collection doesn’t guarantee memory safety and it’s perfectly possible to create a memory-safe language without garbage collection. There are plenty of garbage collectors for C++ (and until C++23, support for garbage collection was part of the standard, although no one implemented it), and languages like C# let you interact with garbage-collected objects in unsafe blocks.

        • Decq@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          3 months ago

          Exactly, if garbage collection meant memory safety then why do we get null pointer exceptions about every 5 minutes in Java. Garbage collection is about memory leaks, not safety. Imho the borrow checker is a better solution than garbage collection and faster to boot.

          • calcopiritus@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            3 months ago

            Null safety and memory safety are different features.

            Null safety means that you cannot access a struct’s fields without first checking if the pointer to that struct isn’t null. And this must be a compile-time check.

            Memory safety means that you cannot read or write to/from memory that has been free-ed. Without leaks ofc, otherwise it would be very easy.