Executando verificação de segurança...
0

JAVA: por que tão zuado?

Ganhei uma bolsa de estudos do bootcamp da DIO e escolhi back-end com JAVA, sempre via memes sobre essa línguagem mas nunca entendi muito bem o pq disso.

Aproveitando queria perguntar o que vcs acham da líguagem .

Carregando publicação patrocinada...
4

Bem, memes são piadas e/ou críticas. Alguns têm fundamento, outros exageram (que é uma característica típica de uma boa piada) e outros são apenas críticas vazias, com informações falsas ou fruto da ignorância. Sem saber de quais vc está falando, não tem como avaliar.

De qualquer forma, para uma avaliação séria, memes não são a melhor ferramenta. Se fossem, então todas as linguagens seriam consideradas ruins.

Java, assim como qualquer outra linguagem, tem prós e contras. É uma linguagem "velha" e sempre prezou pela retrocompatibilidade - na minha opinião, muitas vezes exagerada - o que faz com que certas decisões tomadas no início não possam ser corrigidas, ou adaptadas para incluir novas features (generics "pela metade" é um bom exemplo).

Mas isso não torna tudo ruim. Embora não seja a linguagem da moda, ainda é muito usada e uma ótima opção para vários tipos de aplicações.

Esqueça os memes e aproveite bem o curso :-)

2

Eu acho ótima:

  • Ecossistema gigante, com soluções maduras.
  • Performance excelente para o tipo de trabalho que faço: serviços backend, tanto web quanto para processamento em batch
  • JVM: obra de arte da engenharia de software e em constante evolução
  • boas primitivas de concorrência. Nao é um Rust da vida obviamente. Pode melhorar muito aqui, o que vem sendo tratado em JEPs recentes.
  • Use o GC por padrão, mas se precisar de performance extrema pode usar memória off heap (ver Cassandra, ver chronicle)
  • Falando em GC, uma variedade de opções para usos extremos ou específicos, mas com defaults tão bons que raramente temos que fazer mais do que setar maximo e mínimo de memória.
  • Se você pode usar as versões mais novas tem muitos novos recursos interessantes como var, switch expressions, etc. Porém Kotlin ainda amassa nessa área.
  • grandes players com interesse na línguagem e ecossistema. grande parte do desenvolvimento ainda é patrocinado pela oracle, mas em um eventual desastre, dificilmente a linguagem ficaria órfã. tem muita grana na mesa.
  • Pool de talentos gigante

enfim, um vasto repertório de recursos. e ai o dev olha e diz: nossa que linguagem zuada. quando é meme eu acho engraçado, de verdade. quando é sério só acho imaturo.

1

Acredito que as tecnologias que sobrevivem ao tempo inevitavelmente se transformam em legado. E como tradicionalmente nós não pagamos no tal do débito técnico, esse software vira um asco para se manter.

Junta isso com os cursos/professores desatualizados que ensinam Java 8 até hoje... temos aí um ciclo vicioso perfeito:

karma

1

Java é a linguagem que as pessoas geralmente aprendem primeiro na universidade ou curso técnico... Acho que é apenas uma espécie de trauma coletivo kk

1

haha, adoro as piadas com java, e gosto muito, hoje atuo mais com js, mas foi minha primeira linguagem então, apesar de zuar eu a amo, é uma espécie de carinho, e quem realmente não gosta, não conheçe de verdade.

1

Em Java você já cai de cara em programação orientada a objetos que é algo bem complexo

  • objeto
  • polimorfismo
  • herança
  • classe
  • classe abstrata
  • método
  • método estático
  • sobrecarga de método
  • sobreposição de método
  • encapsulamento
  • interface
    Linguagens orientadas a objetos tem o foco em reutilização.
    É para projetos grandes.
    Em Java, não dá para chutar código ou tentar fazer as coisa fuçando, você tem que estudar pra valer, você tem que saber o que está fazendo.
    Orientação a objetos é uma evolução da linguagem estruturada.
    Então tem que pegar professores ou mentores muito bons para já ensinar algo tão sofisticado para pessoas que não passaram sequer por uma linguagem estruturada ainda.
    A maioria desiste, largou Java ou não se atualizou.
    Bjarne Stroustrup criador da linguagem C++, disse
    "Existem apenas dois tipos de linguagens: Aquelas que as pessoas reclamam de usar, e aquelas que as pessoas não usam."
1

Eu sempre gostei de linguagens tipadas e, para mim, isso ajuda muito a identificar o que tem alí no código, mesmo ele sendo uma completa gambiarra. Muitos reclamam da verbosidade, aprendendo uma IDE vc sempre vai achar atalhos pra ajudar um pouco nessa parte, e com a biblioteca lombok melhorou muito a questão dos POJO's. Java + Spring Boot foi, para mim, a forma mais fácil de criar uma simples rest api, e depois ir evoluindo a mesma ao passo que vc vai aprendendo como o Spring Framework funciona. Acredito que se criou muito um ranço por causa do Java Swing (desktop) e do JSF (a parte web/view) mas, ignorando esses e ficando apenas com a parte backend, o java atende muito bem.

