4 ms·
> Simula was designed in the '60s. An 00s language like Java Not that it is a big deal, but Java is a 90s language, not 00s. > This is why a language like pyt
by dragonwriter 1y ago
> Simula was designed in the '60s. An 00s language like Java
Not that it is a big deal, but Java is a 90s language, not 00s.
> This is why a language like python can have private methods (or, at least, _courtesy_private and __mangled_private methods) but no interfaces
Interfaces are a feature of typing, and Python has them for both runtime (abc) and statically-checked (protocol) typing.
- bccdee 1y agoJava 1.0 was in '96. I had remembered it as being more like '98, which was why I said 00s and not 90s—1998 felt a bit late to really be "90s" for me. I wouldn't really call abstract classes interfaces. They're a way to spread behaviour across an inheritance hierarchy, but a fully abstract class doesn't do anything. Python is duck-typed; inheriting from a fully-abstract class is a no-op unless you're doing something metaprogrammy.