News for hackers. Stuff that matters.
Re:Improved Docker Container Integration with Java 10 by ganonm on Wednesday April 04, 2018 @12:29PM (#16756303)
I am at an early stage startup which is using Java (and Kotlin) on the server-side. There are various reasons for this, most of them pragmatic, but also some technical ones. Pragmatic reasons:

- Many engineers know Java to at least an intermediate level, so they can be productive quicker (and hiring is easier)

- We had some existing libraries written in Java, so integrating them with the web platform was much easier if we went down the JVM route

- Java is the language most familiar to members of the startup (including me, although I also have experience in RoR, Kotlin, ObjectiveC and JavaScript)

Technical:

- Java is generally very performant and running on the JVM means we don't generally have to worry about platform specific issues (there are well known exceptions of course e.g. file path issues)

- The language itself is at a reasonable level of abstraction. It is strongly typed and IMO, writing a non-trivial backend in a dynamically typed language is a sub-optimal choice. It has a huge ecosystem of robust, battle tested libraries that are indispensable to us (e.g. JGraphT). There is a huge community - you are unlikely to run into 'uncharted' territory

- It is popular to hate on Java but it really isn't that bad a language, especially if you aim to follow guidelines like those in Effective Java (probably my favourite programming book) e.g. avoiding mutable state and side-effects. It will never be as good as a modern language like Kotlin (data classes are my favourite feature there), but it is good enough

- The server frameworks available are seriously robust and 'just work'

- There is always the option of using alternative JVM languages (we use Kotlin for a large part of the backend)

In summary, we are 6 months into developing the web platform, progress is rapid, and we have no regrets (yet) about the technology choices. IMO, sometimes boring is best.

Re:Improved Docker Container Integration with Java 10 by haglin on Friday April 06, 2018 @08:07AM (#16772557)
> It will never be as good as a modern language like Kotlin (data classes are my favourite feature there), but it is good enough

Data classes may come to Java.

http://cr.openjdk.java.net/~briangoetz/amber/datum.html

http://mail.openjdk.java.net/pipermail/amber-spec-experts/20...

Fibers, continuations, string literals, pattern matching and value types are in the works.

http://cr.openjdk.java.net/~rpressler/loom/Loom-Proposal.htm...

http://openjdk.java.net/jeps/326

https://www.youtube.com/watch?v=n3_8YcYKScw

http://openjdk.java.net/projects/valhalla/

Re:Improved Docker Container Integration with Java 10 by chris_wot on Wednesday April 04, 2018 @12:50PM (#16756528)
I think people must think I hate Java. I don’t. I think it’s great and I love Spring, though I have been mostly programming in C++ so haven’t touched Java in a long while personally.

I’m more concerned with the copyright status of Java APIs. Can you really be sure that you will be safe from Oracle’s clutches?

Re:Improved Docker Container Integration with Java 10 by maltalex on Wednesday April 04, 2018 @01:36PM (#16757006)
> I’m more concerned with the copyright status of Java APIs

Building something using OpenJDK using Java APIs shouldn't get you in any trouble.

What got Google in trouble with Oracle was that they copied and re-implemented all of Java's APIs. Are you planning on doing something similar?

Re:Improved Docker Container Integration with Java 10 by michaelcampbell on Wednesday April 04, 2018 @06:33PM (#16759913)
> What got Google in trouble with Oracle

... was a big wallet.

Re:Improved Docker Container Integration with Java 10 by chris_wot on Wednesday April 04, 2018 @09:15PM (#16760916)
Funny, the WINE project does this.
Re:Improved Docker Container Integration with Java 10 by maltalex on Thursday April 05, 2018 @04:12AM (#16762872)
So does ReactOS.

Only both projects are pretty pointless to sue since they aren't making any money.

Re:Improved Docker Container Integration with Java 10 by ganonm on Wednesday April 04, 2018 @01:03PM (#16756675)
I had assumed you weren't a fan, apologies for jumping to conclusions. The copyright concerns are valid - I've only followed the whole Oracle vs. Google litigation from a distance. I'm hoping the little guys like us won't be affected.
Re:Improved Docker Container Integration with Java 10 by vbezhenar on Wednesday April 04, 2018 @02:03PM (#16757276)
If Oracle would win this lawsuit, entire industry will be in a serious trouble. Don't forget to pay IBM for every SQL statement you wrote, they invented SQL as an API for relational database after all.
Re:Improved Docker Container Integration with Java 10 by javier2 on Wednesday April 04, 2018 @02:16PM (#16757392)
I like java. I don't love it, but it's a trusty workhorse and a nice tool with a great ecosystem.
Re:Improved Docker Container Integration with Java 10 by abalone on Wednesday April 04, 2018 @04:01PM (#16758449)
Those are good reasons. What determines when you use Kotlin over Java?
Re:Improved Docker Container Integration with Java 10 by ganonm on Thursday April 05, 2018 @05:19AM (#16763194)
I work mostly solo on the web platform which is in Kotlin. It uses our 3D printing algorithms which are written in Java (which I also work on). Some weeks I'm writing mostly Java, others Kotlin.

We're looking for engineers in London incidentally, if anyone is interested. See my post in this month's who's hiring.