> Yes. It's great for making maintainable code, but what I want is hackable code.
Java can be very hackable. Fluent Java, lambdas, generics provide opportunities.
> It's also really verbose. Kotlin rips out all the verbosity at no cost. Why would I want "@Nullable" when "?" does the trick?
Just omit it altogether. If you really want, you can prevent nulls on another level.
> I think it's more a problem with the habits that have grown around Java.
Yes. Java was nearly dead, but 8th version significantly improved things. But the biggest problem is frameworks and dragged baggage of EE-style development from early 2000. Lightweight Java is very different, while with its own set of issues.