Vale a pena medir desempenho entre aplicação Java x Kotlin?

Mexendo na documentação da Google Developers, achei algo bem bacana como:
Medir o desempenho do aplicativo com o Android Profiler

Mas ao saber que Java e Kotlin são interpretados pela JVM, acredito eu que a diferença de desempenho não seja tão grande, pois pelo que vi entre as linguagens, quando o assunto é velocidade, eles levam em relação a escrita (Programação Funcional) por ser mais rápido que acaba acelerando o desenvolvimento da aplicação.

Com isso, alguém aqui ja passou por essa e chegou a realizar esses tipos de medidas (CPU, Memoria)?

1 curtida

A principal diferença entre essas duas linguagens é que Kotlin é muito menos verboso. Caso queira medir a diferença de performance entre elas, sugiro dar uma olhada em alguns dos recursos, como API de Collections do Kotlin vs a do Java.

1 curtida

Acredito que nas versões anteriores o Java decepcionava muito em relação à outras linguagens. Mas hoje em dia a velocidade é a mesma. Como o felix mencionou, o que muda é a escrita, mas o desempenho fica no empate, e se o Java perder, é por pouca coisa de diferença… Hoje eu tenho aplicação Desktop feito em Java que roda em um PC bem ruinzinho, mas a performance é bem estável.

Para novas aplicações Android não faz muito sentido usar linguagem Java, muito verbosa e atrasada. Exceto claro se a pessoa for muito viciada em Java. A comunidade Android está aceitando bem Kotlin. E Flutter com a linguagem Dart pode ser o futuro, principalmente por causa Fuchsia.

Verbosa sim, atrasada não.

Só pra começo, tem property na linguagem?

Então se a linguagem x tem o recurso “xpto”, e a linguagem y não tem o recurso “xpto”, a linguagem y é atrasada? Não é assim que funciona jovem.

1 curtida

Sim, quanto mais expressiva para determinada situação, melhor a linguagem. Java só foi ter lambda expression a pouco tempo, para voce ver de fato como a linguagem Java é atrasada. Sem properties, extension methods direto no objeto, interpolação de strings, entre outras coisas se comparar com outras linguagens mais avançadas.

Tá certo, nesse caso então parem de usar Kotlin e C#, pois as mesmas são obsoletas já que não permitem herança múltipla como no C++ e no Python.
Ano após ano é esse mesma conversa, “Java é obsoleta”, “Java vai ser substituído pela nova linguagem xpto” e etc… E ano após ano Java está entre as linguagens mais utilizadas do mercado, sempre no top 3, sempre em primeiro ou segundo lugar, isso nos últimos anos . Tem código Java rodando até em satélites da NASA.
https://redmonk.com/sogrady/2018/03/07/language-rankings-1-18/

2 curtidas

Neste ponto C++ e Python são melhores que C#, Java e Kotlin. Problema que Java perde de lavada, considerando os mesmos tipos de aplicações.

Ninguém está questionando sobre isso. O tópico é sobre a plataforma Android, em que Kotlin é mais produtivo e está tendo suporte oficial do Google e boa aceitação na comunidade para novas aplicações. Quem usa a plataforma Java Oracle fica com a linguagem Java.

Okay

Acho a codificação dessa linguagem Kotlin terrivel.

Por isso programação vai do gosto.

Já em termos de desempenho, pode ter alguma coisa no Kotlin que tenha sido codificada e otimizada, então poderá ficar mais rapido que aquela presente na biblioteca Java, mas qualquer um pode tentar fazer uma nova implementação de praticamente qualquer classe do Java.

Não foi atoa que Java passou a ser a linguagem mais codificada nos últimos 24 anos, Coisas bem feitas são duradouras.