Por que ninguém quer aprender Java em 2022?
Java tem seus fãs, mas também seus críticos. Aqui estão alguns dos motivos pelos quais cada vez mais desenvolvedores podem estar evitando a linguagem.
Java é uma linguagem de programação e plataforma de software orientada a objetos amplamente utilizada. Ele é executado em bilhões de dispositivos, incluindo notebooks, dispositivos móveis, consoles de jogos e muitos outros.
Ter tais capacidades tem um preço. Java pode ser difícil de aprender, com uma sintaxe longa e complicada. É digitado estaticamente, o que pode ser menos conveniente. E embora seja independente de plataforma, a ascensão da plataforma de computação em nuvem torna a independência menos vantajosa.
Estas são apenas algumas das razões pelas quais o Java pode estar caindo em desuso.
1. Java está se tornando menos popular
Em primeiro lugar, a popularidade do Java parece estar perdendo lentamente. Durante anos, foi uma das melhores linguagens de programação para aprender, mas agora não é mais uma tendência. Isso significa que, com o tempo, os desenvolvedores escreverão cada vez menos novas aplicações em Java.
Esta tendência implica que o Java acabará por desaparecer. Empresas em todo o mundo continuarão a contratar programadores Java para manter bases de código legadas, mas isso não durará para sempre.
Ainda assim, se você deseja focar sua carreira na construção de coisas novas, em vez de na manutenção de programas existentes, Java pode não ser a melhor escolha para você.
Python
1
C
2
JavaScipt
3
C++
4
-
C#
5
Visual Basic
6
Java
7
Assembly Language
8
SQL
9
-
PHP
10
2. Java não é simples
Java pode ser fácil de aprender, mas não é simples. A linguagem é fácil de aprender porque o código Java é simples de escrever, organizar e compilar. Mas não é simples porque o código escrito em Java tende a ser mais detalhado e mais tedioso de escrever.
Você também precisa compilá-lo, o que torna o Java muito menos conveniente do que linguagens como Python. Portanto, se você é um novato aprendendo a programar pela primeira vez, Java não é uma boa linguagem para começar.
Se você é um profissional que deseja produzir código simples e elegante e implantá-lo rapidamente, Java também não é a escolha ideal.
3. Getters e Setters
Getters e setters são quase uma parte obrigatória do uso de uma linguagem e muitos frameworks incentivam seu uso. No entanto, os getters e setters do Java podem ser desnecessariamente detalhados.
Gerenciar código decorado com getters e setters Java é um inferno e complicado. A falta de uma solução significativa para o problema dos getters e setters é apenas a ponta do iceberg.
public class Vehicle {
private String color;
// Getter
public String getColor() {
return color;
}
// Setter
public void setColor(String c) {
this.color = c;
}
}
4. Sem cobertura sintática
Você está operando em uma coleção. Você quer o primeiro item. O que você está fazendo? Claro, você chama o método em vez de usar o operador [] comum. Tudo porque você não pode sobrecarregar os operadores.
Para praticamente todas as operações, você deve usar um nome de método prolixo, mesmo que um operador de um único caractere sirva.
Java suporta o conceito; a linguagem permite concatenar strings com o operador +, por exemplo. Simplesmente não permite que você, o programador, faça o mesmo.
5. Declarando as exceções que um método pode lançar
Java exige que você declare as exceções que um método pode lançar. Parece útil, não é? Ao usar um determinado método, você sabe o que esperar.
O problema é que o código é um organismo vivo, e acontece que o método que você está usando começa a lançar mais exceções. O que acontecerá então? Bem, seu código parou de ser compilado.
Você deve lidar com a situação ou adicionar uma exceção à lista de lançamentos. Vamos supor que a API que você está usando não mude. Existe algo como RuntimeException em Java. Se o seu método puder lançar esta exceção ou um de seus descendentes, você precisará declará-lo.
As exceções do Java podem trazer muitos problemas de manutenção de código.
// Java program that demonstrates the use of throw
class ThrowExcep
{
static void fun()
{
try
{
throw new NullPointerException("demo");
}
catch (NullPointerException e)
{
System.out.println("Caught inside fun().");
throw e; // rethrowing the exception
}
}
public static void main(String args[])
{
try
{
fun();
}
catch (NullPointerException e)
{
System.out.println("Caught in main.");
}
}
}
6. IDEs complicados
Os programadores Java costumam usar um IDE como Eclipse ou IntelliJ. Esses IDEs são poderosos, mas complexos de interagir, especialmente para um desenvolvedor iniciante ou intermediário. Você precisará se esforçar muito para aprender seu IDE por dentro e por fora para que ele seja mais produtivo e menos doloroso para você.
7. A independência da plataforma é menos importante em 2022
O fato de Java ser muito independente de plataforma provavelmente importa menos hoje do que há 10 ou 20 anos.
A razão é que vivemos em um mundo definido por software. Hoje, máquinas virtuais, contêineres e serviços em nuvem facilitam a execução de um aplicativo onde você quiser, sem se preocupar com o ambiente subjacente.
Em outras palavras, você não precisa alterar seu código para fazer seu aplicativo funcionar onde você precisa. Você pode alterar o ambiente de hospedagem.
Isso não quer dizer que a portabilidade de aplicativos não importe mais. Simplesmente não é tão crítico como costumava ser, e isso torna o Java um pouco menos importante por extensão.
8. Digitação estática
Java realiza verificação de tipo durante o tempo de compilação. Isso significa que você deve declarar o tipo de cada variável em tempo de compilação. O mesmo acontece com linguagens como C e C++, mas outras linguagens, como Scala e Haskell, oferecem alguma forma de inferência de tipos.
Com a digitação estática, as variáveis geralmente não têm permissão para alterar os tipos. Isso torna a sintaxe Java um pouco complicada, especialmente ao escrever código para um grande projeto.
Muitos programadores preferem programação dinâmica onde a verificação de tipo ocorre em tempo de execução. Isso significa que o tipo de uma variável pode mudar ao longo de sua vida.
Aprenda novas linguagens de programação
Não é que Java não sirva para nada, mas sua sintaxe é desajeitada e não favorece a leitura de código. O gerenciamento de dependências do Java permite abusos e leva a bugs difíceis de detectar.
A tecnologia continua mudando e, como desenvolvedor, é sempre útil estar atualizado com as linguagens de programação emergentes. O que está na moda hoje pode em breve ser notícia de ontem.