Many developers consider Kotlin to be a good programming language. It is concise and expressive, making it easy to read and write. It also has strong support for functional programming, which can make it a good choice for building complex, scalable applications. Additionally, because it is fully interoperable with Java, it allows developers to leverage their existing Java knowledge and codebase, while also taking advantage of the newer features and improvements in Kotlin.
Kotlin is a relatively new programming language, so it lacks the widespread adoption and ecosystem of more established languages like Java and Python. As a result, there may be some gaps in the available libraries and tools compared to those languages. Additionally, because it is a statically typed language, it can require more code to be written compared to dynamically typed languages, which can make it less concise.