Kotlin
O que é
Pense em um adaptador universal de tomada que permite que um único plugue funcione nas tomadas de vários países. A Java Virtual Machine (JVM, Máquina Virtual Java) cumpre esse papel para o software: é um motor que executa o mesmo programa em muitos tipos diferentes de computadores. Kotlin é uma linguagem moderna, de tipagem estática, criada pela JetBrains, que roda na JVM e interopera totalmente com Java. O Google a tornou a linguagem preferida para desenvolvimento Android, e ela também é usada em código server-side, lógica compartilhada multiplataforma e até em compilação para código nativo ou JavaScript. Seu objetivo é ser concisa, segura e pragmática — Java sem a cerimônia.
Pontos fortes
- Segurança contra nulos (null safety) embutida no sistema de tipos, eliminando a maioria dos travamentos por
NullPointerException. - Concisa: data classes, funções de extensão e smart casts reduzem drasticamente o código repetitivo (boilerplate).
- Interoperabilidade perfeita com Java — use qualquer biblioteca Java, migre arquivo por arquivo.
- Coroutines de primeira classe para código assíncrono e concorrente mais legível.
- O Kotlin Multiplatform permite compartilhar lógica de negócio entre Android, iOS e .
Contrapartidas
- A compilação pode ser mais lenta que a do Java em projetos grandes.
- A JVM implica um runtime e alguma sobrecarga de inicialização em comparação com linguagens nativas.
- Multiplatform e Kotlin/Native estão amadurecendo, mas ainda são menos testados em batalha do que o alvo JVM.
- Alguns recursos avançados (coroutines, DSLs) têm uma curva de aprendizado.
Quando usar
Recorra ao Kotlin para qualquer novo aplicativo Android, e considere-o para serviços de backend em JVM onde você queira um código mais seguro e enxuto do que o Java. É uma opção padrão sólida em qualquer lugar onde o ecossistema da JVM se encaixe.
Encaixe no vibe coding
Kotlin funciona bem com assistentes de IA porque seus idiomas concisos significam menos código para gerar e revisar, e a segurança contra nulos expõe erros em tempo de compilação. Peça ao modelo para preferir val imutável em vez de var, para usar data classes para modelos, e para escrever funções suspensas (suspending functions) com coroutines em vez de threads manuais. Ao mirar no Android, faça-o combinar Kotlin com o Jetpack Compose, para que UI e lógica compartilhem uma única linguagem moderna.
data class User(val name: String, val active: Boolean = true)
fun activeNames(users: List<User>): List<String> =
users.filter { it.active }.map { it.name }
fun main() {
val users = listOf(User("Ada"), User("Lin", active = false))
println(activeNames(users))
}