Kotlin

Origem: Wikipédia, a enciclopédia livre.
Kotlin
Logo do Kotlin
Paradigma
Surgido em 2010 (13–14 anos)[1]
Última versão 1.9.22 (21 de dezembro de 2023; há 59 dias[2])
Criado por JetBrains
Estilo de tipagem
  • estática
  • forte
  • inferida
Influenciada por
Plataforma
Sistema operacional
Licença: Apache 2.0
Extensão do arquivo:
  • .kt
  • .kts
Página oficial kotlinlang.org

Kotlin é uma linguagem de programação multiplataforma, orientada a objetos e funcional, concisa e estaticamente tipada (variáveis com tipos específicos), desenvolvida pela JetBrains em 2011,[4] que compila para a Máquina virtual Java e que também pode ser traduzida para a linguagem JavaScript e compilada para código nativo (via LLVM).[5][6] Foi anunciada em 2017 pela Google como a linguagem oficial do sistema Android.[4][7]

A versão da JVM (Java Virtual Machine) de sua biblioteca padrão depende da Java Class Library, mas a inferência de tipos permite que sua sintaxe seja mais concisa. Apesar de possuir uma sintaxe mais concisa e um pouco diferente da linguagem Java, Kotlin é projetada para ter uma interoperabilidade total com código Java, agilizando assim a sua adoção.[4]

Foi considerada pelo público a 2ª linguagem "mais amada", de acordo com uma pesquisa conduzida pelo site Stack Overflow em 2018.[8]

Etimologia[editar | editar código-fonte]

Desenvolvida pela JetBrains, o nome Kotlin é baseado na ilha de Kotlin, onde se situa a cidade russa de Kronstadt, próximo a São Petersburgo.[6]

História[editar | editar código-fonte]

Uma imagem 2D do mascote do Kotlin
Uma imagem 3D do mascote do Kotlin

Em julho de 2011 a JetBrains revelou o Projeto Kotlin, no qual já estava trabalhando havia um ano.[9] Dmitry Jemerov disse que a maioria das linguagens não possuíam as características que eles da JetBrains estavam procurando, com exceção da linguagem Scala, no entanto, Dmitry Jemerov citou que o tempo de compilação lenta do Scala era uma deficiência óbvia.[9] Um dos objetivos declarados da Kotlin é compilar tão rápido quanto Java. Em Fevereiro de 2012, a JetBrains abriu o projeto Kotlin sob a Licença Apache de Código aberto.[10] A JetBrains disse acreditar que a sua nova linguagem irá dirigir as vendas da IntelliJ IDEA.[11]

Kotlin v1.0 foi lançada em 15 de fevereiro de 2016.[12] Este é considerado o primeiro lançamento oficialmente estável e a JetBrains comprometeu-se com a compatibilidade com versões anteriores a partir desta versão.

No Google I/O 2017, o Google anunciou que o Kotlin é oficialmente suportado pela Google para desenvolvimento móvel no Android. Desde o lançamento do Android Studio 3.0 em outubro de 2017, o Kotlin é incluído como uma alternativa ao compilador Java padrão. O compilador Kotlin do Android permite que o usuário escolha entre o código de bytes compatível com Java 6 ou Java 8.[7]

Kotlin v1.3 foi lançada em 29 de outubro de 2018, trazendo coroutines para programação assíncrona.

Em 7 de maio de 2019, Google anunciou que agora o Kotlin é a linguagem principal para desenvolvedores de aplicativo Android.[13]

Filosofia[editar | editar código-fonte]

O líder de desenvolvimento, Andrey Breslav, disse que Kotlin é projetada para ser uma linguagem orientada a objeto de força industrial, e que Kotlin deve ser uma linguagem melhor do que Java, mas ainda ser totalmente interoperável com código Java, permitindo que as empresas possam fazer uma migração gradual de Java para Kotlin.[14]

Design[editar | editar código-fonte]

Os ponto-e-vírgulas são opcionais como um terminador de instrução; na maioria dos casos, uma nova linha é suficiente para o compilador deduzir que a instrução terminou.

Declarações de variáveis ​​do Kotlin e listas de parâmetros têm o tipo de dados vindo depois do nome da variável (e com um separador de dois-pontos), semelhante ao Pascal.

Variáveis ​​no Kotlin podem ser imutáveis, declaradas com a palavra-chave val, ou mutáveis, declaradas com a palavra-chave var.

Os membros da classe são públicos por padrão e as próprias classes são finais por padrão, o que significa que a criação de uma classe derivada é desativada, a menos que a classe base seja declarada com a palavra-chave aberta.

Além das classes e métodos (chamadas de funções-membro em Kotlin) de programação orientada a objetos, Kotlin também suporta programação procedural com o uso de funções.

As funções e construtores da linguagem suportam argumentos padrão, listas de argumentos de tamanho variável, argumentos nomeados e sobrecarga por assinatura única.

Aplicações[editar | editar código-fonte]