Aqui um pequeno depoimento meu usando java.

1

Opinião de quem entrou no mercado 4 anos atrás: não sei se Java é o futuro, mas com certeza não morreu e pode ser usada para resolver muitos problemas.

Java tem algo que poucas linguagens tem hoje: tempo, comunidade vasta e conteúdo.

Java tem crescido muito nos últimos anos, o problema ao meu ver foi ele ter ficado parado por muito tempo enquanto outras linguagens cresciam e tomavam espaço no mercado.

Melhor ainda, tem muita vaga disponível para Java mas, em contrapartida, a concorrência por vagas também é grande.

Tem muito software antigo e legado precisando de manutenção e evoluções por aí em que a base é em Java. Muita gente reclama de atuar em legado, eu penso que é uma ótima oportunidade de ter acesso aos códigos legados, entender como funcionam e como melhorar eles. É um nicho.

Memes são formas de arte modernas em que o objetivo geralmente é a graça ou depreciar/elevar algo, não devem ser levados em consideração para decisões importantes.

1

Cara, isso é absolutamente normal. Como Java está em evidência a anos, é lógico que ela será mais falada, mas existem zoeiras com outras linguagens também, por exemplo:

Python: Coisa de criança; Python nem é linguagem é low-code. Desenvolver em Python é fácil etc.

C#: Microsoft copiando a Oracle (Pois C# é muito similar a Java). C# = orifício do ânus kkk(o lombinho kkkkkk).

Java: Lento, parece uma carroça, parece que estamos escrevendo um livro.

PHP: A galera fala sobre a falta de segurança por conta de algumas bibliotecas. Por ter muitas gambiarras etc.

JavaScript: "Nem é linguagem de programação". TypeScript que é linguagem de verdade, bla bla bla.

Cobol: Coisa de velho, só os dinossauros que desenvolvem nessa linguagem.
etc etc etc.

Enfim, são muitas razões, você não deve levar tudo ao pé da letra. Até porque a maioria das linguagens tem uma excelente documentação e que é lá que você vai encontrar soluções boas e performáticas, as melhores práticas e bons padrões de projetos, e as MELHORES maneiras para você desenvolver seu software. Então antes de desistir ou escolher uma linguagem só porque X ou Y tá falando, eu sugiro fortemente dar uma pesquisada para saber o que REALMENTE essa linguage é capaz de fazer, e se isto faz sentido pra você. Blz?

Espero ter ajudado. Bons estudos e abraço !!!

1
1

Ai sim meu jovem, eu tambem estou com essa bolsa no boot da dio, comecei os estudos essa semana e ainda vou ver como essa linguagem se comporta, espero conseguir evoluir com fluides. Boa Sorte para nós hehehee valeu.

1

Java 21 com spring boot, Jpa Repository, http interface, Pattern Matching for switch é uma combinação perfeita! É só saber usar o java que se torna mais fácil que o proprio java script (experiência própria). Se fosse para escolher entre node e java eu escolheria java.

1

Java paga as contas. Muitas gigantes utilizam e vão continuar utilizando. Problema que muitos desenvolvedores só querem seguir a modinha do JS e não se esforçando pada pegar a base necessária de OO.

1

A linguagem é apenas uma ferramenta. Não importa muito qual você escolha.

Você deve estimular sua habilidade em resolver problemas.

Um livro não faz sucesso pela linguagem no qual ele foi escrito, e sim pela história contida nele.

1

Opaaaa, tudo bom meu amigo, eu também estou fazendo bootcamp, java é o seguinte, a maioria do pessoal que faz piada são os mesmo que descobriu a programação com cursos "faça 10k por mes com apenas 6 meses de cursos" estava tendo um debate com os colegas da faculdade em relação a isso, de 2019 para tivemos a pandemia e junto com a pandemia teve um BOOMMM na bolha da programação, pode ver que é a epoca que mais apareceu cursinhos de programação, onde, a maioria desses cursos é baseado no python, não que a linguagem python é ruim, pelo ao contrário, ela é boa, porem, facil de enteder, digo isso pq você nao precisa necessariamente saber os fundamentos da programação, basta ir la e colocar ptint("ola mundo") coisa que é diferente no java, com esse bommmm de cursinhos as pessoas (devs de cursinho) não aprenderam fundamentos, não sabe os fundamentos, tais fundamentos que cursinhos não mostram, simplesmente vão la, faz o codigo e fala por que aquele codigo funciona.
Nisso, quem tenta migra do print("ola mundo");para System.out.println("ola mundo"); se assusta e ja acha uma barreira. Digo isso por que no começo foi exatamente assim comigo, antes da matéria algoritmos e logica de programação na faculdade eu tentei estudar java e foi um fracasso, porem, depois de ter finalizado essa matéria voltei a tentar novamente, e cara, foi outra coisa, esta tudo mais simples de compreender, tudo "simples"....
Claro, java tem suas peculiaridades porem, todas linguagens tem

Aos devs mais experientes, se falei bobeira desculpa, ainda vou ser tão bom quanto vcs :)