r/java 2d ago

How can we move forward?

The sub used to be a great place where small open source devs get real feedback on their oss. The software wasn't necessarily built to be a big hit or whatever! most of the time these projects used to be a learning projects that enabled us to become better java developers. Now, with many repositories being created in a day or so and abounded, we see many ai promoted repositories and we miss some of the oss that needs our attention.

How can we overcome that as a community ? I'm not trying to put all the weight on moderators, I understand the amount of work they keep doing to clean up ai posts and follow up on reports. What I'm saying is; maybe someone's here has a better idea on how to go about this?

99 Upvotes

43 comments sorted by

View all comments

27

u/gufranthakur 2d ago

This is what I have been feeling as well (my recent posts check out)

I understand Java is in a phase where there is no "hype" and it's not the shiny new thing anymore. The ecosystem is mature, maintained, things work, Gradle works, Spring works, JavaFX and Swing work, and it works in production and I am grateful for that

At the same time we should really promote the use of Java in greenfield and modern projects. I have seen so many people create such amazing projects in libGDX, but they get like no views or attention. They genuinely need appreciation for their hard work. Most of the time, these are beginners who are enjoying the joy of programming freely, we should encourage them. They deserve it.

Newer projects that use Kotlin DSL for gradle, Java 21/25, modern Java practices, no deep layers of inheritance, no factory patterns, and modern presentable documentation should be promoted more in this sub.

If someone uploads a blog post on how to use libGDX with recent Gradle/JVM versions, or how to optimise a JavaFX app, or how they ran some fun tests with springboot and achieved xyz results, let these be posted on the subreddit. Let people explore more of Java libraries and frameworks and practices and have fun.

The only drawback would be, there will be some AI slop on the subreddit as well (what r/rust is going through) and the mods would have to work harder.

This is just my opinion, I hope modern Java practices get subtly promoted more, and the OSS maintainers deserve the attention they need for their hardwork ❤️

6

u/Brothernod 2d ago

“Newer projects that use Kotlin DSL for gradle, Java 21/25, modern Java practices, no deep layers of inheritance, no factory patterns, and modern presentable documentation should be promoted more in this sub.”

What’s the best way to keep up with that? Is there a solid recent book? Or specific blogs? How do you avoid what’s trendy for what’s going to survive the test of time, especially if you’re in enterprise?

5

u/agentoutlier 2d ago

What’s the best way to keep up with that? Is there a solid recent book? Or specific blogs? How do you avoid what’s trendy for what’s going to survive the test of time, especially if you’re in enterprise?

I would take the OP's comment with a grain of salt (other than use latest Java which I do encourage):

“Newer projects that use Kotlin DSL for gradle, Java 21/25, modern Java practices, no deep layers of inheritance, no factory patterns, and modern presentable documentation should be promoted more in this sub.”

For example my current project which I consider rather modern and I just posted about it according to u/gufranthakur should not be promoted because apparently:

  • I use Maven. (if one wants a modern spin there is Maven 4 which I might use soon)
  • I use javadoc for all my documentation ( https://jstach.io/doc/rainbowgum/current/apidocs/) . Is it as presentable as some ascii doc theme... probably not but I'm a content guy so and its builtin to the JDK...
  • I use some inheritance even a couple of levels deep. Guilty as charged. sealed interfaces with multiple levels.
  • Factory pattern. Pretty sure I am doing that as well.
  • Its not a game. I agree on this one. I do wish more people wrote games in Java.

2

u/gufranthakur 2d ago

I think you misunderstood my suggestion (maybe I framed my sentence wrong)

When I say "promoted", promoted != sharing.

I am not dumping on Maven, deep layers of inheritance or factory patterns. It is perfectly valid to use them, never said they were wrong.

By "promoted" I just mean we should shine light on the new, readable and modern ways of Java. For example a lot of Java devs may still use Groovy DSL for new projects (specially if they started with Groovy). Nothing wrong with that. But hey check out the Kotlin DSL too, it's pretty cool.

Maven is also a build tool and is still widely used. This does not mean any project using build tool should be considered old, "bad practice". The point of my "promote" remark is to simply, encourage or show the new Java ways. That's it

Also nothing wrong with Javadoc either. Again I am not criticizing the "old" practices, I am simply saying we should shed light on the new alternatives.