Latest / Entre Chaves / #252 Java 25: o que os desenvolvedores precisam saber
Transcript
- 0:02Está começando mais um entre chaves do seu podcast de
- 0:05desenvolvimento é, sou Dudu. E hoje aqui a gente vai falar um
- 0:08pouco sobre o Java 25, né? O Java tem essa, essa fama às
- 0:12vezes, de ser uma linguagem legada, de ser uma linguagem
- 0:14menos performática e tudo. E a gente vai ver se hoje ela
- 0:17ainda está assim, se ela já evoluiu, em que ponto que está
- 0:20essa versão nova do Java? Nós estamos aqui junto com com o
- 0:23Igor na bancada. OPA, beleza, pessoal?
- 0:25E estamos aqui também com o Jeff.
- 0:29Fala pessoal, beleza? Bom, EEO, Breno aí é primeira
- 0:33vez aqui, né, Breno? Com a gente primeira vez tendo
- 0:35essa honra aí de participar do melhor podcast de tecnologia do
- 0:38Brasil. Boa, bacana.
- 0:41Acho que hoje é meio difícil, né?
- 0:42A gente tem muita, muita gente que usa Java já, né?
- 0:45Tipo assim, até a gente tava até vendo antes aqui, né?
- 0:48Na 90% das empresas da forte em 500 é usam Java com linguagem,
- 0:53até mais de 60% com Java 21, mas.
- 0:56E para quem não não conhece um pouco o Java, Breno é, como é
- 1:00que como é que funciona o Java? A gente sempre tem aquela
- 1:02questão da linguagem compilada, interpretada e tudo.
- 1:05O Java, ele é mais uma linguagem que é interpretada, né?
- 1:08Hoje, né? Como é que é essa questão aí da
- 1:10JVM? Isso hoje, OOO Java trabalha com
- 1:14com AJVM ali, né, que tem o papel de traduzir o código Java
- 1:19para para bytes ali, né? Para linguagem de baixo nível.
- 1:23E o papel dela, basicamente é que o Java rode em qualquer tipo
- 1:27de de de máquina, então tanto máquina física ali, computadores
- 1:32ou mobile, né? E tudo mais.
- 1:34Então AJVM, ela tem um papel fundamental ali para traduzir
- 1:38essa linguagem, colocar para rodar em qualquer ecossistema e
- 1:41trabalhar as outras questões ali mais abaixo dos panos também,
- 1:44né? Coisa de performance, coleta de
- 1:46casting lixo e tudo mais. E acho que até por isso, né?
- 1:49Ela sempre teve essa uma fama, né, de ser uma linguagem lenta,
- 1:53porque tinha que pegar Oo byte cold, né, pra poder gerar AA
- 1:57linguagem. Mas acho que hoje a gente tem
- 1:59algumas algumas iniciativas no Java que tem melhorado bastante
- 2:03isso, né? A gente vê algum alguns
- 2:05projetos, como o loom, né, que vem vem trazendo algumas
- 2:09funcionalidades novas de melhoria de performance, ver
- 2:11trads essas coisas, né, que acho que conseguem.
- 2:14Ajudar nessa parte de interpretação, não
- 2:16necessariamente de interpretação, mas muito mais
- 2:19falando da execução do código Java, né?
- 2:20A vida do Java de qualquer javeiro mudou depois que o
- 2:23projeto um foi incorporado dentro da dentro do ecossistema
- 2:27Java, né? Como o Bruno falou, o Java é
- 2:29multi plataformas, ele funciona pra web, mobile e etcetera.
- 2:33Hoje ele vem perdendo espaço pro cop né?
- 2:35No mobile, mas ele vem trabalhando bastante com isso.
- 2:38O que ele traz de de grande inovação dentro do projeto um.
- 2:42É uma concorrência onde ele começou a se inspirar ali, Eu
- 2:46Acredito. E a fofoca de corredor que ele
- 2:48começou a se. Inspirar dentro pelo gol.
- 2:51Então ele queria trazer umas performances que o gol trazia,
- 2:54como o gol trabalhava também uma linguagem compilada que ele vai
- 2:57trazer essa informação pra Bye se trabalhar em cima disso.
- 3:00Então o Java ele começou a incorporar isso, onde vários
- 3:03engenheiros. Começaram a trabalhar no que
- 3:06poderíamos atuar para trazer uma performance dentro dessas
- 3:09aplicações. E hoje essa, principalmente essa
- 3:11nova versão do Java 25, ela vem trazendo isso, né?
- 3:14O Java vem se adequando e evoluindo ao longo do tempo.
- 3:16Vai trabalhar com cloud Nature e é isso que o projeto um traz
- 3:20também. Como eu vou fazer virtual trads?
- 3:21Como eu vou trabalhar melhor com performance e escalabilidade?
- 3:25Em um mundo hoje onde todo mundo vai vai trabalhar com micro
- 3:28serviços em sistemas distribuídos, em vez de monolito
- 3:32como foi no passado, ele vem com essa atenção de trazer como
- 3:36podemos performar mais, o que podemos fazer para sermos mais
- 3:39produtivos, inicializar mais rápido, processar milhares ou
- 3:43milhões de de registros de maneira eficaz, rápida e hoje,
- 3:47se vocês verem aí, deve ter alguma colinha.
- 3:50Vai estar aqui embaixo. O Java deve estar competindo
- 3:53principalmente com o goy Python como uma das 5 linguagens,
- 3:56principalmente essa desde a versão 23 mais performática que
- 4:00está tendo mesmo sendo uma linguagem com mais de 20 anos de
- 4:02mercado. Né?
- 4:03Eu acho interessante, até porque, compartilhando um pouco
- 4:06da minha experiência no início, eu comecei a trabalhar na minha
- 4:09carreira com o dotinete e era. Não quero trazer a polêmica de
- 4:12qual é o melhor? Mas vale falar, idade então, no
- 4:16início, há 20 anos atrás, só pra gente saber quantos.
- 4:18Anos você tem, eu comecei com o Java 1.4.
- 4:20É, não. Era um negócio que eu acho que é
- 4:22até interessante, porque assim você via muito a galera falando
- 4:25de DOT net, que era fácil de começar um projeto, de iniciar
- 4:28um projeto. Mas é, ele tinha um problema que
- 4:31ele não rodava multiplataforma. E no Java a gente IA falar, pô,
- 4:35espera aí, eu tenho o suporte de multiplataforma.
- 4:38Consigo estar rodando igual o briano, comentou.
- 4:40Né, é em diferente ambiente tanto do Windows, Linux também é
- 4:44dispositivo de fato, então rodar o mobile, rodar em em algo mais
- 4:49embarcado. Só que aí sempre esbarrou
- 4:51naquela questão, pô, quantos 1000 xmls eu vou ter que criar
- 4:55para rodar uma aplicação Java? E agora a gente está vendo o
- 4:58mercado mudar e a comunidade, na verdade, engajar para mudar
- 5:02isso, para tornar se um projeto mais fácil de você estar ali
- 5:06nesse ano, seja que. Pra criar uma automação, pra
- 5:09criar um simples prova de conceito, um teste ali.
- 5:12Eu acho que isso é interessante, né?
- 5:14Eu? Lembro quando a gente tava
- 5:15fazendo as implementações dos projetos lá, que tinha que fazer
- 5:17as configurações do Spring boot todas e colocar lá.
- 5:20Você mandava iniciar, aí ficava lá carregando dependência tal,
- 5:23carregando, até falar que o Spring boot carregou tudo que
- 5:26ele que você tinha colocado lá. E aquilo ele demorava às vezes
- 5:29bastante tempo num mundo de micro serviços e tudo, cara,
- 5:32esse, esse, esse cold start ele é.
- 5:35Custoso ele é, ele é um gargalo que às vezes tem pra você usar
- 5:39Oo Java como um ambiente escalável, né, pra pra poder
- 5:43conseguir pegar essa quantidade de de recursos, né?
- 5:45E é bom ver que hoje a gente já não sofre tanto com com isso,
- 5:48né? A gente tem várias, várias
- 5:50coisas pra ajudar nisso, o grau VM, né, que o principal exemplo
- 5:53nessa nesse mundo, né, e tudo de tentativa de início super
- 5:57rápido, de de print, de memória baixa, né?
- 5:58Vocês já chegaram a mexer alguma coisa com o grau VM, vocês tem
- 6:01algum projeto lá que que usa isso?
- 6:04A gente tem um cliente aqui que a gente chegou a usar, mas foi
- 6:06justamente devido a essa latência.
- 6:07A gente precisava estar respondendo ali pra diversas
- 6:10requisições que a gente distribuía pra vendedores e a
- 6:13gente precisava iniciar rápido pra poder fazer aquela
- 6:16requisição que iniciava ali no BFF, chegar até um serviço e
- 6:20notificar via farebais de um cliente.
- 6:21Então o desempenho que o quarks mais o grave m trouxe foi coisa
- 6:26de 1 segundo. A máquina está de pé lá na wr,
- 6:28sabe? É coisa de maluco.
- 6:30E a escalabilidade que o próprio farguei traz junto, né?
- 6:33Não tem como. O Java 25 aí ele trouxe.
- 6:36Eu estava dando uma olhada a princípio, nos estudos, uma
- 6:38melhoria de performance de 22% na alocação de memória dos
- 6:44objetos, né? Então houve uma diminuição ali
- 6:47dos heders dos objetos. E que isso ajudou bastante no
- 6:50próprio tempo de compilação. E aí, junto com isso, isso acaba
- 6:54trazendo uma economia também para os ambientes, né?
- 6:56De de nuvem, que tem aplicações mais rápidas que custam menos.
- 7:00Um detalhe muito grande aqui, o Java.
- 7:02Eu acho que até a versão 13 ele teve muita dor de cabeça quando
- 7:06a gente alocava a memória, porque o garvet de colega, então
- 7:08você nunca tinha certeza quando ele IA passar ali e depois da
- 7:12versão. 13 ele já começou a atuar melhor com isso?
- 7:15Acho que vale também falar, né, que a gente tem um, o Breno.
- 7:18Ele já atuou com quase todas as ações de Java aqui, então ele
- 7:23consegue dizer bem o que muda de uma pra outra.
- 7:25Mas depois da 13, como a gente aloca memória melhora muito,
- 7:29principalmente a gente parou de ter overhead.
- 7:31Quem já trabalhou com Java, fazendo ali uma transposição de
- 7:35um Excel, sabe como dói, o machuca.
- 7:38Em ponto GC na mão, né? Recentemente a gente atuou num
- 7:41projeto que era justamente a atualização de um processo de
- 7:45importação ali de dados. E aí o projeto original, a
- 7:49versão um, era um service Java script que fazia esse
- 7:52processamento e aí demorava em torno de 7810 minutos.
- 7:55E aí quando a gente trouxe isso pro Java, trouxe pra versão 21,
- 7:58usando uma biblioteca um pouco mais Moderna ali, esse tempo
- 8:01caiu para 12 minutos. Então assim é absurdo.
- 8:05O ganho de performance que a gente teve.
- 8:07É, eu queria comentar assim, acho que OOO Jeff comentou ali
- 8:10um pouco sobre quartzo, você até comentou sobre a versão 21 de
- 8:13fato, como que hoje para quem está ouvindo assim é, seria um
- 8:17início de projeto, o Java também, além do quartzo você tem
- 8:20o micronalds, você tem o Spring hoje, como que vocês verem
- 8:23também a evolução de cada um desses?
- 8:25Como que seria o início de um projeto para vocês, como que
- 8:28adotar, o que que vocês acham que escolheria ali?
- 8:31Claro, claro que tem um depende né, sempre é, é.
- 8:33Oo arquiteto, ele sempre fala, não depende.
- 8:36Seria um episódio do entrechado se não tivesse um depende, né?
- 8:39Mas e aí, o que que vocês acham assim, tipo pro pessoal que tá
- 8:42hoje? É querendo iniciar um projeto,
- 8:44acompanhar um pouco dessa modernidade.
- 8:46Cara, aí realmente depende, né? Mas, na minha opinião, eu tenho
- 8:52uma tendência maior a escolher aquilo que tem mais gente
- 8:55usando, que eu vou achar mais documentação, que eu vou achar
- 8:57mais. Apoio com com a comunidade e eu
- 9:00tenho uma tendência muito forte a usar Spring mesmo.
- 9:03Spring, né? É começando, acho que é.
- 9:05Inclusive, eu acho que tá tá mudando um pouco isso, né?
- 9:07O cliente tá pensando, repensando nos aquarcos, cobrar
- 9:10OBM, principalmente, que vai lidar com milhões de transações.
- 9:13Pix coisa nesse sentido, sabe? Eles estão repensando como
- 9:16iniciar rápido pra poder atender.
- 9:18Mas uma das coisas que eu penso hoje, quando a gente vai começar
- 9:22um projeto, sempre tem um depende, mas é.
- 9:25A questão hoje acho que vale vale ressaltar, até o passado do
- 9:28Java, em algum momento o próprio Java quis competir com o Spring,
- 9:31como se ele quisesse incorporar o que o Spring faz.
- 9:34E hoje ele consegue fazer bastante dessas coisas, né?
- 9:37É, eu não tenho mais a dor de cabeça de importação, tanta
- 9:40biblioteca de maneira manual, coisa e tal.
- 9:42Consigo iniciar um projeto e usar ele bem de forma nativa,
- 9:46sem estar com os premium, outros auxiliares.
- 9:48Só que a gente entende também que a comunidade, quando ela
- 9:52começou a evoluir. Com o Spring, com o mcconaute,
- 9:55eles nasceram com o propósito e como o propósito é bem definido,
- 9:59eles mandam melhor nisso. Sempre vai ser um depende.
- 10:02Mas hoje para aplicações escaláveis web que eu não tenho
- 10:05uma dor de cabeça e pensando em MVP ou pock, eu não não
- 10:09começaria com o macronaut, com o louv m, dependendo da dor de
- 10:13cabeça que o cliente vai ter, eu começaria com Spring mesmo,
- 10:15vendo como atende e depois eu traria isso como melhoria.
- 10:20Porque acaba que eu pego um ecossistema, pessoas que são
- 10:23formadas com Java e já trabalham há mais de 10 anos usam Spring.
- 10:27Eles vão saber sair melhor nesse contexto, mesmo que o Java
- 10:30esteja atualizado e caso a versão do Java, por exemplo, 25,
- 10:34com esse pring não esteja atendendo, aí sim eu traria.
- 10:38Olha, deixa eu experimentar o outro filme work e eu traria
- 10:41medindo o ganho que isso traria, mesmo a comunidade dizendo que
- 10:45já existe, e a gente sabe que existe, mas eu traria melhorias
- 10:49sequenciais. Eu não já começaria com um
- 10:51projeto que tem uma complexidade para depois evoluir, sabe?
- 10:55Igual zac que em Arc, dependendo da equipe, se você começar a
- 10:58criar que vai ser mais moroso do que começar com um MVC padrão,
- 11:02sabe? Até nessa questão, igual vocês
- 11:04falaram, né? A comunidade Java, ela é muito
- 11:06forte, sempre foi, né? Eu acho que desde igual,
- 11:08brincando aqui, eu já comecei no Java 1.4 há 20 anos atrás, até
- 11:13mais de 20 anos. Então, e já tinha um suporte
- 11:16legal, já tinha 11 coisa legal lá da Sun microsystems, né?
- 11:19Bem antes da da. Da igualidade.
- 11:22Tá total, né, cara? Os cabelo branco já já entrega,
- 11:25né? Não tem jeito.
- 11:26E eu acho que isso ajuda demais nessa questão do suporte, da da
- 11:29poder achar as coisas. Faz, cara.
- 11:31É, tem muito tempo que eu não mexe com o Java mesmo.
- 11:33Na minha época que eu mexi com o Java, por exemplo, é tinha um
- 11:36site que era o go two, que eu queria resolver um problema,
- 11:39acho alguma coisa que era o famoso bail dung, né?
- 11:41Acho que todo mundo que mexe com o Java conhece esse esse
- 11:44website. Então, mas hoje com o IA não é
- 11:46mais fácil perguntar para o IA, talvez, mas eu acho que isso
- 11:50ajuda muito, né? Até nessa questão de como
- 11:52começar, de quando começar Oo fato de ter um suporte grande,
- 11:55um suporte legal, eu acho que isso ajuda muito, né, pra gente
- 11:59poder. Ter um projeto novo e até nisso
- 12:01é uma das dores, disse. Começar um projeto novo em Java
- 12:06e tudo era a verbosidade da linguagem.
- 12:09Quando comecei ir lá atrás, você tinha que fazer muita coisa.
- 12:12Você tinha que botar uma classe de todo o tamanho com um public
- 12:15estático que voy de mean arges, não sei o quê.
- 12:19Tudo exatamente descrito dessa forma é com os.
- 12:22XML que você comentou, né, Igor? E hoje a geração de de de
- 12:26projetos novos em Java está muito menos verbosa, né ela, bem
- 12:30mais fácil de você declarar uma classe de você começar alguma
- 12:32coisa de você popular heloword, né?
- 12:34E o Java 25? Ele traz muitas melhorias nesse
- 12:37sentido, né? Ele traz muitas coisas para
- 12:38poder ajudar. É, eu vejo que é o.
- 12:41Que. A comunidade tem feito para não
- 12:44deixar a linguagem morrer mesmo, né?
- 12:45É até o meme da internet. Aí todo mundo fala, pô.
- 12:48Prefere, sei lá, dar uma cambalhota, trabalhar com Java,
- 12:51né? Acho que justamente por essa
- 12:53verbosidade e a cada versão que a gente traz aí a gente vê que
- 12:57tem melhora significativa nessas verbosidades, né?
- 13:00Então o Java 25 trouxe umas frituras ali legais, por
- 13:04exemplo, esse público voice estética e-mail famoso, né?
- 13:07Passando os argumentos, hoje ele já foi abstraído por um público
- 13:10e voz, né? Em argumentos e tal.
- 13:12A própria criação da classe hoje não precisa mais do nome da
- 13:15classe. Explícito, né?
- 13:16Ele faz debaixo dos panos ali. Combinando, né?
- 13:18Que antes tinha que combinar, se o nome da classe fosse hello
- 13:21hoje e no código lá, quando eu declarasse fosse hello, dava
- 13:25erro. É exatamente.
- 13:27Né, que é um exemplo básico ali, né?
- 13:29O system out print LN também. A galera trouxe essa
- 13:32simplificação aí no Java 25, né? Só pro pro print LN.
- 13:36Então acho que são modernidades que atraem principalmente a
- 13:39galera mais jovem que está afim de.
- 13:41Aprender uma linguagem. Aí quando começa a dar uma
- 13:43olhada no Java lá, fala, putz, aí tá difícil, aí vou.
- 13:46Ter que escrever demais, né? E?
- 13:48Isso é bonito, né? Criado pela comunidade, mantido
- 13:51pra comunidade, devolvendo pra comunidade, que é a
- 13:53simplicidade. Agora na hora de aprender,
- 13:55também na hora de usar. Exatamente, né?
- 13:58E fica fácil de de prototipar, de de de de botar AMVP, né?
- 14:02Hoje que a gente fala que assim mundo super rápido das coisas
- 14:05assim. Tipo, poder botar as coisas no
- 14:06ar super rápido assim. Acho que é bem, bem legal, né?
- 14:09Igual você falou, usar só o print é print alien e não
- 14:12precisar de coisa. A gente fica lembrando muito,
- 14:14como quase como uma inveja de script mesmo, né?
- 14:17De de fazer como se fosse uma inveja de.
- 14:18Script mesmo depois que ela ela mudou ali.
- 14:20Eu acho que foi na versão 11 pra 13 que ela adicionou o var, né?
- 14:23Ela já começou a olhar um pouco pra esse lado, mas eu não sei se
- 14:26é o caminho que a comunidade quer ir também.
- 14:28Mas uma coisa sobre verbosidade que eu que eu acabei notando,
- 14:31acho que o Breno vai passar por isso mais dentro do contexto do
- 14:34cliente que ele está. É que como eu comecei a
- 14:36codificar um pouco mais novo que o Dudu, menos cabelo branco,
- 14:40como 1.6, a verbosidade era gigante com as funções no âmbito
- 14:44aí que a gente adquiriu na versão 7 pra 8, já simplificou,
- 14:48mas da 8 pra 21 não vejo tanta complexidade, tanta verbosidade,
- 14:52embora tenha ganhos em simplicidade, mas ela colhe bem
- 14:56os velhos de casa, sabe? Você consegue codificar por
- 14:59padrão? Chega alguém mais novo, que está
- 15:01aprendendo na faculdade e diz, olha, dá para simplificar isso
- 15:03aqui de tal maneira assim, nossa, simplificou demais mesmo,
- 15:07mas a gente vai viver nessas mudanças também, né?
- 15:10É um exemplo, um exemplo disso aí que eu estava estava dando
- 15:12uma lida e fui aplicar num num código 1000 recente, foi o
- 15:16suíte, o sweet kays. Aceitar tipo primitivo tinha um,
- 15:20claro, não é o melhor cenário, mas tinha uns 5 ifes encadeados
- 15:23lá e isso dava, sei lá, 10 linhas ou mais, né?
- 15:25E aí com o switch a gente trouxe isso pra 5, né?
- 15:28Ficou extremamente direto, além da.
- 15:29Expressão lambda a gente conseguiu colocar a lógica lá
- 15:32dentro e tipo primitivo, então, assim que a leitura.
- 15:34Fica fácil, né? Você começa a ler aquilo, você
- 15:36já entende. O código fica bonito, fica
- 15:38bonito de ver. Não fica aquela aquela
- 15:40decodificação, igual o pessoal que às vezes fala, Ah, vou fazer
- 15:43um, pra que vou fazer infiel? Eu vou fazer um ternário aqui,
- 15:46fazer um ternário de 200, ninguém consegue entender, fala,
- 15:50tá, tá muito. Bom, meu código tem.
- 15:51Que mexer no zoom assim, pra olhar ali?
- 15:53Inteiro é quase um ilícito, né, velho?
- 15:55Quase um invés de um ilícito lá, você mexendo nos parênteses pra
- 15:58entender. Eu queria.
- 15:59Puxar 11. Detalhe aqui que eu acho que até
- 16:01você comentando, ô Breno, é, queria entender assim hoje,
- 16:03quais são os principais desafios que vocês estão encontrando
- 16:06assim nessas migrações? Até porque o próprio Jeff ele
- 16:10comentou sobre a questão de certo nível de diversão, teve um
- 16:13pouco mais de estabilidade em algumas recursos, em algumas
- 16:16funcionalidades em si do Java. Mas assim, hoje, quais são os
- 16:20principais obstáculos de fato que isso trouxe para vocês
- 16:24assim, ou ou foi uma migração tranquila, sem dor de cabeça?
- 16:28Pode? Descluir a parte do cliente é
- 16:30querer migrar, né, querer fazer essa migração.
- 16:33É querer uma palavra muito forte, né?
- 16:35Mas às vezes é é necessário. Recentemente eu participei de
- 16:38uma migração trazendo um projeto do Java 8 direto para o 21.
- 16:42Não era um projeto muito grande, não tinha muito Plug in
- 16:45específico, nem nada, mas. Deu, deu, deu um pouco de dor de
- 16:49cabeça assim, sabe a parte de segurança?
- 16:51Porque o ecossistema do cliente não estava preparado para lidar
- 16:55com o novo comportamento do JWT que exigia lá mais caracteres na
- 17:00assinatura, né? Então, algumas adaptações a
- 17:03gente precisou fazer, ó, eu atualizei o Java, estou trazendo
- 17:06os plugins juntos para serem compatíveis ali com com o mave,
- 17:10né? Só que tem alguns que
- 17:11infelizmente a gente não consegue trazer.
- 17:13E aí a gente tem que dar um jeito de deixar ele fixo lá,
- 17:16continuar usando essas versões antigas desses plugins.
- 17:19Então tive 11, pouco de problema com segurança.
- 17:22Tive um pouco de problema também com o banco de dados.
- 17:24As kerris que eram Montadas ali por baixo dos panos, traziam uma
- 17:27sintaxe um pouco mais Moderna, que o banco não estava preparado
- 17:30para aceitar. E aí a gente teve que ir lá no
- 17:32ibernate também cetar uma versão mais específica que o banco
- 17:35aceitava. Então assim mesmo, nessa era de
- 17:37a que facilita muito e a gente usou muito para fazer essa essa
- 17:41transição, né? Da versão do Java.
- 17:42Essa atualização teve ainda certos trabalhos que precisaram
- 17:46ser investigados assim e. E entender, ó, por que que não
- 17:49foi? E tal?
- 17:50Então, a migração em si eu não vejo como muito complicada, mas
- 17:53o ecossistema que você tá precisa acompanhar junto.
- 17:55Esse serviço precisa se comunicar com o ecossistema.
- 17:58Mas trazendo isso que o Bruno falou pra ficar bem no beach
- 18:01mesmo, a dor de cabeça, a gente entendeu que é mais fácil
- 18:04quebrar scripts com senha pequena.
- 18:06O Java evoluiu, disse ó, tem que ser maior, aí a gente tem que
- 18:09adaptar pra olha meu ecossistema todo não tá preparado pra isso.
- 18:13E enfim, existe isso também. A gente tá falando é a versão do
- 18:16Java 25. Existe uma retrocompatibilidade
- 18:20muito grande com as versões anteriores, mas nessa versão do
- 18:23dia 25, o próprio Java determinou, olha, eu vou abrir
- 18:26mão de algumas coisas agora, modernizem, por favor.
- 18:29Então até tem algumas coisas que são 32 bits que eles estão
- 18:32descontinuando mesmo dizendo, olha, carregar isso aqui vai dar
- 18:35mais dor de cabeça pra eu chegar onde eu quero chegar.
- 18:38Então preciso evoluir. Eu tenho que deixar algumas
- 18:41coisas no passado. Essa dor de cabeça que o Bruno
- 18:43falou, se ele fosse do 8 pro 11, IA ter igual ele ter do 8 pro
- 18:4821. Ele conseguiu chegar no 21 do 21
- 18:51pro 25. Acredito que ele consegue fazer
- 18:54talvez em 1 hora. Se ele levou 10 na anterior,
- 18:57entendeu que tá muito mais simples mesmo.
- 18:59E ele vai começar a conviver que a gente não pode é parar igual
- 19:02parou. Então ele saiu do 8 pro 21, teve
- 19:05uma dor de cabeça, mas do 21 pro 25 vai ser bem tranquilo assim,
- 19:09coisas de minutos. Talvez um promptzinho resolve,
- 19:12né? É sendo otimista?
- 19:14Eu Acredito que sim, mas é o que você falou, quando a gente sai
- 19:16de uma versão muito antiga pra uma nova, corre o risco de aqui
- 19:20ou se tem algumas incompatibilidades, mas a gente
- 19:22teve problema até de sintaxe, teve biblioteca, por exemplo,
- 19:25tava deprecado, não dá pra usar mais.
- 19:27E aí o Java trouxe, ó, vamos trocar essa aqui por essa outra
- 19:31que é nativa, só que aí os métodos já não são iguais, então
- 19:34a gente precisou, ó, beleza, eu vou trocar esse plugin, mas eu
- 19:37vou ter que voltar lá e refaturar ninguém de código
- 19:40mesmo. O método que fazia x coisa hoje
- 19:42em dia é um outro método e eu vou ter que trocar isso, vou ter
- 19:45que testar isso de novo. E aí isso começa a dar problema
- 19:48com o teste unitário. E aí você fala, puxa vida, agora
- 19:50vou ter que garantir que funciona, né?
- 19:52Porque o teste já não funciona mais, então costuma dar um
- 19:55trabalho assim. De tudo que a gente falou aqui
- 19:57dessas features e tudo que vocês acham que que tem trazido o
- 20:00maior impacto pro do Java 25 assim pra pra vida do
- 20:04desenvolvedor de todas essas? Features esses projetos novos, o
- 20:08loom até o valhalla, que a gente tem que comentar um pouquinho
- 20:11sobre ele. O que que você acha que pode
- 20:12mais ser o maior diferencial do Java 25 para?
- 20:15O desenvolvedor, o maior diferencial é a viver a
- 20:17modernidade mesmo. Eu acho que o Java hoje vem
- 20:20trazendo essa visão de cloud Nature.
- 20:22Ele vem para ser aplicado e distribuído diferente que antes
- 20:26vinha. Ainda existe muita discussão na
- 20:27comunidade se a gente está fazendo micro serviços dentro de
- 20:31um monolito gigante e acaba com a planitude, vai trabalhando com
- 20:34módulo. Mas hoje quando se fala de
- 20:36escalabilidade, evolução, acredito que é isso que ele
- 20:39traz, modernidade, fácil compilação, continua
- 20:43multiplataformas, então ele continua trazendo essa essa
- 20:46visão mesmo tendo uma concorrência EE assim, eu acho
- 20:49que Oo principal foco que o Java vem trazendo a.
- 20:52Eu quero continuar sendo escalável o suficiente,
- 20:54atualizável o suficiente. A comunidade está lançando
- 20:57versão a cada 6 meses e features LTSA cada 2 anos, que parece,
- 21:02mas o que ela vem trazendo é justamente isso, é, eu estou
- 21:05adepto a fazer mudanças, melhorias de segurança,
- 21:07performance, entendendo as reais necessidades do mercado atual e
- 21:11tentando utilizar isso atualmente.
- 21:12Mesmo que a gente tem uma aplicação com o Java 8 que roda
- 21:1510 anos, nunca teve problema e agora a gente precisa evoluir.
- 21:18Tem um momento de escalabilidade, né?
- 21:19Acredito fortemente que ele vem trazendo isso, ele me vê.
- 21:22Eu venho dizendo, olha, atualmente a gente vai precisar
- 21:24fazer dessa forma. Acho que eu vi dentro da acho
- 21:27não eu vi dentro da documentação que ele já tem a indexação certa
- 21:30para OMCP do contexto seven, para ele poder trazer isso
- 21:33quando for fazer a migração ser mais dinâmica para poder seguir
- 21:36bons princípios e tudo mais, sabe?
- 21:38Então ele vem trazendo GSH também.
- 21:40Eu Acredito que vai para aperfeiçoar ainda mais com o
- 21:43uso. De AA.
- 21:44Modernidade é a chave mesmo para linguagem se manter viva e o
- 21:47Pilar disso quem define é o mercado, né?
- 21:49Então? Qual era OOO grande calcanhar de
- 21:53Aquiles do Java, na minha opinião, performance e
- 21:55verbosidade. Então são 2 frentes que a
- 21:57comunidade atacou forte e vem vindo atacando forte.
- 22:00Até um tempo que as atualizações têm focado nisso, né?
- 22:02E aí agora, com o uso de, a gente vê que a.
- 22:05Atualizaram lá cálculos vetoriais e tudo mais para
- 22:09otimizar a performance, justamente para tentar usar de
- 22:12forma primitiva alguns tipos de a então acho que tem tudo para
- 22:15linguagem permanecer usável e Moderna aí por muito tempo.
- 22:18E até nessa visão de modernidade de futuro, tem 11 coisa
- 22:23importante que é o Val rala, né? Que tá aí já tem um tempo, né?
- 22:27Prometendo isso, olha. Ele chegou, mas ele não chegou
- 22:31com o potencial que foi prometido, como bran citona.
- 22:34Ele vem trazendo algumas coisas de maneira primitiva que a gente
- 22:37vai utilizando, vai evoluindo, vai sendo mais simples de
- 22:40utilizar e por baixo dos panos. O Java ele continua tentando
- 22:44resolver pra gente, mas no final das contas ele chegou, mas não
- 22:49com aquele reip todo que a gente esperava.
- 22:51A comunidade conseguiu resolver de outras formas, como como
- 22:54virtual, trid, que hoje que eu consigo levantar o outroid em
- 22:57menos de 1 segundo, sabe? Eu consigo multiplicar isso aos
- 23:01milhões em menos de 1 segundo também.
- 23:04Não vou conseguir atender a escalabilidade disso está
- 23:06surpreendendo, sabe? Então acredito que isso vai
- 23:09acabar atuando junto do projeto. Vai ser algo interessante de ver
- 23:13quando se ainda for relevante no futuro a gente trazer esse olhar
- 23:17do completão. Será que a gente vai ter que
- 23:20estar lidando diretamente com tipos primitivas?
- 23:22Entra naquilo que eu falei anteriormente, né?
- 23:24Talvez Oo javas tá tentando ser menos verboso.
- 23:27Tentando ser um tão fortemente tipado, né, que hoje eu ainda
- 23:30considero já uma linguagem fortemente tipada.
- 23:33Quando isso diminuir um pouco, principalmente com essas novas
- 23:35versões, acredito que vai abrir espaço para o projeto crescer.
- 23:39Legal, eu estou comentando sobre essa questão das vantagens, né?
- 23:41Do virtual tred ainda. Teve algum cenário que vocês
- 23:44falam assim? Ah, não, um jeito antigo,
- 23:46digamos assim, foi melhor ou ou é algo que assim foi realmente
- 23:50surpreendente mesmo? EE, teve esse ganho, existem.
- 23:53Casos que eu já vi, eu nunca presenciei, eu nunca vivenciei,
- 23:57mas existem casos que eu já li depoimentos que o jeito antigo
- 24:00era um pouco melhor em algumas situações, mas.
- 24:03Bem específica, eu nunca tive esse problema.
- 24:05Quando a gente migrou a versão e começou a usar o recurso, ela já
- 24:08escalou de uma maneira que eu não precisei nem me preocupar,
- 24:10sabe? Hoje é bem mais simples, né?
- 24:12Fazer o gerenciamento de trads e escalabilidade e colocar porque
- 24:15na mesma época isso era um parto, você tem que ficar
- 24:17mexendo com isso. Não tinha nem os features ainda
- 24:20para poder fazer desenvolvimento assíncrono, mas a sincronização
- 24:23de Trad era. Uma coisa muito complexa, né?
- 24:25Hoje, com o vtred, acho que é. Simples, simples.
- 24:28Não tem o segredo, 2 linhas de os ovos, você faz a instância,
- 24:31ele já trata. Quando vai trazer a resposta
- 24:32para você, você segue a vida de boa e ali ele mesmo se cala os
- 24:35milhões, se não é. Necessário.
- 24:37Então, pessoal, parametriz, o que que você vai querer ali
- 24:39dentro e vai. Segue a sua?
- 24:41Vida na sua programação assíncrona, né?
- 24:43Exato. E passando aí até gerenciar
- 24:45esses contextos. Assíncronos assim, igual a gente
- 24:48falou, Ah, tá executando lá minha tred e eu tenho meu outro
- 24:51cara aqui. E geralmente a gente tem
- 24:53compartilhamento de informações. Entre entre entre treds assim e
- 24:57hoje Oo já 25. Acho que ele traz algumas
- 25:00evoluções em cima disso, né? Pra pra não sei se esse é o 25,
- 25:03já foi o 21 que já trouxe umas melhorias pra gente poder fazer
- 25:06esses compartilhamentos de memória entre treds pra não dar
- 25:09essas esses acessos inválidos ou você você ler valores incorretos
- 25:13ou sujar valores né que de novo. Para mim, era um parto quando eu
- 25:17precisava fazer isso antigamente, né?
- 25:18Era muito complicado. Você fica ligando com com o
- 25:21stread louco da vida, né? Acho que hoje isso já não tem
- 25:24tanto. Fico pensando, talvez os jovens
- 25:26vão ter menos cabelo branco que a gente, porque realmente hoje a
- 25:29gente não se preocupa mais com isso.
- 25:31Por exemplo, é você distancia aí que.
- 25:33Coisa só funciona. Desde é, só funciona desde que
- 25:36eu Eu Acredito, né? Por baixo, desde que, quando,
- 25:38desde que ele funcione no mesmo processo.
- 25:40Ali, mesmo que ele esteja dividindo a tred, ele consegue
- 25:43acessar e se virar, sabe? Hoje não é mais uma preocupação.
- 25:46Por exemplo, a preocupação acho que é outra, é.
- 25:49Tipo assim, a gente falou lá no início também um pouco do da
- 25:52questão do do Java e do coting, né?
- 25:54Tipo assim, do coting. Durante muito tempo foi a
- 25:56linguagem que ganhou muito, muito espaço e tudo e tal.
- 25:59Hoje ela a gente ainda consegue enxergar o coting meio que
- 26:02concorrente forte do Java pra pra esse ambiente dele ou o Java
- 26:0625 hoje consegue suprir bem o que Oo que o coting trazia de
- 26:10novidade. Eu acho um pouco prepotente eu
- 26:12falar que o Java. Sobre todas as necessidades, né?
- 26:15Do do do kotlin ali, porque eu tenho pouca experiência também,
- 26:19né? Não conheço muito de kotlin e
- 26:20tudo mais, mas Eu Acredito que a tendência é que essas, essas
- 26:24essas tecnologias mais raipadas aí elas tenham menos vantagem em
- 26:28relação ao Java. Justamente porque, além do Java
- 26:32ser multiplataforma, né? Outras também são, mas o Java
- 26:35carrega aquele aquele peso de de memória mesmo, de ter muita
- 26:39documentação, ter muito projeto, que, já que já roda o
- 26:42ecossistema da maioria das empresas, já estão acostumados
- 26:44ali. Já a galera já está acostumada a
- 26:46trabalhar com Java. E aí a partir do momento que o
- 26:48Java consegue entregar performance e segurança, eu acho
- 26:51que a parte da verbosidade, da complexidade de implementação de
- 26:54código é o de menos, né? Até porque depois da IA ali é
- 26:58muita coisa que era complexa, já não é mais.
- 27:01E aí a comunidade ainda atualizando essa questão da
- 27:03verbosidade ali, eu acho que. E no início que o Breno falou, o
- 27:06quarto 100%. Mas eu vou responder quando
- 27:08depende. Mais uma vez o Java ele mudou.
- 27:11Eu acho que ele mesmo sendo uma tecnologia multiplataformas, ele
- 27:15decidiu focar. Por exemplo, o Java era nativo
- 27:18quando a gente quando se fala de Android, Java era tecnologia
- 27:21nativa, desenvolvia Android programando em Java.
- 27:23Hoje eu não vejo ninguém usando mais Java para aplicações que
- 27:27estão iniciando para mobile. Todo mundo começa com cota.
- 27:30Funciona muito bem, é consolidado no mercado e é isso.
- 27:34Eu Acredito que com o Java fazendo o que tá fazendo e eu
- 27:38tô, eu tô cross, eu tô atuando em uns 8 clientes aqui,
- 27:41sabatinando pessoal, nunca vi ninguém iniciar um projeto back
- 27:44end com cota. Todo mundo começa com o Java, tá
- 27:46consolidado, todo mundo usa bem e acredito que é o principal
- 27:50foco deles. Eles, por exemplo, é o que eu
- 27:52quero trazer. Eles abriram mão do mercado ali
- 27:54do do Android. Foto me dominou, chegou
- 27:57chegando, aí isso segue sua vida.
- 27:59Está tudo bem, ainda consigo fazer para essa plataforma, mas
- 28:03não é meu foco. O que eu estou entendendo do
- 28:05posicionamento do Java é que o foco é micro serviço,
- 28:07extremamente distribuídos, cloud Nature, e ele não vai ter isso
- 28:10com aplicação mobile, por exemplo.
- 28:12Isso é. Legal, acho que até Oo que o
- 28:14Breno comentou, né? Tipo Oo nome do Java é carrega
- 28:18um peso. Então quando você vai definir
- 28:20ali da solução de em relação a outras linguagens, o pessoal
- 28:23fala, pô, espera aí, Java? É é uma das linguagem.
- 28:26Mais utilizados. O próprio Dudu comentou ali no
- 28:28início que está ali 90%, né? Do do das empresas, da Forbes
- 28:32500. Então assim, a comunidade tem
- 28:34esse senso do tipo, cara, tá, eu tenho outras abordagens aqui, eu
- 28:38tenho outras áreas, mas eu quero focar só nessa parte.
- 28:41Primeiro eu quero resolver isso. Acho que é muito interessante
- 28:44que é isso. Faz com que não preciso fazer
- 28:46tudo e fazer mais ou menos. Eu preciso fazer aquilo
- 28:50realmente e fazer bem, sabe? Fazer.
- 28:51Trazendo isso, por exemplo, o cobol é uma linguagem, uma das
- 28:55linguagens mais pra formato que a gente existe no mundo até
- 28:57hoje. É uma linguagem que ela sofre,
- 28:59pouca manutenção e evolução. Mas tem bancos digitais hoje.
- 29:02Vocês pesquisaram em dar uma olhada aí que nasceu com Java no
- 29:05core, substituindo o próprio cobol.
- 29:09Então dá para ter noção do poder da ferramenta, onde ela está
- 29:12focando, o que é que ela está buscando?
- 29:15Eu Acredito que é nisso que ela vai se consolidar.
- 29:17Talvez ela não vai ser mais aquela aplicação desktop, faz
- 29:20coisa que ela já foi no passado, que ela carrega esse legado.
- 29:24Mas eu acho que é algo que possibilitou ela chegar onde
- 29:26chegou. Eu tô defendendo aqui o legado
- 29:27do Java, tá vendo? Ela cresceu.
- 29:30Eu acho que hoje a gente discutiu muito aqui, né?
- 29:32Conversou muito aqui. Deu pra ver que o Java já já não
- 29:35é mais aquela linguagem legada, é verbosa e tudo.
- 29:39Ela tem esse foco na modernidade, ela tem esse foco
- 29:42na evolução e. Funciona muito bem hoje, né?
- 29:44Pra pra ensino, pra gente começar projetos novos, de, de,
- 29:48de prototipagem e tudo. Então acho que é um é um caminho
- 29:51bem bacana se seguir a partir de hoje, né?
- 29:53Com com o Java, a gente considerar bem o Java como uma
- 29:56possibilidade forte para para novos projetos, até com com
- 30:00necessidade de escalabilidade e tudo dependendo da expertise do
- 30:03time, da, da, da steck, né, igual você, comentou Jeff.
- 30:06Então acho que acho que hoje a gente falou bastante sobre esse
- 30:09assunto sobre o Java aí e acho que foi um papo bem bom, né?
- 30:12Acho que é isso o pessoal, então acho que.
- 30:14Vai ficando por aqui. Muito obrigado a todos vocês aí,
- 30:16a Jeff, Breno e Igor. Obrigado demais, valeu.
- 30:20Obrigado. Até a próxima, pessoal.
- 30:21Tchau, tchau.