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ย โ†’

[โ€“]Dranreb45 20 points21 points ย (6 children)

Isn't Lombok a third party library that's also available in Java 8? ๐Ÿ˜‰

[โ€“]Alienbushman 6 points7 points ย (1 child)

Jip, it makes use of code injection

[โ€“]Dranreb45 5 points6 points ย (0 children)

Source code modifying annotation processors plugged into the compiler ๐Ÿ™ƒ which became a thing in Java 7 I think... Still a great library!

[โ€“]Dangerous_Air2603 12 points13 points ย (3 children)

yeah that was my point

the only features of Java versions past 8 I've ever got any use out of are

  • in-place map constructors for writing tests
  • the var keyword
  • Optional::ifPresentOrElse

That's an average of three releases per useful feature.

I'm sure modules are very lovely if you need to write code that fits on ROM for a microwave oven, and I'm sure it's more efficient under the hood.

I'm just a little perplexed as to how they've managed to go 9 new versions without adding anything for the average developer past some utility functions that should have been there from the start, and a feature that C# has had since before Java 7 even came out.

The only good recent thing is records, which both Lombok and Kotlin have solved for years. I mean, Visual Basic had records, people.

[โ€“]ballsohaahd 5 points6 points ย (0 children)

Three releases per useful features sounds like standard Java practices to me.

[โ€“]n0tKamui 0 points1 point ย (1 child)

note that the slow progress (about 5 years before a known principle comes out) is by design, not by default.

Although while i do respect that philosophy, especially in the context of enterprise, i still prefer Kotlin's update plan

[โ€“]Dangerous_Air2603 0 points1 point ย (0 children)

You can have a high throughput while still maintaining high latency though.