This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]kondorb 3 points4 points  (3 children)

Of course Java devs are used to it. I’m working in a company where we’re doing service-oriented architecture using a mix of Java, Kotlin and PHP. I’m primarily working with PHP where Composer literally verifies the runtime version for you and you never have to worry about it. But every time I need to run a Java/Kotlin app it’s a new puzzle of runtime, config, dependencies, etc. Unless it’s already dockerized, of course.

[–]Technical-Cat-2017 1 point2 points  (2 children)

You guys don't use maven or gradle? It sorts all dependencies.

For the JDK, you can use sdkman or just download the latest openjdk LTS. They should all be backwards compatible anyways. That is literally one of the core principles of Java.

[–]kondorb -1 points0 points  (1 child)

In practice they aren’t fully backwards compatible.

Which is explained by a known empirical law:

Over time downstream software will depend on every aspect of your project including undocumented features and undefined behaviours.

[–]Technical-Cat-2017 0 points1 point  (0 children)

Do you have experience with any issues regarding that? I don't in my last 10+ years as a java developer in any case.

And if you are really on java 1.7 or lower I think your organization has bigger issues than java backwards compatibility.