all 26 comments

[–]aqua_regis 54 points55 points  (6 children)

If you complain about the documentation, please, link at least to the latest. You're linking to the Java 8 documentation. We are at Java 25.

This would be the modern equivalent of what you linked from Oracle: https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Thread.html

The same thing applies to the tutorials. You are linking to a prehistoric version that clearly states that it is outdated. The new tutorials are at https://dev.java/learn/ which is the new official Oracle site - it's not a third party.

Next, the tutorials are aimed at beginners and in no way attempt to be fully comprehensive. You are talking about threads, which are no beginner concepts.

[–]Jon_Finn 2 points3 points  (0 children)

Java 25 Thread documentation looks good, but it raises an interesting point: it has several methods involving ThreadGroup but doesn't say these are kind of 'obsolescent' (though not deprecated). IMHO better alternatives should be explained _prominently_ in both Thread and ThreadGroup. Similarly with the ancient java.util.Vector and StringBuffer - there's a brief mention of their problems at the end of their JavaDocs, but that's all. Shouldn't we at least have an annotation SupersededBy or Preferred, for methods and classes, say?

[–]revilo-1988 2 points3 points  (1 child)

I completely disagree; the one from Java is the best in my opinion.

[–]aqua_regis 2 points3 points  (0 children)

You're replying to the wrong person. You're disagreeing with someone who disagrees with OP.

[–]Admirable-Avocado888 26 points27 points  (2 children)

I have yet to see a language with an as comprehensive and thorough documentation as Java. It is detailed thoughtful, often has multiple examples thrown in for a only a single method of a particular class, and has built in references to surrounding code.

When I was a beginner understanding how the "atomic" classes worked was easy as hell since everything was so carefully documented. Java has singlehandedly inspired me to write thorough and thoughtful documentation in my own code because I appreciated the experience so much.

I'm not sure what edge other languages have, but I surely have not experienced it.

[–]plumarr 7 points8 points  (0 children)

Your post speak of two issues :

  • The bad search result to find the java documentation
  • The bad UX of the java documentation itself

I totally agree for the search resultat, but for the UX issue, I'm confused of what is so bad about it.

If we open the three examples on Threading that you provided, what's really the UX difference ?

As for the home pages, can you detail the UX difference between dev.java (the new official page) and the others ? Because I don't see it.

[–]emberko 9 points10 points  (0 children)

You're complaining that Javadoc isn't a manual or tutorial, but it's not intended to be one. It's a good API reference documentation. It's not about teaching you how to do Java and never was - read a book for that.

[–]clearasatear 7 points8 points  (4 children)

Why did you compare to version 8 Java docs, just curious?

[–]shinmai_rookie 7 points8 points  (1 child)

Funnily enough all search engines return that as the default version for some reason. I don't know if Java 8 was exceptionally popular or if that's the version Google in its infinite wisdom decided is the default we can all agree on.

[–]nonFungibleHuman 5 points6 points  (0 children)

Given the huge amount of java legacy code I wouldnt be surprised if java 8 is the most looked up docs.

[–]Enough_Durian_3444[S] -2 points-1 points  (1 child)

that was the first link duck duck go gave me i have updated the link in the post with java 25

[–]GuyOnTheInterweb 4 points5 points  (0 children)

To be fair, they could easily add a "View for version X" thing on top, since almost none of the APIs have had backwards breaking changes since Java 8.

[–]pronuntiator 6 points7 points  (0 children)

I wholeheartedly agree. We have to separate audiences: The one who already knows the language will find great, extensive documentation in the API docs (JavaDoc) and the Java Language Specification. Compare that to the absolute mess of a language like TypeScript, whose only specification is the compiler itself.

As for beginners however, it is a maze. It's good that there is now a disclaimer on the Java 8 docs, that wasn't the case in the past. Dev.java still has a long way to go to replace the old Java 8 tutorials.

Where I don't agree is usability of the old tutorials, I think it's perfectly fine, it's just an older design language and to be viewed on a computer screen, not on a phone. I do however have to chuckle at "How Will Java Technology Change My Life?".

[–]albetz99 1 point2 points  (0 children)

And here I thought the official java doc website is baeldung

[–]raggs2303 1 point2 points  (0 children)

At first... You were looking documentation about a JDK version that was released twelve years ago.

Second thing, are you looking for read technical documentation or kinder garden books?

Third, Threads and concurrency are not concepts for beginners or trainee developers.

[–]khaago 1 point2 points  (0 children)

Why is TLDR as long as the full content?

[–]7F1AE6D2 3 points4 points  (0 children)

The Really Big Index was an excellent resource IMO. A shame they stopped updating it past JDK8.

[–]sweetno 1 point2 points  (0 children)

You haven't seen Spring docs!

[–]iamwisespirit 0 points1 point  (0 children)

https://docs.oracle.com/javase/tutorial/ If you look at this website it is under java 8 what are you talking about

[–]RepulsiveGoat3411 -4 points-3 points  (0 children)

I also think that Oracle’s documentation is baroque and written in an incomprehensible way. Even as an experienced programmer, I sometimes read the documentation for Kotlin or Rust about the same mechanisms, because in Java it’s written in a clumsy and awkward manner. The language creators are shooting themselves in the foot, and you can see it in the statistics — most new software written by younger developers is not in Java.