Why Java will Probably die and Fancy Languages like Ada and D do not Matter

No Comments

First, an Ada advertisement to make people feel bad about what most software developers are missing (from practice), e.g. a beautiful love story that only a few people will have in real life:

The short answer is that application developers can not choose the hardware and operating systems of their clients. Native code depends on hardware. Default installations lack the language runtimes.

In 2013 even Java does not matter at the client side, because it depends on the availability of a Java runtime, which needs to be installed separately. Given that many end-users lack the skills to download Windows installers and execute them without being literally stopped by various wizard dialogs that they do not understand, the idea that an end-user installs some application dependencies like the Java runtime is totally un-implementable.

As of May 2013 I still do not understand, why Java is so popular at server side, because prior to the emergence of Java there were other interpretable languages, for example, Perl and Python, that allowed the creation of hardware independent servlets. During its early years Java was slow and therefore lacked the hardware cost reduction argument for data centers. Initially the main strength of Java was that it allowed to create operating system independent graphical user interfaces that run on all Java-supported operating systems without re-compilation. For some reason the Sun and later Oracle deprioritized the biggest strength of Java and focused Java core development to supporting server-side software development, despite the fact that at the server side the Java is/was not unique and had fierce competition. There are and were other languages (Perl, Python) available that allowed to create software that does not need to be reconfigured/recompiled after datacenter hardware upgrades.

Ada and D might have a chance, if they could be translated to some widely available runtime and had a decent multiplatform media/user_interface library. For example, the D programs might be developed on Linux with the fine D compiler that checks for errors, applies verification, etc. and after the program runs fine on Linux, it might be translated by some slow and primitive translator to other platforms, Android, Windows, MacOS, BSD, etc. As of May 2013 the only up-to-date multiplatform media/user_interface "library" seems to be the Mozilla and Google Chrome web browsers that provide 3D acceleration, sound, video playback, network, etc.

Anyways, if anybody can name a party other than the U.S. military and aircraft manufacturers that is willing to pay for verified and correct code, then please let me know in the comment section of this blog post. After all, most of the security flaws in web applications exist due to the fact that security and robustness is not something that people are willing to pay for. (A brief intro to the dilemma in Estonian). I don't know for sure, but I doubt if even car manufacturers care about the correctness of the code that runs their products.

Article add-ons:

The following presentation

is an interesting one. It certainly raises my interest in Ada, but if the Ada compiler-sphere does not support commercial CPU-s and operating systems (as opposed to U.S. military CPU-s and operating systems), then Ada is not usable in commercial applications, UNLESS it can somehow, still, "magically", run in the web browser, which it probably can due to the JGNAT project and an (unverified) fact that Java applets have access to DOM. The work flow might be that first a program is written in SPARC Ada and tested with open source SPARC tools and after the tests pass, rebuilt for the JVM.

Improvement on 15 July 2013:

Amazing. In some unpopular corners of the Internet, there are people, who actually think that theory should be in SOME USABLE FORM, like EXECUTABLE SOFTWARE that is usable in daily bases!!!

Given that they even have a interpreter-verifier in one for C and Java (1.4), there's even hope!

Improvement on March 2014:

If You can understand Estonian, then You might find an article, "Java päevad on loetud", to be interesting.

Comments are closed for this post