Skip to content

Instantly share code, notes, and snippets.

@mtbarr
Last active April 24, 2025 07:27
Show Gist options
  • Select an option

  • Save mtbarr/fd58ff41c7e439ce6da90966dd10f6fc to your computer and use it in GitHub Desktop.

Select an option

Save mtbarr/fd58ff41c7e439ce6da90966dd10f6fc to your computer and use it in GitHub Desktop.

Javismo Cultural: Quando a Herança Pesa Mais que a Linguagem

Esses dias estava ouvindo o podcast Papinho Tech e, em um dado momento, o convidado — um dev bem conhecido da comunidade Java — soltou uma fala que me fez parar pra pensar:

“Me perguntaram se eu entendia do Garbage Collector do Java. Eu falei: pra quê? Ele é automático, já limpa a memória sozinho.”

Achei engraçado na hora, mas depois fiquei refletindo sobre o que essa frase realmente significa. Não é sobre a resposta em si, mas sobre como ela reflete um pensamento que ainda está muito presente em parte da comunidade Java.

Tem uma galera que parece acreditar que, no Java, “tudo é resolvido pela JVM”. A abstração de tudo, a confiança na magia por trás da linguagem, o uso de frameworks que nunca se questiona... Essa mentalidade, por mais prática que tenha sido no passado, acabou criando uma espécie de Javismo Cultural — uma forma de pensar que, muitas vezes, complica mais do que resolve.

O Java mudou, mas e a comunidade?

O Java, como linguagem, deu vários passos pra frente nos últimos anos. Quem acompanha de perto sabe que a equipe por trás da linguagem tem trabalhado duro pra modernizar o que parecia engessado. Estamos vendo records, pattern matching, virtual threads com o Project Loom, entre outras melhorias. A linguagem está mais simples, mais enxuta. Mas, ao mesmo tempo, tem uma parte da comunidade que ainda segue com aquele jeitão antigo de programar.

Um exemplo simples: você já usou record no Java 14 ou superior? Olha como é simples:

record User(String name, int age) {}

Em vez de escrever aquele monte de código com getters, setters e outros métodos repetitivos, você já tem tudo isso no formato simples de um record. Menos código, mais clareza.

Outro exemplo, com pattern matching:

if (obj instanceof String s) {
    System.out.println(s.toLowerCase());
}

Nada de fazer cast manual, nada de criar condições complexas. É direto ao ponto. O Java moderno está bem mais fácil de usar — mas nem todo mundo ainda percebe isso.

O legado que pesa

Acontece que, por muito tempo, o Java foi a linguagem do mercado corporativo. E, com isso, veio uma cultura de “mais é mais”. Mais camadas, mais abstrações, mais ferramentas. Só que, com o tempo, algumas dessas soluções se tornaram tão pesadas e complicadas que acabaram virando um peso.

E o pior é que isso se perpetua. O dev mais experiente acaba ensinando novos devs a seguir os mesmos padrões, mesmo que hoje em dia não faça mais tanto sentido. O que acontece? Novos projetos se tornam reféns de frameworks pesados, design patterns que são mais ornamentais do que úteis, e uma complexidade que, muitas vezes, não existe.

O que a galera nova está vendo

Pra quem está chegando agora no mercado, ou para quem já tem experiência em outras linguagens, o Java muitas vezes parece mais complexo do que realmente é. A mentalidade de que “tudo precisa ser complexo” acaba afastando os devs que buscam algo mais direto, como Go, Rust ou até JavaScript moderno.

Mas, no fundo, o problema não é o Java. O problema é como a gente usa ele, como a gente pensa no código. O que falta é a mudança de mentalidade. Em vez de aplicar soluções antigas a problemas modernos, por que não aproveitar as novidades que a linguagem já oferece?

Vale a pena refletir

A ideia aqui não é dar lição de moral, nem achar que Java está ultrapassado. Longe disso. A questão é que a linguagem evoluiu, mas a forma como muitas pessoas ainda programam nela ficou presa no tempo. O que temos que fazer é aprender a adaptar a cultura junto com a tecnologia. Questionar os padrões, repensar as práticas e, acima de tudo, não se prender a um legado que já não faz mais sentido.

Java tem muito a oferecer, mas para aproveitar o melhor dele, é preciso deixar para trás um pouco dessa bagagem cultural pesada. É hora de repensar, não só o código, mas também a mentalidade.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment