• asdfasdfasdf@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    6 hours ago

    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

    • Shanmugha@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      5 hours ago

      Looks like we still differ. If something is more complicated than what I may think, then there are some possibilities:

      • I have not learned to language properly yet (this is where I stand with C++, so no matter how many times I’ve got segfaults, now is not the time for me to say language is bad)
      • I have chosen the wrong tool (writing a videoplayer in assembler? something went way wrong here)
      • tool is actually bad (my rant above goes here. in the sake of making some things easy and simple, something basic in the language got screwed up irrevocably)

      And if I managed to try reading from a closed handle, or to access a memory that I am not actually allowed to use, or… (could not get more examples out of the top of my head), it is not the job of the language to slap my hands, as long as I follow the syntax. Most of the time (if not all the time) this means I have not accounted for something that my code allowed to happen - so my responsibility to deal with that

      What I keep hearing about Rust is still in the lines of too-much-fucking-care (that’s besides obviously dumb rule of “no more than one owner of a variable at any moment” which then had to be worked around because not everything can be done this way. please correct me if I am wrong here)

      • asdfasdfasdf@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        5 hours ago

        Yep, we disagree. The world and technology especially is an extremely complicated place. IMO any complex system that is built upon “humans should just know all this complexity and keep it in mind all the time” is fundamentally broken.

        • Shanmugha@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          4 hours ago

          It depends. We may have our differences in weighing things, but yes, complexity of the system must correlate with complexity of the task it is used for. A system allowing to do things without any complexity means either no complex things to be done or straight up magic