Neste tutorial, você vai aprender a criar seu primeiro programa em Kotlin do absoluto zero. Vamos configurar o ambiente de desenvolvimento, entender a estrutura básica de um programa Kotlin e executar o clássico “Hello, World!”. Ao final, você terá uma base sólida para avançar nos próximos tutoriais da série.

Por que Aprender Kotlin?

Kotlin é uma linguagem de programação moderna, concisa e segura, criada pela JetBrains e oficialmente suportada pelo Google para desenvolvimento Android. Mas Kotlin vai muito além do mobile: você pode usá-la para desenvolvimento backend com frameworks como Ktor e Spring Boot, para aplicações desktop, e até para desenvolvimento multiplataforma com Kotlin Multiplatform.

Uma das maiores vantagens de Kotlin é a sua interoperabilidade com Java. Isso significa que você pode usar qualquer biblioteca Java existente diretamente no seu código Kotlin, sem nenhuma configuração especial. Além disso, Kotlin possui recursos modernos como null safety, coroutines para programação assíncrona, e uma sintaxe muito mais enxuta que Java.

Se você vem de outras linguagens como Python, JavaScript ou Java, vai perceber que Kotlin combina o melhor de vários mundos: a segurança de tipos de Java, a concisão de Python e recursos funcionais inspirados em Scala e outras linguagens modernas.

Configurando o Ambiente de Desenvolvimento

Antes de escrever qualquer código, precisamos configurar o ambiente. Existem várias formas de trabalhar com Kotlin, e vamos explorar as principais opções.

Opção 1: IntelliJ IDEA (Recomendado)

A forma mais prática de programar em Kotlin é usando o IntelliJ IDEA, a IDE criada pela mesma empresa que desenvolveu Kotlin. Você pode baixar a versão Community (gratuita) no site oficial da JetBrains.

Após instalar o IntelliJ IDEA, siga estes passos:

  1. Abra o IntelliJ IDEA e clique em “New Project”
  2. Selecione “Kotlin” no menu lateral
  3. Escolha “JVM | IDEA” como template
  4. Defina o nome do projeto como “MeuPrimeiroKotlin”
  5. Clique em “Create”

Opção 2: Kotlin Playground Online

Se você quer começar imediatamente sem instalar nada, pode usar o Kotlin Playground diretamente no navegador acessando play.kotlinlang.org. Essa é uma excelente opção para testar pequenos trechos de código e experimentar a linguagem.

Opção 3: Linha de Comando

Você também pode instalar o compilador Kotlin via SDKMAN ou Homebrew:

// Instalação via SDKMAN (Linux/Mac)
// No terminal: sdk install kotlin

// Após instalar, você pode compilar e executar assim:
// kotlinc hello.kt -include-runtime -d hello.jar
// java -jar hello.jar

Escrevendo o Primeiro Programa: Hello, World!

Agora que o ambiente está configurado, vamos escrever nosso primeiro programa. Em Kotlin, o ponto de entrada de qualquer aplicação é a função main. Diferente de Java, você não precisa criar uma classe para isso.

fun main() {
    println("Olá, Mundo! Bem-vindo ao Kotlin!")
}

Vamos entender cada parte deste código:

  • fun: é a palavra-chave usada para declarar uma função em Kotlin. Toda função começa com fun.
  • main: é o nome da função principal. O compilador Kotlin procura essa função como ponto de entrada do programa.
  • (): os parênteses indicam que a função não recebe nenhum parâmetro. Em versões anteriores, era obrigatório declarar args: Array<String>, mas desde o Kotlin 1.3 isso é opcional.
  • println(): é a função que imprime uma linha no console. Ela adiciona automaticamente uma quebra de linha ao final.

Execute o programa e você verá a mensagem “Olá, Mundo! Bem-vindo ao Kotlin!” no console. Parabéns, você acabou de criar seu primeiro programa em Kotlin!

Expandindo o Programa: Variáveis e Entrada do Usuário

Agora vamos tornar o programa mais interessante adicionando variáveis e interação com o usuário.