Uma das aplicações óbvias do Kotlin é o desenvolvimento do Android. A plataforma ficou "presa" no Java 7 por um tempo (com alguns recursos de linguagem contemporâneos acessíveis através do uso de Retrolambda ou da Jack Toolchain) e Kotlin introduz muitos aprimoramentos para programadores como segurança de ponteiro nulo, funções de extensão e notação infixa.

Acompanhado de compatibilidade total com Java e bom suporte a IDE (Android Studio), ele visa melhorar a legibilidade do código, oferecer uma maneira mais fácil de estender as classes do Android SDK e acelerar o desenvolvimento.

O Kotlin foi anunciado como uma linguagem de desenvolvimento oficial para Android no Google I/O 2017, tornando-se a terceira linguagem totalmente suportada para Android, além de Java e C++.

Uso por outros desenvolvedores[editar | editar código-fonte]

De acordo com o site da Kotlin, Prezi está usando o Kotlin no backend. DripStat fez um writeup de sua experiência com Kotlin. De acordo com o blog da JetBrains, o Kotlin é usado pela Amazon Web Services, pelo Coursera, pela Netflix, pelo Uber, pelo Trello, pelo Basecamp e outros. Segundo o Google, o Kotlin já foi adotado por vários grandes desenvolvedores - Expedia, Flipboard, Pinterest, Square e outros - em seus aplicativos de produção para Android.

Exemplos[editar | editar código-fonte]

Programa Olá Mundo[editar | editar código-fonte]

Ver artigo principal: Programa Olá Mundo
fun main() {
    println("Olá, Mundo!")
}

Algoritmo de Trabb Pardo-Knuth[editar | editar código-fonte]

Ver artigo principal: Algoritmo de Trabb Pardo-Knuth
import kotlin.math.*

fun f(t: Double) = sqrt(abs(t)) + 5 * t.pow(3)

fun main() {
    val a = DoubleArray(11) { readLine()?.toDouble() ?: 0.0 }
	a.withIndex().reversed().forEach { (i, t) ->
        val y = f(t)
        println(if (y > 400) "$i TOO LARGE" else "$i $y")
    }
}

Jetpack Compose[editar | editar código-fonte]

Ver artigos principais: Interface gráfica do usuário e Android

Um programa Olá Mundo do Jetpack Compose se parece com:

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            Surface(modifier = Modifier.fillMaxSize()) {
                ContentView()
            }
        }
    }
}

@Composable
fun ContentView() {
    Box(contentAlignment = Alignment.Center) {
        Text(
            text = "Olá, Mundo!",
            style = MaterialTheme.typography.titleLarge
        )
    }
}

@Preview
@Composable
fun PreviewContentView() {
    Surface {
        ContentView()
    }
}

Ver também[editar | editar código-fonte]

Referências

  1. a b «FAQ - Kotlin Programming Language». kotlinlang.org (em inglês). Consultado em 13 de março de 2018 
  2. «Release Kotlin 1.9.22 · JetBrains/kotlin». github.com (em inglês). 21 de dezembro de 2023. Consultado em 8 de janeiro de 2024 
  3. a b «Kotlin/Native». kotlinlang.org (em inglês). Consultado em 13 de março de 2018 
  4. a b c Zanella, Jonathan Rafael (20 de maio de 2017). «Kotlin: explorando uma nova linguagem ⚡️» (em inglês) 
  5. «Kotlin anunciada como linguagem oficial do Android» 
  6. a b Heiss, Janice (abril de 2013). «The Advent of Kotlin: A Conversation with JetBrains' Andrey Breslav». oracle.com. Oracle Technology Network. Consultado em 2 de fevereiro de 2014 
  7. a b «Kotlin on Android. Now official». Kotlin Blog (em inglês). 17 de maio de 2017 
  8. «Stack Overflow Developer Survey 2018». Stack Overflow. Consultado em 16 de abril de 2018 
  9. a b Krill, Paul (22 de julho de 2011). «JetBrains readies JVM language Kotlin». InfoWorld. Consultado em 2 de fevereiro de 2014 
  10. Waters, John (22 de fevereiro de 2012). «Kotlin Goes Open Source». ADTmag.com/. 1105 Enterprise Computing Group. Consultado em 2 de fevereiro de 2014 
  11. «Why JetBrains needs Kotlin». we expect Kotlin to drive the sales of IntelliJ IDEA 
  12. «Kotlin 1.0 Released: Pragmatic Language for JVM and Android». Kotlin Blog (em inglês). 15 de fevereiro de 2016 
  13. Hagos, Ted (2018). «Kotlin is now Google's preferred language for Android app development». Berkeley, CA: Apress. TechCrunch. Retrieved 8 May 2019: 33–61. Consultado em 17 de novembro de 2021 
  14. «JVM Languages Report extended interview with Kotlin creator Andrey Breslav». zeroturnaround.com. 22 de abril de 2013. Consultado em 2 de fevereiro de 2014 

Ligações externas[editar | editar código-fonte]


Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.