Det er mandag, mine bekendte. Inspireret af https://feddit.dk/post/257712

På hedengangne dailyrush havde vi et par populære tråde, en hvor man kunne skrive, hvad man lige havde set af film og serier, og en anden med hvad man lige havde læst, og endnu en til spil man lige havde spillet.

Én ugentlig tråd med titlen “jeg har lige læst/set/spillet/hørt”, og så kunne man ellers give sin uforbeholdne mening om alt fra film og spil til podcasts og bøger.

Denne stickytråd oprettes automatisk af botten hver mandag kl. 7. Eventuelle ændringer kan forkomme.

  • Kresten@feddit.dk
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Hmm, det har du måske ret i. Jeg finder deres implicitte interfaces meget interessante. Men du har nok ret i at det ikke havde fungeret hvis google ikke havde opreklameret det sådan.

    Må hellere se på Rust så. Har også overvejet at lære Zig, men det er vidst lidt niche

    • SorteKanin@feddit.dkM
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      implicitte interfaces

      Synes selv det er en meget mærkelig feature. Især fordi man potentielt kan implementere et interface ved en fejl. Jeg er generelt imod implicitte ting.

      • dolle@feddit.dk
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Mener du traits? Jeg har ikke selv brugt Rust, men har kodet en del Haskell, og så vidt jeg kan forstå er traits nogenlunde samme koncept som type classes i Haskell. Jeg synes selv at det er en langt overlegent måde at definere interfaces på sammenlignet med interfaces defineret ved subtypning som i de fleste objektorierentede sprog (Java, C#). OO-interfaces kan være OK til typer som repræsenterer objekter (services og ressourcer med en livscyklus som f.eks. en web service eller en netværksport), men til typer som repræsenterer data (lister, maps, vektorer, etc.) der er type classes den rigtige abstraktion, og OO-interfaces fører kun til hovedpiner.

        I Haskell er der som udgangspunkt også en begrænsning der tvinger dig til at definere dine type classes samme sted som datatypen hvilket begrænser risikoen for at komme til at definere en instans “ved en fejl”.

        • SorteKanin@feddit.dkM
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          Nej altså implicitte interfaces er en feature i Go, ikke i Rust.

          Og ja, Rust traits er dybest set det samme som Haskell type classes. Der er dog visse ting du kan i Haskell som du ikke kan i Rust (noget avanceret higher order ting). Men det er meget sjældent et problem.

          I Rust kan du implementere traits hvor du har lyst, men du skal have defineret enten traitet eller datatypen (eller begge dele) for at implementere det. Du kan ikke implementere et fremmed trait på en fremmed type. Kan ikke lige huske om Haskell har en lignende restriktion.

          • dolle@feddit.dk
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            Ah, så læste jeg bare tråden forkert, beklager :).

            Jo, det er samme restriktion i Haskell. Den kan slås fra hvis man virkelig har brug for det, f.eks. hvis et 3. parts bibliotek kræver at en anden 3. parts type er en instans af en given typeklasse, og man ikke har mulighed for at bruge en newtype.