Live data from Hacker News

Java Turns 25 – Whats Next? [pdf]

oracle.com

11–20 of 286 posts

Re: Java Turns 25 – Whats Next? [pdf]

#11

Slightly tangential, but due to a new job I'll have bite the bullet and learn Java. When googling tutorials, I see the same material I found 12 years ago. A lot must have happened since then. What's a good resource to learn Java for somebody who already knows how to program? I'm interested in ecosystem, tooling, best practices, common pitfalls etc.

I was in a similar position a couple of years ago. I recommend the book "Core Java for the Impatient" by Cay Horstmann. The printed version is for Java 8 but there is a preview available for Java 11. It's a concise book but it covers all the important bits. Regarding the "bite the bullet". I was also a bit afraid, but Java is a great language. Yes, it's a bit verbose but that's compensated by its amazing tooling, spe…

Tooling doesn't make the language great. Java is still objectively worse than many other languages, especially Kotlin.

Re: Java Turns 25 – Whats Next? [pdf]

#12
Java might be the most successful programming language. It is a solid choice among many different fields. It is used on huge infrastructure projects (Apache Foundation), governments, big tech companies such as amazon, ibm, google, apple for many large scale services. It can do web, ml, GUIs, it's still strong among academics. On top of that it offers a great programming experience with excellent IDE support and it's ecosystem is huge. Even if you don't like the language itself , you can choose between Kotlin,Scala,Clojure that run on the JVM.

I think that Java is seriously being downplayed by HN crowd.

Re: Java Turns 25 – Whats Next? [pdf]

#13

Top point talks about targeting data scientists. It would be interesting seeing what that means in their mind. Based on the current state of affairs oracle and the jvm seem very far away from mainstream ML

Nobody in their right mind would choose Java for anything ML-related.

Re: Java Turns 25 – Whats Next? [pdf]

#14

Slightly tangential, but due to a new job I'll have bite the bullet and learn Java. When googling tutorials, I see the same material I found 12 years ago. A lot must have happened since then. What's a good resource to learn Java for somebody who already knows how to program? I'm interested in ecosystem, tooling, best practices, common pitfalls etc.

As someone who recently did that after ~8 years, I found it useful to skim through Modern Java in Action. It should be pretty easy read if you've been doing more modern languages, but important to learn Java semantics and nuances. Also, I highly recommend Java Concurrency in Practice, but it's a tougher read.

That said, for most orgs, the biggest changes you might see would be in libraries and frameworks used. There will most likely be less XML, better build tools and more modular library usage than 12 years ago.

Re: Java Turns 25 – Whats Next? [pdf]

#15
post #11

Earlier quoted context omitted.

I was in a similar position a couple of years ago. I recommend the book "Core Java for the Impatient" by Cay Horstmann. The printed version is for Java 8 but there is a preview available for Java 11. It's a concise book but it covers all the important bits. Regarding the "bite the bullet". I was also a bit afraid, but Java is a great language. Yes, it's a bit verbose but that's compensated by its amazing tooling, spe…

Tooling doesn't make the language great. Java is still objectively worse than many other languages, especially Kotlin.

There’s nothing that makes a programming language good or bad - they all can do the job. It’s a matter of personal preference - Java might be “objectively worse” for you, but it might the best language possible for thousands of other developers.

Re: Java Turns 25 – Whats Next? [pdf]

#16

Slightly tangential, but due to a new job I'll have bite the bullet and learn Java. When googling tutorials, I see the same material I found 12 years ago. A lot must have happened since then. What's a good resource to learn Java for somebody who already knows how to program? I'm interested in ecosystem, tooling, best practices, common pitfalls etc.

> A lot must have happened since then. Not really. That’s the point of Java. It’s stable. Check the Wikipedia page on Java history to see the handful of new features then just look for tutorials on those that you need to use. Most of these features are things you can pick up as you go.

At least two significant things happened:

1) It finally got anonymous functions in Java 8, so you no longer have to use anonymous classes and complicated design patterns as substitutes.

2) The distribution model changed from targeting a preinstalled JRE to bundling your own runtime with jlink and jpackage (i.e. the same as native applications and .NET Core).

Re: Java Turns 25 – Whats Next? [pdf]

#17

Slightly tangential, but due to a new job I'll have bite the bullet and learn Java. When googling tutorials, I see the same material I found 12 years ago. A lot must have happened since then. What's a good resource to learn Java for somebody who already knows how to program? I'm interested in ecosystem, tooling, best practices, common pitfalls etc.

Other than Effective Java, I recommend looking at some of the Google libraries, specifically Guava [1] and Guice [2] for dependency injection.

Java is fundamentally a slow adopter of new techniques (it just got lambdas in JDK 8), but a lot of the Google libraries fill in the gaps.

Note that if you are learning Java for Android development, that's a whole different sub-discipline. In that case I recommend the Android tutorials since most of the work is dealing with the Android SDK.

[1] https://www.tutorialspoint.com/guava/index.htm

[2] https://www.baeldung.com/guice

Re: Java Turns 25 – Whats Next? [pdf]

#18
post #16

Earlier quoted context omitted.

> A lot must have happened since then. Not really. That’s the point of Java. It’s stable. Check the Wikipedia page on Java history to see the handful of new features then just look for tutorials on those that you need to use. Most of these features are things you can pick up as you go.

At least two significant things happened: 1) It finally got anonymous functions in Java 8, so you no longer have to use anonymous classes and complicated design patterns as substitutes. 2) The distribution model changed from targeting a preinstalled JRE to bundling your own runtime with jlink and jpackage (i.e. the same as native applications and .NET Core).

Right, these are both one-day study exercises I think to come up to speed. Java's designed like this - almost everything is additive and builds on the same principles.

Re: Java Turns 25 – Whats Next? [pdf]

#19
post #9

Slightly tangential, but due to a new job I'll have bite the bullet and learn Java. When googling tutorials, I see the same material I found 12 years ago. A lot must have happened since then. What's a good resource to learn Java for somebody who already knows how to program? I'm interested in ecosystem, tooling, best practices, common pitfalls etc.

Everything is OpenJDK now, forget oracle. AWS put out LTS JRE's etc. Try and get your employer to pay for a jetbrains IDE, IntelliJ IDEA. Use Maven for builds. It's simple-ish. Use Spring for frameworks. Everything's been done so you wont be first with any problems here. And all the stuff from 12 years ago is probably what people know and do, so it's still on point. No one does inheritance anymore composition's all t…

> Use Spring for frameworks.

Or Dropwizard if you want microservices that are more light weight and performant than Spring.

https://glennengstrand.info/software/performance/springboot/...

Or Vert.x or Play if you want to code reactive microservices.

https://glennengstrand.info/software/architecture/microservi...

> No one does inheritance anymore composition's all the rage.

Hmmm, that is oversimplification IMHO. When OOP first gained popularity, there was a lot of emphasis on inheritance. Inheritance got misused resulting in systems that became too rigid to change over time. The proverbial pendulum has swung the other way resulting in this sentiment of "no one does inheritance anymore" but inheritance is still very powerful and productive provided that you learn how to use it correctly. Think of inheritance as an advanced feature best left for more senior engineers to use.

Re: Java Turns 25 – Whats Next? [pdf]

#20
post #13

Top point talks about targeting data scientists. It would be interesting seeing what that means in their mind. Based on the current state of affairs oracle and the jvm seem very far away from mainstream ML

Nobody in their right mind would choose Java for anything ML-related.

Unless there were doing fairly simple ML that needed to be tightly integrated with a pre-existing Java codebase.
Post reply on HN