Porquê odeiam o Java?

34 respostas Resolvido
R

Boa noite galera, seguinte, eu tava dando uma olhada na internet e o pessoal sempre tá falando mal do Java, como se fosse algo do século 10. Fiz umas pesquisas e sempre tem gente falando: “Nenhuma linguagem é melhor que a outra, existe uma que se adapta melhor para o seu objetivo”

Será que rola isso mesmo? Vejo uns caras aqui do GUJ, por exemplo, o Darlan, Staroski e outros caras que manjam pra caramba, dizem que não programam mais em java…

Afinal, Java é uma boa escolha?
(Eu particularmente amo o java)

34 Respostas

T
Solucao aceita

Linguagens são ferramentas. Amá-las ou odiá-las faz pouco sentido. Não seja fanático ao escolher uma linguagem e defendê-la como se fosse sua vida.

Você já tem boa parte da resposta para suas indagações:

“Nenhuma linguagem é melhor que a outra, existe uma que se adapta melhor para o seu objetivo”

Para as pessoas que “odeiam” o Java, você precisa entender qual o contexto do “ódio” delas. Talvez ainda carreguem a lembrança de tempos em que o Java era mais pesado e lento. Talvez digam isso porque “todo mundo diz”, e abraçam essa ideia só pra se sentirem parte do grupo “cool”. Talvez se incomodem com a lentidão da evolução da linguagem. Talvez não gostem da alta carga de OO que a linguagem impõe, e a verbosidade associada. Talvez tenham se deparado com alguma limitação crítica da linguagem que atrapalhou seus projetos (linguagens tem limitações! quem diria! que horror! :laughing:). Talvez… talvez… talvez…

Isso não diz nada sobre a linguagem. Diz apenas que, para o tipo de problemas que eles estão atuando, outras soluções se mostraram mais adequadas. Isso é um pensamento muito saudável.

Tão ruim quanto qualquer outra “mainstream”. :wink:

Não se apegue à linguagens. Aprenda-a porque é útil, mas esteja aberto pra mudar quando necessário.

Abraço.

D

Eu poderia citar várias e várias frases motivacionais para justificar essa relação com o java e outras linguagens, mas, prefiro ser realista: enquanto falam mal do java, eu ganho dinheiro com ele.

R

Rapaz, que resposta! Depois disso não sei nem o que responder… Mas obrigado, isso deu uma boa mudada na minha cabeça, eu estava começando a pensar que eu comecei aprender uma linguagem menos tudo, bem MENOS que as outras.

Muito obrigado mesmo! Foi de grande ajuda :grinning:

R

Hahahahahaha exato!!

D

Como o @TerraSkilll bem disse, linguagem é ferramenta.
É como IDE, cada um vai ter a sua preferida, mas, dependendo da necessidade, uma atende melhor que a outra (exemplo, trabalho com Java e SOA, algumas coisas de android e angular 2/4: dá pra fazer tudo no eclipse? Sim, mas é melhor manter cada coisa separada).
Agora, conceitos, boas práticas e etc são coisas obrigatórias.

R

Ahhhhh, então você programa em Java… Acho que confundi as pessoas que disseram que não usam mais Java.

Eu tenho muito a aprender em Java ainda, eu comecei a me dedicar muito pra a interface e acabei não me cobrando tanto em teoria, na escrita mesmo. Mas, não pode parar!

Valeu Darlan!

J

Java realmente é uma linguagem bem poluída, comparada a outras que trabalhei para os mesmos fins, como C#. Mas como Darlan falou, importante será sua fonte de renda, independente de qual tecnologia. E pro cliente, a atividade-fim do Negócio.

R

Cara, o que é uma linguagem poluída? Seria o “excesso” de códigos?

J

Exato, como já citaram da verbosidade.

D

O java tem seus defeitos.
C# e a plataforma .NET tem seus defeitos.
C e C++ tem seus defeitos.
Python tem seus defeitos.
Ruby tem seus defeitos.
PHP tem seus defeitos.
Javascript tem seus defeitos.
Delphi tem seus defeitos.
Cobol tem seus defeitos.
Lua tem seus defeitos.
Assembly tem seus defeitos.
SQL tem seus defeitos.
Pascal tem seus defeitos.
Fortran tem seus defeitos.
Clipper tem seus defeitos.
Visual foxpro tem seus defeitos.

