Por que no Java é necessário especificar o tipo de variável?

O problema que na hora do vamos ver, somente isso nem sempre basta e nem faz tanta diferença assim.
d.compareTo(d2) >= 0 // aproveita e conta quantas letrinhas a mais foram usadas na digitação e não esqueça de antes deitar no divã do seu psicologo ou psiquiatra.

Independente do que outras linguagens fazem, isso é consequência de terem decidido não adicionar sobrecarga de operadores no Java, então a culpa é do James Gosling:

I left out operator overloading as a fairly personal choice because I had seen too many people abuse it in C++.

Ou seja: “Deixei de fora a sobrecarga de operadores como uma escolha bem pessoal, porque já vi muita gente abusar deste recurso em C++”.


E como tudo em computação, isso não é necessariamente “bom” ou “ruim”, é simplesmente algo que tem os seus prós e contras (ver também aqui).

E eu não acho que isso é o fator mais determinante para o sucesso de uma linguagem ou de qualquer projeto que a utilize. Uma equipe mal preparada, por exemplo, fará um sistema ruim independente da linguagem. Uma empresa com má gestão, burocracia e sem diretrizes definidas sempre perderá tempo e dinheiro, e não é a escolha da linguagem de programação que a salvará…

Até porque, se formos cínicos/ranzinzas o suficiente, todas as linguagens serão ruins.

1 curtida

d >= d2 é bem mais simples, apenas fatos.

Talvez pra sua cabeça
d.compareTo(d2) >= 0
seja um bicho de 7 cabeças, verdade, voce tem que ficar longe mesmo do Java, sua mente não suporta.

Não é um bicho de 7 cabeças, mas é mais burocrático do que usar o operador da linguagem.

E assim
d.ge(d2)
Continua burocratico ?
basta fazer a Classe com o metodo, já sei, tem que escrever, e escrever dá trabalho ne’!
Mas veja as vantagens, dá pra colocar uma serie de outros controles para uso de Datas.

Sim continua usando método, a diferença que agora ficou ilegível.

E agora preguicinha ?
d.greaterOrEqual(d2) // Tá legivel ?

Dá no mesmo, chamando método pra fazer uma simples comparação.

Não sei que IDE voce usa, mas pelo visto tá programando na mão num editorzinho de texto e ainda se diz da nova era dos programadores, faça-me rir.

Aqui no NetBeans somente chamo o nome da variavel e aparece uma lista com todos os metodos, seleciono dou um enter e pronto, pimba, opa ! nem precisei digitar, caracas !!

E o caboclo contando letrinha.

É muito mais ágil usar operador da linguagem do que gastar tempo selecionado método pra determinada operação. Fora a poluição que fica no Java com tantas chamadas de métodos para fazer operações simples.

Se tá mau mesmo heim, gastar tempo digitando o ponto decimal depois da variavel ou colocando o apenas a primeira letra do metodo, caramba !!!, pensei que gastar tempo fosse ter que ficar com um facao cortando cana o dia inteiro no sol e na chuva pra ganhar 1 salario minimo, ou na fila do postão esperando pelo remedio e na hora do atendimento a atendente diz, não tem esse remedio.

Você coa mosquito e engole camelo.

Esse tempo e poluição multiplicados pela quantidade de comparações feitas no sistema. Nas linguagens mais evoluídas basta usar o operador da linguagem para esses casos mais corriqueiros.

Essa foi ridícula.
Tô mais é preocupado com qualidade de software, segurança, manutençao, numero de apis e ferramentas disponíveis e não com letrinhas.

De vez em quando a dona fifi ataca, alias de vez e sempre.

O mais importante é ganhar dinheiro rápido.

Fico imaginando do que voce vive.
Sei bem que vender droga dá dinheiro.

Ok, obrigado pela ajuda de todos, entendi agora

1 curtida

Desculpa poluir seu tópico com coisas que não tem nada a ver.
Se algum moderador desejar apagar minhas postagens e meus excessos fica a vontade.