• pivot_root@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    I strongly prefer how interfaces are handled

    It’s better than Java, but they still chose to walk headfirst into the same trap that bites Java developers in the ass: placing the implementations under the concrete type instead of the interface.

    When you have two interfaces that each require you to implement a function with the same name but a different signature, you’re in for a bad time featuring an abomination of wrapper types.

    • TunaCowboy@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      just one more oop bro I swear

      Pure oopium. All oop ‘design patterns’ exist solely to overcome the inherent flaws of oop.

      • pivot_root@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        2 months ago

        just one more oop bro I swear

        Didn’t understand my criticisms of Go and Java’s interfaces, or do you just enjoy LARPing as a senior programmer while living in a small world where the term “interface” strictly means object-oriented programming and not the broader idea of being a specification describing how systems can interact with each other?

    • Willem@kutsuya.dev
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      On that last note, can’t you use the explicit interface implementation in C#?

      e.g.

      public class SampleClass : IControl, ISurface
      {
          void IControl.Paint()
          {
              System.Console.WriteLine("IControl.Paint");
          }
          void ISurface.Paint()
          {
              System.Console.WriteLine("ISurface.Paint");
          }
      }