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.

Reply via email to