You are viewing a single thread.
View all comments View context
1 point
*

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: associating interface implementations with the struct/class rather than the interface itself.

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.

Edit: Clarity.

permalink
report
parent
reply
5 points

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");
    }
}
permalink
report
parent
reply
0 points
*

Edit: I misread your comment as “like in C#” and wrote this as an answer to the non-existent question of “can’t you use explicit interfaces like in C#”

I haven’t kept up with recent Java developments, but with Go, you’re out of luck. Interface implementations are completely implicit. You don’t even have an implements keyword.

Edit: For Java, a cursory search suggests that they haven’t yet added explicit interfaces: https://stackoverflow.com/questions/19111090/does-java-support-explicit-interface-implementation-like-c

permalink
report
parent
reply
2 points

He mentioned C#, which does let you explicitly choose to implement same-name functions of two interfaces with different code

permalink
report
parent
reply
1 point

just one more oop bro I swear

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

permalink
report
parent
reply
3 points
*

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?

permalink
report
parent
reply

Greentext

!greentext@sh.itjust.works

Create post

This is a place to share greentexts and witness the confounding life of Anon. If you’re new to the Greentext community, think of it as a sort of zoo with Anon as the main attraction.

Be warned:

  • Anon is often crazy.
  • Anon is often depressed.
  • Anon frequently shares thoughts that are immature, offensive, or incomprehensible.

If you find yourself getting angry (or god forbid, agreeing) with something Anon has said, you might be doing it wrong.

Community stats

  • 6.6K

    Monthly active users

  • 1.1K

    Posts

  • 43K

    Comments