Kotlin

linguagem de programação

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]

Kotlin
Logo do Kotlin
Paradigma
Surgido em2010 (13–14 anos)[1]
Última versão1.9.24 (7 de maio de 2024; há 43 dias[2])
Criado porJetBrains
Estilo de tipagem
  • estática
  • forte
  • inferida
Influenciada por
Plataforma
Sistema operacional
LicençaApache 2.0
Extensão do arquivo
  • .kt
  • .kts
Página oficialkotlinlang.org

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

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

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

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

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

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

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

Programa Olá Mundo

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

Algoritmo de Trabb Pardo-Knuth

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

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

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

import android.os.Bundleimport androidx.activity.ComponentActivityimport androidx.activity.compose.setContentimport androidx.compose.foundation.layout.Boximport androidx.compose.foundation.layout.fillMaxSizeimport androidx.compose.material3.MaterialThemeimport androidx.compose.material3.Surfaceimport androidx.compose.material3.Textimport androidx.compose.runtime.Composableimport androidx.compose.ui.Alignmentimport androidx.compose.ui.Modifierimport androidx.compose.ui.tooling.preview.Previewclass MainActivity : ComponentActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContent {            Surface(modifier = Modifier.fillMaxSize()) {                ContentView()            }        }    }}@Composablefun ContentView() {    Box(contentAlignment = Alignment.Center) {        Text(            text = "Olá, Mundo!",            style = MaterialTheme.typography.titleLarge        )    }}@Preview@Composablefun PreviewContentView() {    Surface {        ContentView()    }}

Ver também

Referências

Ligações externas


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