13 points swaranga 3 days ago 8 comments

Randgalt 3 days ago | parent

Quality of life libraries like Lombok (or my library https://github.com/Randgalt/record-builder) are now anachronisms. Agents don’t need libraries to avoid writing getters, setters, etc. Lombok et al are for humans and the days of human coding are ending, sadly.

swaranga 3 days ago | parent

Lots to agree; I am certainly feeling it these days. I used to be excited for new language features (records, pattern matching) but I was looking at the recently posted Devoxx conference talks on Youtube and for every one of these, I was thinking "what's the point? The code will be written by an agent anyway".

cidd 1 hour ago | parent

With that logic every library ever created is now anachronism. Agent can just always code using standard library of the programming language.

jen20 1 hour ago | parent

This article does less to convince me that Lombok is worthwhile and more that Java (the language, not the JVM) is not.

zaphirplane 3 minutes ago | parent

[delayed]

rootsudo 1 hour ago | parent

I’ve always been curious as to why Indonesia islands have been the naming convention for this sort of software for a long time.

It’s also funny because there is true irl “dark magic” for Java, Lombok and Bali.

Also surprised there isn’t much mention of Bali in general.

EdwardDiego 1 minute ago | parent

Well, cos Java, while they named it for coffee, hence coffee related projects (Correto, Caffeine, and of course, all them goddamned Spring Beans) also being the name of the most densely populated island of Indonesia lead to related projects being named in an Indonesian theme like, obviously, Lombok, but Batik (an Indonesian tapestry form), Jakarta (largest city in Indonesia and on Java), IBM Semeru (the highest mountain on Java) , Apache Wayang (wayang is a traditional form of theatre in Indonesia and Malaysia), Project Sumatra etc. etc. etc.

708145_ 53 minutes ago | parent

Lombok was never relevant, and using Jackson’s or other frameworks’ undesirable runtime sorcery does not make Lombok any more sound.

Adding a pile of annotations throughout your codebase, often five stacked on top of one another, which generate behavior that is not locally visible, was never a sane trade-off for saving a little boilerplate.

Lewton 9 minutes ago | parent

Lombok fucking sucks

@requiredargs sucks, if you rearrange the order of two fields with the same type on a class you invisibly break the code. If you have multiple constructors (requiredargs, allargs) it makes tracing how they’re used using the built in tools of your IDE impossible

@builder fucking sucks, if there’s non-nullable fields and you don’t set them, at best you get a runtime exception. Builder pattern should take non-null args explicitly in the builder() method so when you add a new required field it doesn’t invisibly break code 8 modules away

Only good thing is indeed the log annotation, and to some degree @getter @setter, big whoop