• 1 Post
  • 359 Comments
Joined 2 years ago
cake
Cake day: June 25th, 2023

help-circle

  • I think you’re saying the same thing as what I am. If it’s more complex than what you may think, the language should guard against it. If not, it should make it simple.

    Rust, for example, is the only mainstream language where it isn’t possible to read from a file handle after it’s been closed. Doing so is a compilation failure. This is just a general invariant of “how to use files”.

    But you also don’t need to think about allocating or deallocating memory in Rust. It does that fke you automatically, even though it’s not GC.

    JS can also be complicated when it tries to hide realities about the world. E.g. is a const array or object immutable? No, the pointer is. But pointers don’t exist! /s








  • Instances are stores (think Amazon or Etsy). Products are posts. Sellers are users.

    Stores aren’t protected from being defederated. You can still search Google or whatever, still visit the site and buy stuff. It just will not be a unified search, just like how anything else works with ActivityPub.

    The good stores would be run by admins who don’t have an incentive to defederate from others. Stores don’t make money or take a cut from sellers anyway. The sellers aren’t in charge of the instance, just like an Etsy seller can’t do anything about the fact that they have competitors on Etsy.

    The need for decentralization is that the store / Amazon / Etsy is broken up but the search and interactions, reviews, etc. are unified.



  • I’d say Rust is definitely mainstream. Obviously not the level of JS or Python, but it’s being used all over the place. All FAANG companies, the Linux kernel, JS runtimes, web browsers, Android, Signal, Mullvad…

    IMO GC has nothing to do with high or low level. It’s just incidental that there’s a correlation. In GC you usually don’t need to think about manually allocating or deallocating memory or truly understand what pointers are (in some ways anyway). In C / C++ you do.

    In Rust you almost never manually allocate or deallocate, and you have both very high and low level APIs.

    I’d say Rust is both high and low level. It just depends what you use it for. If you want to build a CLI or a web server, it’s great for that. If you want to do kernel stuff and choose to flip bits around you can do that too.

    As for books, maybe you’d like trying Rustlings instead.


  • asdfasdfasdf@lemmy.worldtoTechnology@lemmy.worldRust is Eating JavaScript
    link
    fedilink
    English
    arrow-up
    22
    arrow-down
    1
    ·
    edit-2
    1 month ago
    1. Rust is the best language for writing WASM in, so you can write Rust and run it in the browser without transpiling to JS.
    2. Rust isn’t just about speed or GC pauses. Its type system is amazing and allows you to encode things that you cannot in any other mainstream language.
    3. It’s so incredibly well designed, it fewla like that clip from Ricky and Morty where Morty feels what standing on a truly even plane feels like then has a panic attack when he leaves. Rust rethought everything from scratch, and isn’t just some new syntax or fancy compiler tricks. No null, no exceptions, no inheritance, new typing capabilities, etc.

    Go made some pretty poor design choices, and now even Google is choosing Rust for a lot of stuff instead.