April 25, 2018

How Do You Think About Cobol

Sulzer-Halle 52

How do you think about Cobol (1959)? Old stuff? …yes! But how do you think about JAVA (1995)? also Old stuff? Well it works and it gets constantly updated.

Running a non-JAVA / non-JVM “binary” in a well established JAVA shop is nearly impossible, except you deliver immensely high value with it, which is most of the time very unlikely.

The modern world is polyglot and cloud native has no preference in what language you implement your stuff. So, what do you do, as an engineer, a developer or even an engineering manager, if your “Enterprisy” environment sticks with “old stuff” like JAVA and the JVM when there are other mature languages out there like Rust (2010), Scala (2004), Kotlin (2011), Swift (2014) or Go (2009)?

You might not run them in the well established and matured infrastructure of a very conservative Enterprise environment, which is understandable for obvious reasons. Who wants to instrument that “Go binary” or any other non-conformant deployment artefact? How to debug it? Or how to manage its runtime behaviour? Beside the lack of well trained and skilled engineers on that “other” language, the lack of platform conformity is one of the bigger challenges you’ll face.

There is an interesting little project (perhaps not so little anymore) by an Oracle Research Group located in Zurich building a polyglot virtual machine that enables a whole bag of languages (some of the ones above as well as LLVM based ones like C and C++) running on top of it. It’s called GraalVM and it comes as a sort of a JVM distribution. The basis for it, ahead-of-time compilation, was included in Java 9. In Java 10 on one platform GraalVM is an experimental implementation of such a compiler. Beside about 10 languages already supported you can implement your own or one your’e missing by yourself 0.

So, as soon as old but mature IT departements and their architecture migrate to such a platform, the investment into other languages might help you to use and run the language that fits your task best and not the one you get forced into it because of traditions.

[0] https://www.graalvm.org/docs/graalvm-as-a-platform/implement-language/

© Marcel Lanz 2018-2019 | 9f8dc81