I thankfully have not had to use Java for years, but at one of my first jobs after grad school I was hired because I had Kotlin experience and they were moving the code base away from Java.
A few of the older developers also complained about the use of map, filter, zip, lambdas, etc being harder to read as well. Then a month or two later when they realized they weren't going away, it was an important part of the language, and just learned how to use them the complaints just one day stopped.
Except for when we had to touch Java code and it didn't make sense to convert it fully to Kotlin.
This is precisely my point. For a lot of Java programmers anything that they didn’t learn in university is “bad”, as far as I can tell, purely because they don’t want to actually learn new things.
They’ll give half-hearted justifications that are usually reductive or just flat out lies [1], but ultimately it seems to boil down to new=bad.
The amount of terrible code I have had to debug because Java programmers haven’t figured out you can use queues is upsetting, because all they learned in university is how to use `synchronized` wrong.
[1] I have learned that nearly every time someone says their disgusting code is “faster”, even when they claimed they tested it, it is almost universally untrue when I write a microbenchmark to check it.
That's called selection bias for both of you. Reddit will expel anyone whose opinion does not correspond to the local mob bias. Workplaces select people who are similar to already working ones.
A few of the older developers also complained about the use of map, filter, zip, lambdas, etc being harder to read as well. Then a month or two later when they realized they weren't going away, it was an important part of the language, and just learned how to use them the complaints just one day stopped.
Except for when we had to touch Java code and it didn't make sense to convert it fully to Kotlin.