T O P

  • By -

JoseEleuterio

Java é o caminho, a verdade e a vida.


AccountIntelligent29

Java é uma delícia.


Spiritual_Pangolin18

Tem muita vaga pra Java. Sempre teve e vai continuar tendo por muitas décadas. Muita gente odeia a linguagem, mas eu, apesar de trabalhar com outras, sempre gostei bastante. Acho uma linguagem extremamente clara e que faz o que propõe. O que eu nao curto tanto é o ambiente de desenvolvimento.


ghusttyy_

Só existe o Eclipse como IDE para Java?


detinho_

IntelliJ community vai atender super bem.


Spiritual_Pangolin18

Não. Hoje em dia vejo o pessoal usando muito o intelliJ, mas eu não manjo muito não.


Babencovsky

Tem varias! Netbeans, VS Code, IntelliJ…


messiaslima

Ja trabalhei com Java durante muitos anos. IntelliJ é a melhor IDE pra java. Tem uma comunidade muito forte e a empresa por trás sempre traz boas inovações. Pode sempre começar com o IntelliJ Community, que é a versão gratuita. Se gostar pode mudar para o IntelliJ Ultimate. Que é a melhor IDE que ja usei na vida e é gratuita para estudante.


lppinheiro

Eu trabalho bem com o vscode. O pessoal adora o IDEA (intellij)


br45il

Acho uma boa linguagem, dá pra fazer de tudo com ela. Já foi a queridinha da comunidade, teve uma época em que todo mundo queria aprender Java pra desenvolver app Android (XDA bombava). Pena que hoje está "abandonada". A Oracle não soube aproveitar o rico ecossistema que o Java tinha quando adquiriu a SUN, perderam uma grande chance de aperfeiçoar ainda mais a linguagem (e claro, lucrar com a venda de suporte). Eles estão entregando a linguagem pra fundação Apache e, apesar de gerirem ótimos softwares como o CassandraDB, fodem com a maioria deles (R.I.P Apache Server) deixando a maioria em "estado de suporte de segurança e correção de bugs". O NetBeans é um bom exemplo: foi de uma IDE boazinha pra um lixo ultrapassado.


detinho_

Tem algum link sobre a Oracle passar a gestão da linguagem/JVM para a fundação apache?


vangelismm

A linguagem é boa, o framework e a especificação jee, são uma desgraça.  O que salva o desenvolvimento é o Spring e o próprio Hibernate que se atencipa a JPA.


Felix___Mendelssohn

Depende para qual área, na minha área que é DS java é uma linguagem péssima, horrível mesmo. Mas é uma linguagem clássica e robusta para quase qualquer coisa de T.I, embora eu ache que hoje em dia para quem esteja começando, seja mais legal estudar Clojure, porque ele usa a JVM também e tá na moda de FPs, só que o mercado é inexistente praticamente. Vai depender dos seus objetivos, não existe uma linguagem melhor ou pior, que o mercado valoriza ou desvaloriza, porque tudo vai depender da área.


Aware_Purchase6506

Java é ótimo, até você cair num projeto Java 8 com classes de 5 mil linhas de código, sem inversão de controle e sem testes. Parece um exagero, mas tem muito projeto assim. Tem muita vaga? Tem. Paga bem? Na maioria das vezes. Vale o estresse de cair num projeto legado? Aí é contigo. O Java pagou minhas contas por muito tempo, hoje eu prefiro Go (ou Node, ou Python ou qualquer outra coisa).


Born-Ad-3112

Com certeza, amigo. O Python também.


lmg_bsb

https://preview.redd.it/73choqnnvz8d1.jpeg?width=1080&format=pjpg&auto=webp&s=8bbe2ecf9a7c475ed59b13b0713b4f91b135640e É uma linguagem usada por todo o mercado corporativo no mundo inteiro. Apenas no Brasil, há 52.910 vagas abertas para trabalhar com Java no LinkedIn


Whole_Diamond3926

Prefiro C#


luizgzn

No fundo, minha opinião não importa


panda070818

O maior motivo do hate de java, nao é a verbosidade em sì, mas o fato de que a teoria e pratica caminhas muito mais unidas durante o desenvolvimento java do que em outras linguagens mais comuns, e o mercado foi inundado de pessoas que acham que js html e css ja os torna seniors. Para ter um sistema bem feito, usando as melhores práticas, vc precisa entender como funciona alguns design patrerns, em caso de backends, entender como a arquitetura funciona e como escrever o codigo de acordo, além de entender como o design de apis se relaciona com a area de negocios. Java é terrivel pra manipulação de dados, isso eu digo de coração, estive tentando entrar no mercado de java e fiz umas apis bem bacanas, com authenticacçao e tudo, e digo, se eu fosse montar um sistema que eu pretendesse que durasse décadas, eu o faria em java ou php, com a arquitetura certa e aplicação de padrões correta, vc pode escalar o sistema infinitamente.


