Minha recente experiência com Java
Antes de tudo, quero ressaltar que a experiência não foi profissional, apenas acadêmica. E mesmo assim foi apenas uma ajuda que fiz à minha namorada que está cursando engenharia de software.
O intuito dessa publicação é apenas, somente e exclusivamente dar um print das minhas impressões com Java, apesar de já ter feito alguma coisa ou outra antigamente.
O projeto foi a tradicional aplicação bancária, onde o usuário informa seu nome, sobrenome e cpf e pode realizar operações de depósito, saques e consultas ao saldo.
Java é LENTO!
Sim. Isso foi pra prender sua atenção.
Sem dúvida alguma o ecossistema do Java está longe de ser lento, já ouvi dizerem que algumas aplicações em java se aproximam ao desempenho de C, mas infelizmente não disponho de fontes. Para não dexar vcs na mão fica esta fonte: Arial. Mas o foco do post não é esse.
Eu me senti lento desenvolvendo esta pequena aplicação. Novamente: EU, um desenvolvedor PHP, Python e Javascript. Um desenvolvedor acostumado com linguagens interpretadas e onde a compilação é feita em tempo de execução. EU!
No php, a cada interação é um simples refresh na página que estou vendo o que acabei de codar. No python basta reabrir o interpretador chamar o módulo e executar função, ou só recarregar a página, em projetos web.
No java eu tenho que recompilar tudo, mesmo nessa pequena aplicação eu achei lento. Tentei imaginar o tempo que se leva em projetos maiores, com Spring Boot por exemplo (nunca mexi com spring boot).
Eu gosto muito da linguagem e seu ecossistema, mas para projetos onde quero resolver algo rápido, não pensaria em Java de cara. Atualmente estou estudando Kotlin, por querer desenvolver aplicações mobile nativas ao Android. Achei a linguagem extremamente concisa e gostei muito. Mesmo tendo esse mesmo "problema" durante o desenvolvimento.
O que me agrada no java é a sua tipagem, em meus projetos php e python sempre utilizo os type hints, pois sem sombra de dúvidas isso acelera o desenvolvimento e a experiência de desenvolvimento. Então pode-se dizer que isto torna a Linguagem mais rápida.
Como é no mundo real?
Gostaria de ouvir pessoas que de fato tenham propriedade no assunto, sou apenas um mero transeunte no ecossistema, o qual tem seus "vícios" a outras linguagens.
Diga-me você, é lento desenvolver uma aplicação Java? Há outras abordagens? Há outros caminhos? Como é no mundo real?