The wiki page on late binding discusses the Java facilities in depth. It also misses things like runtime proxy interfaces.
> On Nov 22, 2022, at 10:25 AM, Robert Engels <reng...@ix.netcom.com> wrote: > > > Why do you say that Java does not have late binding. It 100% does. In fact > the JVM supports dynamic dispatch to make this as efficient as possible. Then > the JIT optimizes it even more based on runtime behavior. > >>> On Nov 22, 2022, at 10:18 AM, Matt KØDVB <m...@k0dvb.com> wrote: >>> >> >> But see https://en.wikipedia.org/wiki/Self_(programming_language) >> >> Self was considered an OO language back when I was a grad student and is >> still listed that way today, even though it has neither classes nor >> inheritance. >> >> Anyway, my point would be that the term OO originates with Alan Kay and the >> team at Xerox PARC; Kay’s response to the OO flame wars was to de-emphasize >> classes and inheritance. >> >> Of course, using his definition, neither Java nor Go would be “truly” OO >> since not all things use late binding :-) >> >> Perhaps we can talk about class-based and non-class based OO languages? >> >>> On Tue, Nov 22, 2022 at 10:07 AM Robert Engels <reng...@ix.netcom.com> >>> wrote: >>> The wiki OO page lists classes as a requirement - but not necessarily >>> inheritance. Class variables require classes. >>> >>> Also, your link does not work. >>> >>> > On Nov 22, 2022, at 9:56 AM, Jan Mercl <0xj...@gmail.com> wrote: >>> > >>> > On Tue, Nov 22, 2022 at 4:43 PM Robert Engels <reng...@ix.netcom.com> >>> > wrote: >>> > >>> >> Go is not listed as an OO language on Wikipedia. >>> > >>> > Check https://en.wikipedia.org/wiki/Go_(programming_language): >>> > "ParadigmMulti-paradigm: concurrent imperative, object-oriented[1][2]" >>> > >>> >> Personally I think it is OO-like. OO typically has inheritance. >>> > >>> > Typically they may, but that's not the same as what a requirement >>> > would be, right? >>> > >>> >> There are also no “class variables” - only package level - which makes >>> >> some encapsulation patterns harder (every class has to become a package). >>> > >>> > No class has to become a package because Go has no classes. You may >>> > think of what a "class" in Go means, but you have not defined that >>> > idea and the language specification is somehow silent about Go >>> > classes. >>> > >>> > -- >>> > You received this message because you are subscribed to the Google Groups >>> > "golang-nuts" group. >>> > To unsubscribe from this group and stop receiving emails from it, send an >>> > email to golang-nuts+unsubscr...@googlegroups.com. >>> > To view this discussion on the web visit >>> > https://groups.google.com/d/msgid/golang-nuts/CAA40n-U%3DG8gqAZEHrnLUxbg5vsAcRkNV35c86c79xcrhSzLSWw%40mail.gmail.com. >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "golang-nuts" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to golang-nuts+unsubscr...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/golang-nuts/A1F03B77-7CDC-46CC-B2E0-2C3C1B7DC966%40ix.netcom.com. >> >> >> -- >> >> Matt >> K0DVB >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/CANRS-2%2Bre6WUFT6tE8QinUZ-ipqLvwNTr2hoHNiD4H%3DwQ8T7HA%40mail.gmail.com. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/E7E04951-A2A7-45FB-A8C8-24DD3B292270%40ix.netcom.com.