I do believe that number will go down in the coming releases; things like valhalla will allow us to pack data representations much more efficiently after all. the only things that really benefit from object identity are behaviors, not data.
it's a matter of standardisation again. Java's standard is like C++; ponderous. The record pattern jep indicates in final footnotes that something like unapply may be in the works, so all hope is not lost.
That is true, but there are many who have discussed that. I wanted to bring some attention to the new syntactic changes Java brings that can help with implementing better logic.
Id rather say use kotlin. It comes with a better type system with explicit nullable types, proper closures, and syntactic sugar to easily enavle beneficial programming patterns.
Nd it is very compatible with Java itself, interop is dead simple
Java has in recent times actually removed some apis from the standard library, and made some inaccessible (undocumented internal apis especially) so any advanced frameworks that use them would have been affected.
I think the experience is better with more well designed languages like Kotlin, which can reduce boilerplate and allow you to focus on the handler and controller logic instead of boilerplate.
Regarding magic... I think it is a matter of pulling away the curtain; once you know how the DI works, it becomes drastically easier to write code with it, since you can predict its behaviour. I have always had trouble when I don't know all the rules of a system.
well... My company was aiming to do codegen to fix errors. We took quite some time to figure out what to do with AI in our product. When we finally implemented something, we found apis like gpt4 to be quite expensive, though GPT4 did work well for the task. We later turned towards llama2 and codellama, which worked decently but had a higher "wrong output" rate.
And then they laid off 60% of the workforce (We were only 30 people)... I am not sure LLMs are going to affect their outlook very positively in the long term.