<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 9, 2020 at 7:01 PM Brian Willoughby <<a href="mailto:brianw@audiobanshee.com">brianw@audiobanshee.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>> Java only has single implementation inheritance (although later versions have multiple behavioural inheritance but not multiple state inheritance), so the idea of an interface doesn't have to come from another language.<br>
<br>
<a href="https://cs.gmu.edu/~sean/stuff/java-objc.html" rel="noreferrer" target="_blank">https://cs.gmu.edu/~sean/stuff/java-objc.html</a></blockquote><div><br></div><div class="gmail_default" style="font-size:small">Hey thanks for posting that! A fun bit of language history. And yes I'd never have guessed it but yes it seems that you are correct and Objective-C influenced Java. To be fair though, the author of this email only says "I'm pretty sure...." ;-) </div><div class="gmail_default" style="font-size:small"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Then it mentions some important expansions of interfaces in Java 2 that may have been what folks were referring to when they talked about Java borrowing from Objective C. Later, this article talks about interface enhancements in Java 5.<br></blockquote><div><br></div><div class="gmail_default" style="font-size:small">Yes - in Java 1, as mentioned in various articles I found (none of which are authoritative), interfaces can only have abstract methods and constants. This evolved later.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">To "prove" this I compiled an interface class with my Java compiler set to 1.1 and that worked. I couldn't go all the way back to 1.0 for some reason.</div><div class="gmail_default" style="font-size:small"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
I didn't start developing in Java until NeXT and Apple had made it possible to subclass Java objects in ObjC, and to subclass ObjC objects in Java. At that point, it was possible to freely mix Java and ObjC class libraries, and to even enhance libraries written in one language with the other language. Before this, NeXT had made it possible to bridge between OLE (C++) and Objective C, even across computers on the network. They wrote a book called D'OLE (for Distributed OLE) that sorta riffed on Homer Simpson's catch phrase.<br></blockquote><div> </div><div><div class="gmail_default" style="font-size:small">I had no idea that Apple ever liked Java. They always seemed so reluctant to implement it (long way behind on 1.2 adoption, etc) and so keen to kill it. My experiences with JavaMIDI on MacOS 100% bore this out [fx: thousand yard stare]</div><div class="gmail_default" style="font-size:small"></div><br></div></div></div>