Alguns comentários já explicaram um pouco o fato do Java ter como paradigma a orientação a objetos, mas deixa eu falar outra verdade: Java é verboso porque PRECISA ser verboso. O mesmo comando System.out.println() que roda no teu desktop vai rodar em um relógio, no painel de um carro, na sua geladeira, etc. Isso porque, em ambos os casos, você quer que em um System (independente de qual seja) seja feito um output a partir do método println(). Sem contar que, hoje em dia, digitar não é um problema graças as IDEs. Então em vez de reclamar de sintaxe, procurem entender como a linguagem funciona. Sintaxe não deve ser problema para nenhum programador, o que importa é a lógica!
Nao. Portabilidade e POO não justificam a verbosidade do Java, temos linguagens que tambem usam a JVM e suportam POO e sao bem cleanzinhas como Kotlin, e pensando só em POO temos exemplos como Ruby. Java é verboso pq fizeram assim, provavelmente a idade dela influenciou também, e provavelmente é complicado implementar coisas de linguagens mais novas q tiram a verbosidade, mas tentam algumas coisas vez ou outra
@@renatomoreira8587 Seu comentário não faz sentido algum! Portabilidade e POO explicam sim o fato do Java ser verboso. E, ultimamente, as novas versões do Java tem contribuído cada vez mais com a simplificação da linguagem. Só quem já trabalhou a partir do Java 11 em diante entende o que estou falando.
Meu mano, se portabilidade fosse o problema outras linguagens que são utilizadas em diversos apps e programas de diferentes computadores por aí não funcionariam, portabilidade não é desculpa porque depois do código escrito ele é traduzido para a linguagem de máquina. Poderia muito bem ter apenas Println em Java. Sobre ser POO, isso pode ser justificativa, uma vez que na época que foi criado o Java tinha-se essa mentalidade de tratar tudo como OO e por essa mentalidade faz sentido ou System.out.println(). Coisa que acabou sendo abandonada por outras linguagens que mesmo implementando POO hoje em dia, preferiram uma sintaxe mais clean e mais simples como Ruby, Kotlin e afins.
@@renatomoreira8587meu amigo... Kotlin é Java... A questão de portabilidade e POO é relativa mesmo depende do sistema embarcado ou desktop. O Java é uma linguagem antiga e verbosa, mas continua sendo melhor que muitas por aí. Lógico que o programador necessita de mto mais experiência e conhecimento para trabalhar com Java, por isso os programadores de hj só querem saber de python e JS. E eu falo isso pq eu trabalho com todas essas linguagens com inteligência artificial. A facilidade do python é que vc trabalha com frameworks prontas, já em Java, em sua grade maioria, você tem que programar tudo na mão. Digamos um jogo, vc tem que programar toda engine do game, depois aí sim começar a programar o jogo, já em python vc tem a comodidade de se utilizar de frameworks como o pygame, que já está pronto para ser utilizado. Mas agora vem uma questão. Vc criou um jogo dentro do Linux todo em python. E você quer que este jogo rode dentro do painel do seu Compass. Como vc portaria esse jogo em python para dentro do sistema do carro? É aí que mora o problema de se utilizar linguagens com baixo nível de portabilidade. Python requer que você programe especificamente para o hardware e sistema em questão. Já em Java vc instala a JVM e o mesmo código do jogo q vc criou em Java, ele roda em qualquer JVM. E a questão de POO hj em dia sinceramente concordo que são poucas as linguagens que tem e são funcionais.
o cara lanca uma funcao pra printar hello word, e compara uma FUNCAO com um PRINT, obviamente java é mais verboso, mas vc forçou pra parecer que a linguagem era mais dificil, perdeu o merito da razao.
Exato, e se tirar a declaração da classe ali no topo também fica com menos código. E tem várias outras linguagens de programação(principalmente no desenvolvimento de jogos)que também precisam de classes.
Cara, eu só digito main e sout e ele automaticamente escreve tudo isso pra mim. Verbosidade do java nunca foi um problema pra ninguém que programa na linguagem. Pessoal das linguagens de script que querem construir essa imagem sem nunca ter usado a linguagem
Na verdade pra imprimir algo na tela em Java é somente System.out.print("Hello World!") No video o cara cria um método nada ve só pra imprimir algo na tela, é igual vc criar uma função em Javascript só pra imprimir algo, o código obviamente vai ficar maior
Mano eu te confirmo que isso é verdade, aprendi java no meu curso técnico ano passado(FOI BEM DIFICIL), mas hoje na minha graduação to aprendendo python e ta bem suave
@@bielcampopianopior que python no geral é suave, to indo para essa área, tô fazendo um curso de django agora para aplicações web com python, mas sinto que se quiser mudar de linguagem, não vai ser tão difícil, pois com python já aprendi a lógica de programação, mas meu objetivo é continuar no python, talvez aprender um Java para abrir mais possibilidades, JS não vale a pena para mim, pq consigo fazer coisas iguais com o django, as vezes até melhores, utilizando python
A galera escreve uma pa de codigo atoa pra mostra que java é dificil e nao sei oq Class main { Public static void main(String args[]){ System.out.println(“hello world”) } } 5 linhas, simplesmente porque java é orientado a objetos então você precisa de uma classe e um metodo main pra saber oq vai rodar, o sout é apenas pra dizer que dentro do objeto system voce que ele faça um output usando o metodo println. Eu sei que o video é de piada e tudo mais, mas java nao é tao dificil assim, apenas te faz escrever direito. Te garanto que tu vai preferir mil vezes trampar em um projeto grande feito em java do que um feito em js ou python
o main é normal, tem em tudo em quase o mesmo nivel. A questao ta principalmente nessa sintaxe doente de System.out.println. Ninguem reclama do main, esse main ai é entendivel e normal pra qualquer um que programa alguma linguaguem tipada orientada a objeto
@@alexs2195o Java incentiva você a programar seguindo alguns padrões, um deles é não printar nada diretamente no console sem antes faz um tratamento adequado, normalmente usamos a biblioteca Log4j, que quando usada torna o log muito mais simples onde invés de System.out.println você utiliza log.erro ou log.info ou log.warn depende do nível e tipo do log que está usando Um dos motivos da linguagem não simplificar o print no console é por que isso é uma má pratica na linguagem.
@@alexs2195 pq isso é um problema? Dentro do system tem outros objetos que fazem outras coisas, e dentro do out tem outras formas de output da mesma forma que voce usa seu console.log(), seu fmt.Printf() e seu Console.WriteLine()
Na verdade se for um codigo pequeno com cerca de 10 linhas, faz sentido ter medo de errar em Java e se sentir seguro com python. Porém se for um trabalho maior de uma empresa, com milhares linhas de código o Java se sai muito melhor e deixa o codigo mais seguro e menos susetivel a erros toscos.
@@Trombinha_jooj Python é muito menos típado. Se for criar um laço de repetição nem precisa de parênteses e colchetes. Se tiver muitas linhas de código, esse fator pode deixar um pouco confuso a leitura, pois fica difícil de identificar o bloco em que está cada função. E outras coisas também, isso só é uma delas.
Falou merda pra caralho nesse vídeo, mas eu vou explicar pra você e todo mundo o porque o Java é uma desgraça de trabalhar: Uma linguagem ser bem verbosa na verdade é uma coisa excelente quando a gente fala de grandes projetos principalmente no mundo enterprise, como é o caso de muitas das linguagens atuais como o Java, o Go, o Typescript, ela ser verbosa diminuí a chance de erros aleatórios como em Python ou Javascript. O problema do Java é justamente o mercado nacional onde você vai se deparar com códigos absurdamente mal escritos, sem documentação e com gambiarras pra passar pela alta tipagem da linguagem. Literalmente, se você pegar um projeto legado Java 8 hoje em dia pra mexer, você vai ter que fazer uma faculdade de arqueologia pra entender. Java mal escrito é horrendo, e o compilador junto das formas de debug deixam muito difícil trabalhar com código ruim. Além disso, Java é forçado a seguir OOP por padrão, o que impede você de usar uma programação multi paradigma, porém isso mudou um pouco nas novas versões e também diminuiu a quantidade de tipagem. Java tem uma grande curva de aprendizado, e isso assusta novatos, mas pra quem trabalha a um tempo na área vai entender que isso na verdade é um ponto positivo. Java é uma linguagem muito boa.
Atualmente tô cursando Engenharia de computação, infelizmente entrou de greve a faculdade, porém, to estudando calculo e programação em casa mesmo. Não tenho ctz ainda do que quero focar, mas eu acho muito interessante as áreas de sistemas de armamentos, machine learning, automação e cibersegurança. Eu vi que você é experiente, poderia me recomendar as melhores linguagens para essas áreas que tenho interesse, por gentileza? Além de focar em programação, tbm pretendo focar bastante na parte eletrônica e hardware de computadores, mas isso não entra na conversa
Cara, não se preocupe muito com a linguagem enquanto tu tá estudando, aprenda o básico e o avançado em uma única linguagem, recomendo C++ enquanto tu tiver estudando, por ser uma linguagem com muitos anos de maturidade e comunidade, e sai testando tudo quanto é linguagem pras coisas que tu quer, as vezes tu gosta de algo, mas não fique dependente de nada. Até porque o mercado muda muito, e você vai querer seu dinheiro não amar uma linguagem.
Mane o que eu n entendo é pq tem gente que compara Java com Python, sendo que ambas linguagens tem uso completamente diferente em cenários completamente diferente. É a mesma coisa que eu comparar o uso de um martelo com uma chave de fenda, ambos são ferramentas utilizadas para manutenção ou construção, mas elas não são feitas para o mesmo uso! Porra vei não tem comparação, quem fala isso é mais esse pessoal que acabou de entrar na faculdade e n sabe porra nenhuma
Literalmente quase todo o código em Java que ele mostrou, a ide faz para voce, criando a classe e o metodo main, quanto ao System.out.println você pode simplesmente digitar "sout" e aperta tab que completa para você. Alem disso System é uma classe, se voce quiser usar o comando print como na linguagem C para a saída é sua escolha.
Os caras só falam 1 ponto negativo, Java é verboso demais... Rapaz, hoje o cara nem digita bota uma letra e já sugere pra vc, ser verboso não é mais ponto negativo em nenhuma linguagem.
O problema é que sistemas são muito mais complexos do que "hello world" e normalmente se gasta mais tempo dando manutenção do que criando coisas novas. Quando falamos de linguagens como JS ou Python, a criação pode ser algo rápido e muito fácil, mas a manutenção futura costuma ser muito difícil, coisa que uma linguagem mais "verbosa" não tem. Além disso, ninguém escreve código sem uma boa IDE. 😉
Irmão, você só escreveu verdades. Pra iniciante, não faz muito sentido aprender Java. Mas ela é simplesmente uma das melhores linguagens pra sistemas, nem baixo nível ao ponto você precisar criar vários recursos como em C, nem alto nível demais ao ponto de tu precisar debugar tudo como em Python. Pra sistemas, tá na medida certa.
Месяц назад
Até concordo, se você escrever código procedural, javascript e python podem ser realmente de difícil manutenção, principalmente pela flexibilidade. A tipagem dinâmica também pode contribuir muito para um codigo que apresente bugs dificeis de encontrar. Mas por exemplo, quando usamos o typescript + código funcional, resolvemos essas deficiências, principalmente pq podemos escrever códigos mais genéricos, especializados e reusaveis, o que permite escrever menos código com maior aproveitamento dos recursos. Nesse contexto, qualquer bom desenvolvedor vai ver que o problema não é da linguagem, e sim da falta de maturidade de muitos desenvolvedores que veem os desafios de desenvolver em java ou em python e logo chegam a conclusões de que são apenas ferramentas e que não existe linguagem superior e nem menos complexa, pois a complexidade está na sofisticação do código.
Mano, trabalho com C# e JS/TS, eu entendi o teu ponto e sim, linguagem é ferramenta, não existe melhor ou pior. O ponto que eu trouxe é que linguagens com alta abstração tendem a ser muito mais produtivas na etapa de criação enquanto linguagens menos abstratas tendem a ser mais produtivas durante a manutenção, visto que o código é mais explícito apesar de mais extenso. As tecnologias que eu mais utilizo (que citei no início) tem uma pegada muito forte de linguagem funcional e isso é ótimo, mas para um iniciante que pega um código legado pode ser confuso e mais difícil de entender a "mágica" daquelas linhas. Lembrando que o Java também tem uma pegada bem funcional com lambdas e stream api.
Месяц назад
@@bruno_lpw então concordamos que o problema é a maturidade do dev e da flexibilidade que linguagens fracas em tipagem podem contribuir para os famosos códigos "porcos". O pior é que em épocas de bolha, infelizmente as pessoas que tentam ingressar no mercado aprendem exatamente esse tipo de tecnologia, por ser de fácil aprendizado. Concordo totalmente que devemos aprender linguagens como java, c, cobol, pascal para entender como linguagens de baixa nível funcionam, entender por exemplo que javascript é muito mais que um console.log ou no caso do python print...
Sim, totalmente! Eu entendo que os cursos foquem em JS, pois é uma linguagem poderosa e universal, o problema é quando o foco fica muito na superfície apenas para "jogar" o dev no mercado. É necessário "sofrer" um pouco com ponteiros para entender um pouco mais a fundo o que acontece no código.
Javascript n tem nd haver com o java kkk eles botaram o java no nome só pq o java era famoso, ai atraiu mt gente achabdo q seria tipo uma versão melhorada
aaa adm n esquece de falar que se fizer no gpt ou atualizar da zebra ou seja se não souber o básico vc n vai executar bem em java e vai acabar desistindo kkkk
Eu sei java basico e para fazer um hello word em java tu precisa de três linha que 1° declara o objeto MainActivity depois coloca a função do Java básico para imprimir a mensagem no console,o codigo que mostrou que provavelmente foi com o chatGPT ele declarou o MainActivity e criou outra função para imprimir então dava para resuma em 3 linhas só que dificilmente tu vai usar o básico então tu vai ter que usar vários import e realmente tem umas função que é uma frase mais também tem no js(que sei mais do que java)
Quando você for desenvolver um sistema de verdade, seja API por exemplo, aí você vai ver quem vai escrever mais código. E digo mais, experimenta refatorar um código em python e um em java, e analisa quem vai dar mais trabalho.
Mano nem precisa de tudo isso em java wtf. So precisaria criar o main e literalmente dar um System.out.println no hello world. E as IDEs pra codar em java tem uma porrada de atalho que facilita mto o codar (tipo o Intellij que só de digitar “sout” ele faz o print)
Eu gosto de JavaScript, mas gosto também de linguagem tipada e orientada a objetos, por causa disso acabo usando mais classes em JS do que função comum, mesmo sabendo que não é a mesma coisa do que as classes em Java ou C#
Estou no segundo ano da Fau aprendendo java em ciência da computação, e posso confirmar que Java é uma linguagem incrível, difícil de se entender, mas quanto mais tú estudas mais entendes de programação, mais se apaixonas pela linguagem e mais confiante se sentes para desenvolver projetos com o Java.
Vc consegue imprimir so na classe main, só usar system out, não precisa ser tão longo. O lado bom de Java é dividir seu codigo em classes e ele não fica tão grande como deveria
Estou trabalhando com Java agora... pythonista no Java... Uso IntelliJ e com o tanto de ajuda que tenho na escrita eh quase impossivel errar sintaxe. Mas de fato eh muito verboso =D
Tô começando agora estudar programação, uma dúvida sincera, se Java é tão difícil por que tem gente que ainda programa usando essa linguagem, e por que algumas empresas preferem que os programas sejam em Java sendo que o custo para fazer o programa vai ser maior do que em uma linguagem mais fácil de programar
Ainda usam Java, C++ e C# justamente por serem linguagens "verbosas", assim o interpretador não tem tanto trabalho para transformar em Binário, porque cada coisa está definida. Python, por exemplo, é super lento porque precisa que compilador e o interpretador defina sozinho o que não está definido (como uma string), fazendo com que o processo que a máquina faz para chegar no Binário seja mais demorado.
Nem programo em Java, mas não caia nesse conto de é "tão difícil". É uma linguagem comercial e super popular. Pode ser mais verbosa do que outras, mas se for um impedimento no aprendizado da programação, a melhor opção é a pessoa procurar outra área. E sobre custo, tenha em mente q nem sempre o mais "fácil" é o ideal. Eu particularmente prefiro linguagem fortemente topada, vc demora um pouco tendo q informar toda a tipagem no código, mas ao mesmo tempo ganha com toda a validação e interpretação da IDE e do compilador em tempo de desenvolvimento ao invés de tempo de execução (pense em um erro sendo exibido em tempo real enquanto digita o código ao invés de quebrar a aplicação em produção). Por fim, decidir qual linguagem uma empresa vai usar depende de inúmeros fatores, o assunto é bem mais profundo do que isso aí
Mesmo que precisasse de tudo isso para imprimir um hello world, isso é parâmetro para decidir qual linguagem usar? Tipo, preciso desenvolver um middleware que rode em vários ambientes diferentes, vou escolher a linguagem pelo hello world dela.. faz muito sentido dev react de pandemia
Não sei da onde ele tirou isso KKKKKKKKK hello world em java é só escrever um System.out.print dentro de função main do código, não precisa criar um método ou uma classe pra isso igual esse cara mostrou
Em algum momento decidi por aprender asm, não perguntei porque e se eu uso, é divertido, desempenho bacana, para a máquina, para mim dor de cabeça e desidratação apenas
Java quer que seja específico em tudo, acredito que seja pelo desempenho pois funcoes "inúteis" numa requisicao especifica atrapalha pois consome memoria
agr os caras que programam em Java geralmente sãos os melhores programadores , os caras são muito inteligentes. sei disso por que já aconteceu com frequência comigo . de ver uns caras que começaram em Java e hj em dia são os melhores em programação
Eu to ligado que o vídeo é meme, mas aquilo de quanto mais linhas você escreve em Java maior a chance de escrever código merda, é na verdade o contrário, em Java você tem que escrever muito mais linhas, mas isso deixa o código muito mais seguro por natureza contra bugs de tipagens e etc
Pra printar eh só uma linha.. de vc acha que uma linguagem topada eh ruim eh pq vc nunca fez um projeto grande usando só javascript, dependendo do erro vc precisa ser superior ao Sherlock Holmes.. e eh por isso q depois de virar um programado de vdd vc escreve tudo em typescrit.. esse faz o javascript virar uma versão do 'java'.. uso todas as três e as vezes prefiro começar no java
Não sou fan de Java, já usei mas não gosto, era um saco ainda mais pela questão de retrocompatibilidade, que não é ruim, mas tbm não ajuda, o mais legal e fazer uma curry func em Java, é necessário ter doutorado