[sdiy] Programming Language Recommendation

Jason Proctor jason at redfish.net
Wed Dec 9 20:15:53 CET 2020


On Tue, Dec 8, 2020 at 9:35 PM Brian Willoughby <brianw at audiobanshee.com>
wrote:

>
> It may only be a small aspect of the language as a whole, but Java 1 did
> not have interfaces.
> Java 2, inspired by Objective C protocols, was the first revision of the
> language that added interfaces


Do you have a source for interfaces not being in Java 1? My reading so far
has consistently indicated that they were an original language feature -
and that's how I remember it, though admittedly it is a long time ago now.

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.

> You are correct that Java was intended to be secure, but it's still
> capable of crashing when the program is complex enough.
>


Java's security wasn't intended to protect against crashes so much. Java
uses pointers with reference semantics - if you reference through Java's
null, you literally get a null pointer exception. You can catch this
exception, but the actual piece of code that crashed can't resume execution.

Java's security was intended to allow fine grain control over what your
Java code was allowed to do - which is a good thing, as an early priority
was running in browsers (it predates Javascript there). So you could allow
outgoing TCP connections but not incoming ones, no file access, etc. Easier
to do with a VM based language than a native one :-) but groundbreaking
nevertheless.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20201209/8578adc2/attachment.htm>


More information about the Synth-diy mailing list