E se eu quisesse prosseguir, poderia passar muito tempo listando linguagens que tem defeito.
Mas, pior que os problemas de cada linguagem, é que sempre tem um fanboy para dizer que “a linguagem xyz é a melhor de todas”.
Se você já viu a página do buguinho developer no face, sabe do que to falando.

Outro ponto a se observar é que só existem linguagens novas, frameworks novos e paradigmas novos por que as linguagens antigas, os frameworks antigos e os paradigmas antigos existiram com problemas.
Se não fosse a linguagem B, o C não existiria.
Se não fosse o C, C#, PHP e Java não existiriam.
Se não fosse a arquitetura monolítica, micro services não existiria.
Se não fosse o modelo cascata, ágil não existiria e assim por diante.

P

Você não disse qual seu objetivo.

Interessante. Porque alguém amaria Java hoje?

O que você pensa em criar com essa ferramenta hoje se nem Android usa Java mais.

O que tem em Java de interessante para programadores começando em 2018?

R

Ahhhhhh

R

Uma coisa liga a outra… Essa página eu nunca tinha visto pra ser sincero, achei meio ruinzinha mesmo kkkkkk.

Esse mundo de desenvolvedor é bem novo pra mim, sempre curti muito, mas tinha um certo medo, agora que to tentando mesmo. Mas valeu pelos esclarecimentos

R

Sobre o objetivo: nessa pergunta mesmo era saber qual o real objetivo dos ódios kkkkkkk.

Cara, sabe aquilo de primeiro amor? É tipo isso, eu não programava… Pra ser sincero, eu não sei pq decidi dar uma chance pra isso, mas rolou, e quando eu vi, eu tava curtindo.

Eu me considero iniciante ainda, tenho muito a aprender, não só em java mas em muita coisa, porém já fiz algumas aplicações desktop que estão bem fluidas, bem fácil de entender e manusear. Acho que esse sentimento de que eu consegui fazer e que eu entendo perfeitamente o que eu fiz, me fez gostar bastante… Não sei explicar exatamente.

Sobre a última questão, eu não sei! Kkkkkk, eu comecei com java, e pretendo começar uma outra linguagem quando estiver me sentindo bem seguro já, só pra não ficar uma coisa atropelando a outra, sabe?

P

Não me leve a mal mas… quem te disse que tá facil de entender e manusear? Quem te disse que a interface é fluida?

Foi alguém mais experiente em código e UX, ou é apenas sua opinião de iniciante?

Ok, mas você pode ter essa sensação com qualquer linguagem, não tem nada de especial com Java nesse quesito.

A minha pergunta foi mais no sentido de entender qual a motivação pra alguém querer aprender Java especificamente. Minha impressão é que a possibilidade de atuação para programador Java hoje em dia é mais limitado a manutenção de sistemas legado.

D

Estatísticas, números e elementos que apontem isso, @pfk66?

Quais os números de go ou .net ou da linguagem que você considera fluida e fácil de entender e manusear? Qual a faixa salarial?

P

Isso o que?

D

Isso.

W

Particularmente considero os frameworks e bibliotecas em Java (ou pra Java) bastante robustos e interessantes e a documentação é sempre muito bem produzida, coisa que não vejo em .NET, por exemplo.

Como plataforma, Java é grande e bem estabelecida e é uma fonte excelente de aprendizado.

Eu o amo por isso, embora considere C# uma linguagem bem melhor, mais moderna.

Usa sim.

P

Basta você procurar por vagas ofertadas por empresas não-anônimas.

Mobile:
Swift e Kotlin, java não tem mais relevância em mobile.

Web:
JS.

Back-end:
O que antes era dominado por Java, ultimamente tenho visto muita vaga pra Node.js, Go e .NET. Até Scala e Clojure que são linguagens que rodam na JVM, tenho visto muito pouco.

Obviamente é apenas minha impressão pessoal.

Você conhece alguma empresa “moderninha” que usa Java?

J

Raramente preciso consultar documentação para desenvolver em .NET. Mas o que por exemplo nao achou bem produzido? Lógico que pra explicar algo em Java equivalente ao que se produz em .NET exige muito mais páginas.

P

Existem varios motivos pra amar a plataforma Java. Mas acho que estamos falando especificamente da linguagem.

Da mesma forma que iOS ainda usa Objective-c?

