• muzzle@lemm.ee
    link
    fedilink
    arrow-up
    138
    arrow-down
    2
    ·
    edit-2
    6 months ago

    Rust is more like: unless you can mathematically prove to me that this is equivalent to a nut there is no ducking way I’ll ever let you compiled this.

  • RonSijm@programming.dev
    link
    fedilink
    arrow-up
    124
    arrow-down
    1
    ·
    6 months ago

    StackOverflow: Question closed as duplicate. Someone else already asked whether or not something is a nut.

    • Ironfacebuster@lemmy.world
      link
      fedilink
      arrow-up
      49
      ·
      6 months ago

      “Question closed as duplicate”

      The question it’s a duplicate of: “How to programmatically prove a hotdog is a sandwich?”

    • ADTJ@feddit.uk
      link
      fedilink
      arrow-up
      30
      ·
      6 months ago

      “It’s 2024! Why are people still trying to classify nuts? Just use some expensive cloud solution that doesn’t really solve your problem”

  • AVincentInSpace@pawb.social
    link
    fedilink
    English
    arrow-up
    117
    arrow-down
    1
    ·
    6 months ago

    Java: “Sorry, but the developers of Peanut didn’t declare it to implement the Crackable interface, even though it has all the relevant methods, so if you want to treat it like a nut your choices are write a wrapper class or call those methods using Reflections”

    • Sjmarf@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      18
      ·
      6 months ago

      Swift’s extensions system has spoiled me, and I feel the pain of this whenever I have to write Java

      • AVincentInSpace@pawb.social
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        6 months ago

        Ditto, but Rust’s traits. God those are so fun. It’s like duck typing a la Python but you can just slap whatever methods you want on a foreign type without worrying about breaking anything because they’re only visible to the current crate (or other crates that import the Trait)

    • warlaan@lemm.ee
      link
      fedilink
      arrow-up
      36
      arrow-down
      1
      ·
      6 months ago

      No, actually C#'s answer should be: “What Java said - hold on, what Python said sounds good too, and C++'s stuff is pretty cool too - let’s go with all of the above.”

      C#, or as I like to call it “the Borg of programming languages”.

      • dependencyinjection@discuss.tchncs.de
        link
        fedilink
        arrow-up
        10
        ·
        6 months ago

        I got my first software developer role last year and it was the first time I’d written C#, I was more TypeScript. Now we use both but I must say I really like C# now that I’m used to it.

        • LeFantome@programming.dev
          link
          fedilink
          arrow-up
          6
          ·
          6 months ago

          I think most programmers would like C# if they spent time with it. It is getting a bit complex because the joke about it over borrowing from other languages is on the money. It is a nice language though and pretty damn fast these days all things considered.

          • Scoopta@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            6 months ago

            There’s too much MS in the language and runtime for me. The fact that it gives my Linux programs DLL files and the fact that by default the SDK phones home makes me run away in horror from not only writing it but also running other projects written in it.

        • force@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          6 months ago

          even nicer is F#. join us brother, you can do everything that you can do in C# but better

  • riodoro1@lemmy.world
    link
    fedilink
    arrow-up
    35
    arrow-down
    9
    ·
    6 months ago

    All those memes picturing C++ as unsafe and unstable yet the server that serves these memes is running mostly C/C++ and has an uptime of months.

  • sonymegadrive@feddit.uk
    link
    fedilink
    arrow-up
    15
    ·
    6 months ago

    C++: Nuh, uh …

    template <typename T>
    concept Crackable = requires(T obj) {
        { obj.crack() };
    };
    
    auto crack(Crackable auto& nut) {
        nut.crack();
    }
    
    • Aatube@kbin.melroy.org
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      6 months ago

      This is dangerous. The object might not have the crack() method, and this bloats the compiled size by a lot if you use it with different types. There’s also no reason I can see to use concepts here. The saner way would probably be to use inheritance and objects to mimic Java interfaces.

  • _cnt0@sh.itjust.works
    link
    fedilink
    arrow-up
    10
    arrow-down
    1
    ·
    edit-2
    6 months ago

    I just dabbled in javascript again, and that description is spot on!

    console.log(‘javascript operators are b’ + ‘a’ + + ‘a’ + ‘a’);

    • arc@lemm.ee
      link
      fedilink
      arrow-up
      9
      ·
      edit-2
      6 months ago

      The only reason people use JS is because it’s the defacto language of browsers. As a language it’s dogshit filled with all kinds of unpleasant traps.

      Here is a fun one I discovered the other day:

      new Date('2022-10-9').toUTCString() === 'Sat, 08 Oct 2022 23:00:00 GMT'
      new Date('2022-10-09').toUTCString() === 'Sun, 09 Oct 2022 00:00:00 GMT'
      

      So padding a day of the month with a 0 or not changes the result by 1 hour. Every browser does the same so I assume this is a legacy thing. It’s supposed to be padded but any sane language would throw an exception if it was malformed. Not JavaScript.