É questão de evoluir ou parar no tempo. Pelo menos nesse ponto de inferir o tipo baseado no valor o Java evoluiu. É muito mais ágil enquanto estamos escrevendo, que é a maior parte do tempo gasto. Por ter ganhado isso muito tarde complica adoção e cria resistência por quem está viciado na forma clássica do Java. Fora a mistura, onde o pessoal mais fora da caixa do Java usa o var e o pessoal mais velho fica colocando diretamente o tipo.
var, não é evolução do Java coisa nenhuma tão pouco variavel dinamica ou mutavel seja algo moderno.
Programei assim em DBase/Clipper por bom tempo em sistemas comerciais, que já tinham variaveis dinamicas e eram chamadas de linguagens de 4a geração.
O que determina a velocidade de construção do programa não são usar ou não “var(s)”, isso tem a ver com o conhecimento em sí, logica de programação, algoritimos, experiencia,
enfim…
Se não fosse evolução, nao teriam decidido introduzir o var, pra inferir o tipo através do valor. Nao estou falando de variavel dinamica. E olha que isso só entrou a partir do Java 10.
Isso são coisinhas, que não quebram a essencia da linguagem em si, mas, precisa ver se compensa pegar um onibus ou um carro pra ir daqui até na esquina.
Isso nunca me atrapalhou, pra mim não fede nem cheira. Tem coisas mais importantes para me preocupar.
É que não sofro de neurose como parece ser seu caso, mas se Eu for contar aqui quantos switch e instanceof tem no programa, é uma quantidade ridicula.
No meu caso, eu gasto muito mais tempo lendo e entendendo código alheio. Mas cada caso é um caso, e nem acho que é o var que vai ser a grande solução (pode ajudar, mas acho que o peso disso será bem pequeno - no meu caso mudaria bem pouco).
O pior mesmo é quando preciso rodar npm install, isso sim me faz perder muito tempo…
Isso se chama costume, entendo isso. Assim como muitos não percebem o quanto o Java é burocrático pra comparar diretamente datas e números decimais com precisão, tendo que usar métodos ao invés de simples operadores como na maioria das linguagens.
Eu duvidei quando vc disse que “a maioria das linguagens consegue comparar datas só com operadores simples”, aí eu fui ver aqui, mas não sei se é bem assim.
De qualquer forma a API de datas é super robusta e permite fazer bem mais que só dizer se uma data é maior, menor ou igual a outra.
Vc consegue somar ou subtrair qualquer unidade de tempo, consegue converter as time zones, ela leva em consideração as diversas Locales, é incrivel!