fun main() {
    println("=== Meu Primeiro Programa em Kotlin ===")
    println()

    // Declarando variáveis com val (imutável) e var (mutável)
    val linguagem = "Kotlin"
    val versao = "2.0"
    var contador = 0

    println("Bem-vindo ao curso de $linguagem $versao!")
    println()

    // Pedindo o nome do usuário
    print("Qual é o seu nome? ")
    val nome = readlnOrNull() ?: "Visitante"

    contador++
    println("Olá, $nome! Você é o visitante número $contador.")
    println()

    // Usando string templates mais elaborados
    val mensagem = """
        |Resumo do Programa:
        |  Linguagem: $linguagem
        |  Versão: $versao
        |  Usuário: $nome
        |  Execuções: $contador
    """.trimMargin()

    println(mensagem)

    // Operações básicas
    val anoAtual = 2025
    val anoCriacao = 2011
    println("Kotlin existe há ${anoAtual - anoCriacao} anos!")
}

Neste exemplo expandido, introduzimos vários conceitos importantes:

  • val declara uma variável imutável (como final em Java). Uma vez atribuído o valor, ele não pode ser alterado. Prefira sempre usar val quando possível.
  • var declara uma variável mutável, cujo valor pode ser alterado depois.
  • String templates permitem inserir variáveis e expressões diretamente dentro de strings usando $variavel ou ${expressao}.
  • readlnOrNull() lê uma linha da entrada padrão e retorna null se não houver entrada disponível.
  • Operador Elvis ?: fornece um valor padrão quando a expressão à esquerda é null. Este é um recurso fundamental do sistema de null safety do Kotlin.
  • Multiline strings (triple-quoted strings) permitem criar strings com várias linhas de forma legível, e trimMargin() remove os espaços à esquerda até o caractere |.

Entendendo a Estrutura do Projeto

Quando você cria um projeto Kotlin no IntelliJ IDEA, a estrutura de diretórios segue uma convenção padrão. O arquivo principal fica em src/main/kotlin/ e os arquivos de teste ficam em src/test/kotlin/. O arquivo de configuração do build system (Gradle) fica na raiz do projeto.

É importante entender que Kotlin compila para bytecode da JVM por padrão, o que significa que seu código Kotlin roda na Java Virtual Machine exatamente como código Java. Isso garante compatibilidade com todo o ecossistema Java existente e performance de nível de produção.

Cada arquivo Kotlin tem a extensão .kt. Diferentemente de Java, o nome do arquivo não precisa corresponder ao nome da classe, e você pode ter múltiplas classes, funções e até variáveis de nível superior no mesmo arquivo.

Dicas e Erros Comuns

Ao criar seus primeiros programas em Kotlin, fique atento aos seguintes pontos:

  1. Esquecer o fun antes de main: toda função precisa da palavra-chave fun. Sem ela, o compilador não reconhece a declaração.

  2. Confundir val e var: lembre-se que val é imutável. Se você tentar reatribuir um valor a uma variável val, o compilador vai gerar um erro. Use var apenas quando realmente precisar alterar o valor posteriormente.

  3. Ponto e vírgula não é necessário: diferente de Java e C, Kotlin não exige ponto e vírgula no final das linhas. O compilador infere automaticamente o fim de cada instrução. Embora o ponto e vírgula seja permitido, ele é considerado não-idiomático.

  4. Usar println vs print: println adiciona uma quebra de linha no final, enquanto print não. Escolha conforme a necessidade do seu programa.

  5. Não usar a inferência de tipos: Kotlin possui um poderoso sistema de inferência de tipos. Você não precisa declarar o tipo explicitamente quando ele pode ser deduzido pelo compilador. Por exemplo, val nome = "Kotlin" já sabe que nome é do tipo String.

  6. Ignorar warnings do compilador: o compilador Kotlin é muito inteligente e gera avisos úteis. Sempre leia e corrija os warnings, pois eles frequentemente apontam para problemas reais no código.

Conclusão e Próximos Passos

Parabéns por criar seu primeiro programa em Kotlin! Você aprendeu a configurar o ambiente de desenvolvimento, entendeu a estrutura básica de um programa, trabalhou com variáveis, string templates e entrada do usuário. Esses são os fundamentos sobre os quais todo o restante da linguagem é construído.

Kotlin é uma linguagem que recompensa o aprendizado gradual. Cada novo conceito se conecta naturalmente ao anterior, e a sintaxe concisa permite que você se concentre na lógica do programa em vez de ficar lutando com boilerplate desnecessário.

Nos próximos tutoriais, vamos aprofundar cada um dos conceitos que introduzimos aqui. Recomendo seguir esta ordem:

Continue praticando e experimentando no Kotlin Playground ou no IntelliJ IDEA. A melhor forma de aprender uma linguagem de programação é escrevendo código todos os dias, mesmo que sejam pequenos programas de prática. Até o próximo tutorial!