Ok. Mas eu não diria pra alguém começando hoje que ela deve aprender Objective-c ou Java pra se tornar desenvolvedor mobile em iOS e Android.

Simplesmente não existe nenhuma garantia que esse conhecimento ainda vai ser util quando ela terminar os estudos.

São conhecimentos necessários apenas pra entender código legado e então migrar para Swift e Kotlin.

Mas novamente, é apenas minha opinião…

W

Os documentos do Java EE são em forma de especificação. Se vc for um estudante dedicado a mergulhar fundo na plataforma, terá ali dominio sobre cada detalhe da tecnologia.

Os documentos do Spring são em forma de referencia/manual, tudo muito completo, bem organizado e bem apresentado.

Já os documentos de ASP.NET são em forma de tutorial. Neste formato parece que vários detalhes ficam de fora, não me passam credibilidade apesar de estarem no site oficial e serem produzidos por pessoas competentes.

Mas essa é minha percepção olhando de fora. Me encanta as possiblidades que especificações, manuais e referencias oferecem, embora eu ainda seja um iniciante.

W

É, realmente, quando digo que amo, me refiro a plataforma como um todo. Como linguagem, mesmo me sentindo mais confortável com Java, prefiro C#.

Sobre o Android, ainda acho que é complicado indicar Kotlin de primeira. Tudo bem que não é garantido que o conhecimento adquiro na plataforma com Java será útil após o término do estudo, mas pelo menos o estudante terá a sua disposição muitas vagas de emprego em Java. Ou seja, maior reaproveitamento do conhecimento. Onde ele usaria Kotlin fora do contexto do Android, sabe? Sei que há vários frameworks pra essa linguagem, mas se formos falar de linguagens alternativas pra JVM (desconsirando o Android), há opções mais populares.

J

Existem os dois formatos, os tutoriais oficiais e por exemplo. .NET é tão bem difundido quanto Java, neste quesito nunca vi problema para usar ambas.

J

Se for por essa linha, sempre vai se limitar a algo que pode não ser o melhor para determinada finalidade. Eu usaria Kotlin para novas aplicações na plataforma Android, já que é oficial, tem apoio da comunidade, é muito mais limpo e produtivo de manter do que Java. Mas não me encorajaria usar caso tivesse trabalhando para plataforma Java Oracle, onde a comunidade carrega um vício muito grande.

R

No caso foram as pessoas que estão utilizando (pessoas que mal utilizam computador) e eu não digo que foi eu quem fez, digo que baixei da internet. Só pra ninguém ficar de baba ovação. Os testes em várias máquinas, boas e intermediárias, o programa se mostrou bem estável.

E não é pq eu me considero iniciante que eu não tenho noção do que seja bom ou ruim… Essa noção é um pouco básica do ser humano

R

Olha, no caso é assim: programação não tem nada de diferente de outros empregos, eu venho da publicidade, e é idêntico. Ao migrar pra uma nova ferramenta você fica feliz, ao aprender, dá uma sensação boa, ao entender e se achar “ok” no assunto, é uma sensação melhor ainda.

Eu sei que a sensação é igual em qualquer, e que se eu estudar outra vai ser idêntico, a única coisa é que eu não quero pular pra outra linguagem sem ter entendido bem a mesma, senão isso vai virar um mal costume e eu não vou aprender nada nunca…

Sobre eu “escolher” o Java em específico, na verdade eu não escolhi, por acaso eu me interessei no assunto, conheci o Java e estou estudando, e também, todo conhecimento é válido

S

Ué, quem disse que eu não programo mais em Java?
Aliás, ontem fez 16 anos que tô nessa vida… Kkkk

R

Vixi cara, eu acho que dei uma confundida nos nomes kkkkkkk

Eu li alguns caras falando que não estão mais no java e confundi as pessoas. Foi mal aí! Kkkkkk

E parabéns!!

A

Teve a manha!

B

Não fique apegado à linguagem, lembre-se cada uma tem seu forte, por exemplo… se você quer trabalhar com texto em voz, você pode utilizar o JAVA porém o trabalho vai ser bem maior do que com o C# pois a biblioteca do C# em relação à voz está bem mais aprimorada.
Se você gosta de JAVA porque aprender PHP se você pode utilizar JSP que é o JAVA Web? vai de ocasião e necessidade… disponibilidade… se você entrar em uma empresa e ela te exigir Delphi, você vai ter que programar em Delphi, lembre-se sempre, todas tem partes ruins, mas todas tem muitas partes boas, a maioria das linguagens estão bem evoluidas, até mesmo o Phyton que está na versão 3 é muito bom mesmo quando comparado ao Delphi que está na v 10.2

