Java was designed for corporations and control, not individual developers, leading to the requirement of writing functions inside a class since 1995.
The necessity of placing every utility function within a class in Java is based on the 'everything is an object' philosophy of OOP, which has become outdated with the evolution of UIs, APIs, microservices, and mobile apps.
Kotlin introduced top-level functions, null safety, extension functions, and coroutines, providing more flexibility and modern features that Java lacks.
Java's reluctance to adapt and evolve restricts developers and prevents the language from keeping up with the changing demands of software development.