Categorias

Dez anos de Kotlin: origens e futuro

Parece que foi ontem, mas Kotlin surgiu em julho de 2011. Dez anos depois, a linguagem de programação multiplataforma, orientada a objetos, está presente como o padrão para Android: cerca de 70% dos aplicativos da Google Play foram desenvolvidos com Kotlin. O próprio Google tem mais de 60 apps criados com Kotlin. Além disso, a linguagem faz parte do backend de serviços de ponta como Amazon Web Services, Uber, Netflix, Trello, Duolingo, OLX e muitos outros.

Nos últimos doze meses, Kotlin foi utilizada por quase cinco milhões de desenvolvedores para um pouco de tudo:  server-side, multiplatforma, Android e front-end. Existem quase 200 grupos de usuários espalhados pelo mundo e o ensino da linguagem de programação faz parte do currículo de 45 das 200 universidades mais importantes do planeta.

Esse é o momento presente do Kotlin, mas a grande pergunta é como será o seu futuro. Antes de respondermos essa questão, é importante olhar para trás, observar a história de sua gestação e celebrar essa jornada de uma década.

“Bora fazer nossa linguagem de programação?”

Dmitry Zhemerov, um dos engenheiros da JetBrains envolvido no surgimento do Kotlin, explica o que levou sua equipe a criar o Kotlin: devolver à comunidade de desenvolvimento Java o mesmo carinho que a comunidade havia dedicado às ferramentas da JetBrains. Nesse sentido, o que eles poderiam fazer não era mais uma ferramenta, mais uma biblioteca ou mesmo um framework, mas uma linguagem de programação completa. Além disso, seria uma oportunidade da empresa trabalhar em um projeto que fosse “só dela”, por assim dizer.

“Eu estava pensando na época que a JetBrains era uma empresa que estava construindo ferramentas para linguagens e tecnologias de outras empresas, linguagens, frameworks e assim por diante. Portanto, estava pensando em maneiras possíveis de aumentar a influência da JetBrains na comunidade. Então, para dizer, como podemos fazer algo que é nossa própria tecnologia, e não apenas apoiar a tecnologia de outras pessoas.”

A ideia inicial foi recebida com… risos. A JetBrains era uma empresa pequena. Uma empresa pequena com nome no mercado por causa de alguns projetos bem sucedidos, como IntelliJ IDEA e ReSharper, mas eles ainda eram uma empresa pequena e desenvolver uma linguagem de programação própria estava alguns patamares acima do que eles imaginavam para a JetBrains. Ainda assim…

Dmitry Zhemerov

De acordo com Zhemerov, era tarde demais para voltar atrás: a semente estava plantada e toda a equipe começou a pensar no projeto. Se eles tinham capacidade? O time da JetBrains havia implementado suporte a dezenas de linguagens de programação em seus produtos, cada um deles tinha um profundo conhecimento de como funcionava uma linguagem de programação, suas limitações individuais, seus potenciais, seus pontos fortes e seus pontos fracos. Era só combinar esse conhecimento em algo que fosse deles.

Da teoria para a prática

Andrey Breslav, nomeado líder do projeto, foi um dos que mais tinham dúvidas sobre a necessidade de uma nova linguagem no mercado:

“Quando ouvi pela primeira vez que seria uma linguagem de uso geral no JVM, pensei: ‘não há por que criar uma nova linguagem. É completamente irracional’. Havia boas linguagens por aí na época. Scala era bem grande e eu gostava. Parecia que todos os problemas que existiam na JVM no momento tinham sido mais ou menos resolvidos pelo Scala, pensei: ‘não faça isso. Não é uma boa ideia. Basta usar o Scala. Você vai ficar bem’.”

Entretanto, o tempo de compilação do Scala era lento para os parâmetros da equipe da JetBrains. Eles queriam criar algo que compilasse tão rápido quanto o Java.

Na época, Zhemerov declarou: “analisamos todas as linguagens JVM existentes e nenhuma delas atende às nossas necessidades”. Porém, a responsabilidade sobre os ombros deles era imensa. “A comunidade confia na JetBrains e espera que ela faça um bom trabalho em termos de implementação de linguagem e suporte de ferramentas”, relatou o desenvolvedor no lançamento do Kotlin.

A origem do nome também passou por obstáculos. A JetBrains queria batizar essa nova linguagem de programação de “Jet”, por razões óbvias. Entretanto, o nome esbarra em questões de marca registrada de outras empresas e o time teve que pensar em algo que seria impossível de já ter sido usado antes. Breslav lembra que não foi fácil chegar a uma proposta viável: “estávamos procurando outro nome e não gostamos de nada, e foi bem difícil”.

Zhemerov deu a sugestão que deu certo: Kotlin. Originalmente, Kotlin é o nome de uma ilha nos arredores de São Petersburgo. Qual era a lógica por trás dessa escolha? Assim como Java teria sido batizado em homenagem à ilha de Java (e, principalmente, seu café), a linguagem que eles criaram também tiraria seu nome de uma ilha.

Então, em 2011, a JetBrains revelou Kotlin para o mundo. A recepção, de uma forma geral, foi positiva. Porém, John Rymer, analista da consultoria Forrester, profetizou um futuro pouco promissor: “a maioria dos recursos parece tentar simplificar a criação de aplicativos complexos e incluir mais poder em cada linha de código. Esses são objetivos válidos. No entanto, duvido que muitas pessoas abandonem o Java e adotem o Kotlin, mesmo que apenas por força de hábito”.

Levaria cinco anos para Kotlin atingir a maturidade necessária para chegar na versão 1.o. Porém, daí pra frente, portas se abriram. Kotlin 1.0 foi lançado em fevereiro de 2016. No ano seguinte, durante o Google I/O 2017, o Google anunciou Kotlin como uma linguagem oficial do ecossistema Android.

O futuro do Kotlin

A estrada do Kotlin claramente não está encerrada com sua primeira década. Roman Elizarov é o líder da divisão Kotlin da JetBrains hoje e relatou que ainda há muito trabalho a ser feito pelos próximos dez anos. “Em primeiro lugar, teremos de estabelecer o Kotlin como uma linguagem multiplataforma com firmeza, e nos vejo terminando o trabalho que iniciamos em multiplataforma, tanto infraestrutural quanto na estabilização do suporte para múltiplas plataformas diferentes”, declarou no aniversário da linguagem de programação.

Segundo Elizarov, eles estão construindo nesse momento bibliotecas fundamentais para multiplataforma e trabalhando em ferramentas para tornar mais fácil o trabalho de sua comunidade no processo de desenvolver resultados específicos para seus próprios cenários.

Entretanto, suporte aperfeiçoado multiplataforma e facilidade de uso não são os únicos pilares do futuro do Kotlin. A JetBrains está investindo também em suporte a dados estruturados, imutabilidade, meta programação, um novo compilador para não haver sacrifício de performance com novas funcionalidades e mais static typing, para melhorar a integração com ferramentas externas.

Por tudo que já conseguiu e por tudo que planeja fazer ainda no futuro, dá para dizer que Kotlin não é “mais uma linguagem”, mas uma adição importantíssima que está e estará presente no universo da tecnologia por muito tempo. Feliz aniversário (atrasado)!