N

Essa pergunta foi feita há 2 anos, mas acho interessante citar alguns fatos recentes que podem responder ela, embora as estatisticas de mercado que vou mostrar são de 2019, já que 2020 ainda não acabou.

O site Code Platoon fez uma pesquisa com os indices da TIOBE e do StackOverflow, mesmo que não tenha o maior salário, Java é a linguagem que mais contrata!


Com 64 mil vagas! A frente de Python que possuia apenas 59 mil.

Outros sites listaram as vagas do site Indeed, que é o site de empregos de maior tráfego nos Estados Unidos.
O resultado foi semelhante, java com 65 mil vagas, ainda a frente de Python que dessa vez tinha 62 mil vagas.
Confira os resultados de dois deles:

Embora Python domine a área de ciência de dados, estruturas poderosas e amplamente utilizadas para processamento de dados em massa são escritas em Java, como Apache Apex, Apache Flink, Apache Hadoop, etc.
O Apache Beam que permite escrever pipelines para processamento de dados em escala, e está sendo amplamente adotado internamente pelo Google, é 73% Java, de acordo com o Github.

Como se não bastasse, a Amazon lançou recentemente, em 2019, uma nova biblioteca de Deep Learning, escrita em Java, a Deep Java Library.
Confira: https://aws.amazon.com/pt/about-aws/whats-new/2019/12/introducing-deep-java-library-develop-and-deploy-machine-learning-models-in-java/

Também veja este artigo sobre porque os cientistas de dados deveriam aprender Java:

Mas Java está perdendo mercado, sim é verdade, por exemplo na área de aplicativos mobile e desktop, mas ele tem um futuro brilhante na nuvem!
Um poderosíssimo framework chamado Quarkus foi criado pela Red Hat, e lançado em 2019, especificamente para o Kubernetes e o ambiente da nuvem, rápido e leve, ele é ótimo para microserviços.
Inclusive a Red Hat agora está patrocinando um canal do Youtube, chamado Código Fonte TV, e eles lançaram um video mostrando como criar um projeto com Quarkus, Kurbenetes e Docker, e completamente Cloud Native!

Site do Quarkus: https://quarkus.io/

Apesar do crescimento de outras linguagens, Java continua sendo o queridinho de muitas empresas, como Amazon, Red Hat, IBM, Netflix, e até do Google, que embora tenha o substituido pelo Kotlin no Android, tem a maior parte de seus produtos internos desonvolvidos em Java, não só no Backend, mas também no Front, o Google criou a partir do obsoleto projeto GWT (Google Web Toolkit), uma nova ferramente, o J2CL, um transpilador Java para Javascript, que permite criar projetos Java e Javascript, na proporção que você preferir!
Esse projeto é utilizado pelos aplicativos GSuite mais avançados desenvolvidos pelo Google, incluindo Gmail, Inbox, Documentos, Apresentações e Calendário. Essa informação veio da própria Google, como você pode checar no repositório oficial desse projeto do Google no Github:

Se você não estiver preso no Java 8, se pelo menos acompanhou as novidades do Java 14, sabe que atualmente ele é uma linguagem moderna, e se tornou muito menos verboso do que já foi, é dominante nas grandes empresas e tem futuro garantido! Então, na minha opnião, vale muito a pena aprender Java!

J

Mesmo em Desktop ainda tem muita coisa feita em Swing e com todas as novidades do JavaFX 14 e tão em breve o 15, Java tem folego pra uma nova arrancada.

Se perdeu um pouco de espaço para mobile, em J2me continua forte em micros dispositivos, que não tem o alarde dos apps mobile, mas tá dentro.

Java tem se reinventado sem perder a portabilidade, compatibilidade e segurança.

No fundo, no fundo a Google morre de inveja do Java e gostariam que o Java fosse deles, porque depois de tanta briga com a Oracle por ter burlado a licença Java e usando como ainda usam o Java, é de espantar qualquer programador.

Criado 5 de junho de 2018
Ultima resposta 3 de jul. de 2020
Respostas 34
Participantes 11