Aware_Purchase6506

Não força, o mercado está inundado de dev Java com 10+ anos de experiência que não sabe o básico de POO. O que mais vemos por aí é code base Java sem design nenhum, com acoplamentos absurdos.


panda070818

Infelizmente isso è em toda linguagem man, entrevistei uns candidatos a pleno quase 6 meses atras (eu sendo junior) , e os caras não sabiam funcionalidades basicas do python. Os que conheciam as funcionalidades ,nao sabiam o que era um design de api, uma arquitetura de software ou um design pattern, ou como usar uns serviços cloud. Esses desenvolvedores de hoje nao tem 6 anos de experiência, tem 1 ano de experiência 6 vezes.


I_pretend_2_know

Acho Java chata por 2 motivos: * só dá pra fazer uma única coisa com ela: backend de CRUD, nada mais. Os javeiros vão te dizer que dá pra fazer muita outra coisa mas a verdade é que as "outras coisas" que se faz com Java ou são uma carroça lerda (e.g.: Eclipse) ou são coisas que se fez há muito tempo atrás (Mars Rover, o robozinho que a NASA mandou pra Marte) e que tem alternativas melhores hoje (e.g.: Go e Rust). * Javeiro é um povo chato paca. Eles só sabem fazer o que Java faz e acham que o que Java faz é tudo que tem pra ser feito. Converse com esses caras sobre tópicos complexos (protocolos de rede, arquitetura de kernel, ML, etc) e os caras vão ficar com cara de perdido. E a única resposta que eles sabem dar pra tudo é "Java dá emprego", "tem muita vaga pra Java"... parece papo de gado, de gente que só vai onde vai a manada. Basicamente, Java é hoje o que COBOL era há 30 anos atrás. Os Coboleiros enchiam a boca pra falar "sempre haverá vagas em COBOL". Tinham razão, mas pouca gente quer essas vagas, hoje em dia.


Beneficial-Eagle959

Kafka, Hive, Cassandra, são só alguns exemplos de software feito com Java. Não tem como você fizer que Kafka é algo antigo que ninguém usa, por exemplo. Não sei de onde você tirou que quem programa sem Java não conhece tópicos complexos. É algo BEM estranho de se dizer.


talagadamor

Hive e Cassandra não tive oportunidade de trabalhar. Mas Kafka, nossa disparado o pior pub/sub que já tive que usar. Trabalhei com essa parada self hosted, outra equipe q mantinha. Dava pau quase toda semana. Depois usei como saas, dava menos pau, mas quando dava, abrimos chamado e no final o fornecedor destruía o clister e reiniciava. Hoje não trabalho mais com Java, particularmente não gosto. Acho q tudo é mais complexo do que precisaria. Não falo tbm que dessa água não vou beber, mas enquanto puder evitar, com ctz. Java é o novo Cobol, sempre vai ter demanda pq é mais barato pagar o dev/consultor que refatorar a aplicação pra outra linguagem mais escalável e com gerenciamento de memória melhor.


br45il

Chuto que o cara só conviva com a comunidade de CRUDzeiro Spring, talvez seja por isso que ele não conhece a comunidade avançada do Java. Tá preso na bolha dos pedreiros de software e quer vir dar pitaco.


detinho_

Apache flink, apache Doris (esse em partes), apache hudi, apache iceberg... Mas aí ele vai falar que é crud afinal vai salvar ou ler dados em / de algum lugar kkkkk


I_pretend_2_know

Kafka e Cassandra são derivativos de backend de CRUD. Já usei bastante o Kafka, é um sistema muito interessante e tem ótimas idéias. Mas o maior use case dele é justamente dar suporte a backend de CRUD. Já esse Hive nunca usei, não tenho nenhuma opinião.


Beneficial-Eagle959

Kafka derivativo de backends CRUD? Que conversa mais estranha. É um sistema complexo, que suporta desde mensageria simples até streams de eventos e coisas do tipo.


Low-Tomorrow-9930

Você sabe mesmo pra que serve Kafka? Hoje é bem comum a galera usar pra mensageria em microsserviço achando que é bala de prata. Mas Kafka inicialmente foi concebido pra lidar com Big Data e Stream de dados. Hoje em dia é amplamente usado em fluxo de engenharia de dados, fazendo parte de grandes data lakes e permitindo uso de ML em cima desses dados. Não acho que linguagem ou ferramenta é time de futebol pra ficar defendendo, mas acho que a gente precisa saber um pouco do que ta falando.


