[sdiy] Programming Language Recommendation

Brian Willoughby brianw at audiobanshee.com
Wed Dec 9 06:29:56 CET 2020

On Dec 8, 2020, at 18:08, Jason Proctor <jason at redfish.net> wrote:
> On Tue, Dec 8, 2020 at 2:50 PM Brian Willoughby <brianw at audiobanshee.com> wrote:
> > Java, on the other hand, is much more C-like, but not compatible.
> Java borrowed from Objective C (Java 2 interfaces are ObjC protocols) after having borrowed from standard C in the beginning.
> I'd argue that Java borrowed mainly from C++ (Java interfaces are C++ classes solely containing pure virtual methods and constants) mainly because C++ was and is more of an actively developed mainstream cross-platform language than Objective-C.

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.

For the rest of Java - besides interfaces - I have no comment about those origins.

On Dec 8, 2020, at 19:02, David Schwan <davidsch at earthlink.net> wrote:
> Java by design did not copy from C.
> Handles and pointers were considered an anethma.
> Java was designed to be secure.

My phase, "borrowed from standard C in the beginning," merely refers to the fact that Java is one of many "C-like" languages.

You are correct that Java was intended to be secure, but it's still capable of crashing when the program is complex enough. Computers still have memory addresses, and therefore handles or pointers, so in the end the issues are still there. Granted, the language makes it much more difficult to run in to handle or pointer errors.

I doubt there are many embedded systems (apart from DVD and Blu-ray players) that support Java code. At the very least, even a disc player has its low-level code written in some language more efficient than Java.


More information about the Synth-diy mailing list