Por que Kotlin é sua próxima linguagem (e como não se afogar nela em um mês)
\n\nO mundo do desenvolvimento é como uma missão infinita: assim que você domina Java, surge Kotlin no horizonte. E se você pensa que é mais uma "linguagem da moda" que será esquecida em alguns anos, mude de ideia rapidamente. Kotlin já é oficialmente a linguagem número um para Android, é amada no desenvolvimento backend e está gradualmente substituindo Java até mesmo no mundo corporativo. Mas eis o paradoxo: muitos iniciantes desistem após 2-3 semanas. Por quê? Porque tentam decorar a sintaxe, em vez de entender a filosofia.
\n\nNeste artigo, reuni dicas de desenvolvedores seniores que escrevem em Kotlin diariamente. Não é teoria chata, mas sim truques reais para acelerar o aprendizado de Kotlin e não perder a motivação. Vamos lá!
\n\nDica nº 1: Esqueça o Java (pelo menos por um tempo)
\n\nA pergunta mais comum de iniciantes: "Posso aprender Kotlin sabendo Java?" Pode, mas é como aprender francês sabendo espanhol — você vai confundir as palavras constantemente. Desenvolvedores seniores aconselham: esqueça o Java nas primeiras 2-3 semanas. Kotlin não é "Java com açúcar", é uma abordagem completamente diferente.
\n\nVeja um exemplo simples. Em Java, você escreveria:
\n\n// Java\npublic class User {\n private String name;\n private int age;\n\n public User(String name, int age) {\n this.name = name;\n this.age = age;\n }\n\n public String getName() { return name; }\n public void setName(String name) { this.name = name; }\n // ... mais 10 linhas de getters e setters\n}\n\n\nE assim fica em Kotlin:
\n\n// Kotlin\ndata class User(val name: String, var age: Int)\n\n\nUma linha em vez de 20! Isso não é apenas açúcar sintático — é uma mudança de paradigma. Em Kotlin, você pensa nos dados, não no código boilerplate. Por isso, o conselho dos seniores: não tente trazer o pensamento Java para o Kotlin. Comece do zero.
\n\nDica nº 2: Brinque com null safety desde o primeiro dia
\n\nUm dos principais recursos do Kotlin é a null safety. Desenvolvedores seniores afirmam: se você não entender esse conceito na primeira semana, sofrerá com NPE (NullPointerException) para sempre. Mas em Kotlin, NPE é quase impossível se você usar o sistema de tipos corretamente.
\n\nVeja este código:
\n\nfun main() {\n var name: String? = null // a interrogação indica tipo nullable\n println(name?.length) // chamada segura — retorna null\n println(name!!.length) // exclamação — causa NPE\n}\n\n\nDica dos seniores: nunca use !!. É como andar em um campo minado sem um sapador. Se você acha que não pode viver sem !!, está fazendo algo errado. Use o operador elvis ?: ou let:
fun printName(user: User?) {\n val name = user?.name ?: "Anônimo" // se for null — substitui por "Anônimo"\n println(name)\n \n user?.let { \n println("Usuário: ${it.name}") // executa apenas se user não for null\n }\n}\n\n\nIsso não é apenas sintaxe — é uma forma de pensar. Acostume-se a verificar tipos nullable em nível de compilador, não em tempo de execução. Assim, o aprendizado de Kotlin será 2 vezes mais rápido.
\n\nDica nº 3: Domine as funções de ordem superior (e ame-as)
\n\nSe você veio do Java, provavelmente está acostumado a escrever loops e condicionais. Em Kotlin é diferente. Desenvolvedores seniores adoram funções de ordem superior — funções que recebem outras funções como parâmetros ou as retornam.
\n\nVeja um exemplo: em vez de um loop for, você escreve:
\n\nval numbers = listOf(1, 2, 3, 4, 5)\nval doubled = numbers.map { it * 2 } // [2, 4, 6, 8, 10]\nval evens = numbers.filter { it % 2 == 0 } // [2, 4]\nval sum = numbers.reduce { acc, i -> acc + i } // 15\n\n\nIsso não é