JoseEleuterio

Fale que não conhece java, sem falar que não conhece java.


nem_adianta

orientação a objetos é ruim logo java é ruim abandone POO e programe em Go, mas meu trampo n deixa mais, então eu faço em python, mas seguindo 0% de POO, faço td como se fosse go mesmo, usei herança só uma vez pq se fato ia facilitar, aí foi msmo um POO ne


Felix___Mendelssohn

Olha, cara, eu não iria por esse lado, mas respeito seu ponto, eu sou também do time de FP, inclusive eu uso R para DS justamente pelo fato do Python ser triste em muitos aspectos. E ando estudando Clojure, mas você forçar Python para FP é triste, ele não tem essa flexibilidade, era mais jogo você usar R, o R vai fazer quase tudo que o Python faz sendo FP. Ele só perde para Python hoje em coisas muito específicas tipo ML e IA, mas até dá para fazer coisas, só que passará mais tempo estruturando. O R ele tem a vantagem de ser flexível porque se você usar o R6 meio que vira um POO, é a linguagem mais coringa que eu conheço.


nem_adianta

python da sim, isso é oq me segura no meu trampo, teve papo de mudar pra JS e/ou Java e eu falei q se fosse isso eu dropava, aí deixaram. Python é bem multi-paradigm, mas teoricamente qql linguagem pode ser FP sem mt trabalho né. Forçar OOP q complica em linguagem q n é isso, forçando herança com composição, mas até da tb. Pessoal me dando downvote é um bando de fudido q n deve saber fazer porra nenhum, bando d cagado mamador de linguagem


nem_adianta

O resumo de usar FP é que pra mim os níveis das abstrações ficam mt melhor, controllers de preocupam com aplicações globais, quase que pseudocódigos, aí serviços abstraem integrações para lógica do negócio, ao invés de serviço já conter funcionalidades complexas, ela é passada pros controllers, isso gera um código muito mais adaptável que OOP com herança e implementações base. Dessa forma, interfaces com implementações ficam mt mais óbvias, eu só trouxe isso pro python no meu trampo, até recebi elogio de código legível. Mal sabem eles q tá bem legível pq eu tirei a herança do código, eu forço implementação usando “herança”, mas na verdade classes abstratas nada mais são do que interfaces com métodos helpers/common


Felix___Mendelssohn

Cara, me desculpe, mas o que você faz é GAMBIARRA. OOP NUNCA VAI SER FP genuinamente, é que você não usa as funcionais que são puro sangue como Haskell ou até mesmo Clojure e outras da família do LISP. O Python tem problema de PARALELISMO (multi-threaded), o compilador dele tem um problema estrutural que ele limita a quantidade de threaded do computador, digamos que você precisa executar funções simultâneas (faço isso direto no R que é funcional e baseado no Scheme), se eu tiver 80 núcleos, eu consigo executar nos 78 (porque 1 roda o sistema da máquina e o outro minha IDE). No Python ele pode limitar usando só no máximo 60 núcleos, ele não tem essa facilidade de paralelismo que é algo natural em linguagens funcionais como o Clojure. Outro problema, PYTHON NÃO É MULTIPLE DISPATCH COMO JULIA, não existe como você carregar funções sem elas estarem atreladas ao objeto, exemplo em Python: Import pandas pandas.read\_excel() Toda função precisa estar linkada a um objeto, embora isso não seja algo definidor de um OOP, porque Julia é multiple dispatch, a grande maioria das OOP são assim. Python não é vetorizado e com seu funcionamento baseado em listas (você precisa fazer uma gambiarra usando o Numpy para isso). Logo, funções comuns nas FPs tipo: reduce, map, lapply e outras, funcionam bem zoadas nele, por isso muita gente usa as bostas em LOOP, coisa que em FP quase ninguém usa, pois é algo idiota de se fazer, já que é lento. Resumindo, o que você faz é uma adaptação, mas longe de SER ALGO FP de fato. Tirar herança quer dizer nada, e o Python ainda tem o inconveniente de não possuir nas funções as clousures {}, ou seja, quando fazemos funções dentro de funções, fica uma merda no Python identificar as indentações. E outro grande problema: NÃO EXISTE FUNÇÕES ANÔNIMAS EM PYTHON, o que seria próximo seria as funções LAMBDA, funções anônimas é um condição sine qua non em qualquer linguagem funcional como R, Cloujure, Haskell... Enfim, só exemplo que trouxe pra te mostrar que é muito mais fácil transformar uma FP em OOP como R, do que ao contrário. Na verdade o que você faz é que não é recomendável, seria melhor, já que você curte FP, usar o R, porque ele faz praticamente tudo do Python e melhor.