https://media.blubrry.com/hipsterstech/content.blubrry.com/hipsterstech/hipsters_058_javascript.mp3Podcast: Play in new window | Download | Embed RSS | More Compartilhar Assinar Evolução e Especificação do JavaScript Moderno – Hipsters #58 22/08/2017 / front-end Podcast / 49 Comentários JavaScript, ECMAScript, TC39 e proposals. Tá difícil entender as versões e nomes da linguagem que quer dominar todas as outras. Nesse episódio falamos um pouco da história, da evolução e de como novos recursos entram no JavaScript, com alguém que está por trás dela. Participantes: Paulo Silveira, um host que curte especificações Sergio Lopes, o cohost frontender mais famoso do pedaço Leo Balter, engenheiro na bocoup, o brasileiro que tá tocando o terror na especificação! Links: Draft da Especificação mais atual do JavaScript. Ou EcmaScript. Ou ES. ou ES 2017 🙂 Ronin, o filme! Propostas do TC39 para o JavaScript Tabela de implementação por browser dos recursos do JavaScript (kangax) Proposta de decorators Podcast #38 do Hipsters sobre JavaScript Conteúdo dos criadores do podcast: Cursos online de JavaScript na Alura Novo livro de JavaScript do cangaceiro Flavio Almeida! Produção e conteúdo: Alura Cursos online de Tecnologia Caelum Ensino e Inovação Edição e sonorização: Radiofobia Podcast e Multimídia Relacionado
Leonardo Gregianin - 0 O título da capa não passou pelo teste unitário… Arruma por favor a “Especificação”. Responder
Lucas Palma Stabile - 0 Link pro filme Ronin é o mesmo link pro perfil do Leo Balter no Twitter tmb Responder
Luiz Costa - 0 Bom dia hipsters, para mim uma ideia boa seria a geracao automatica de arquivos de testes, baseado no arquivo js. Responder
Leo Balter - 0 aí seria tipo versionar o arquivo e qualquer alteração passa por diff e um humano revisa. Eu prefiro testes escritos com intenção. Testar só porque funciona daquele jeito pode deixar passar direto pequenos problemas que podem virar bola de neve na frente. Testes precisam falhar por um bom motivo, e inclusive permitir refatorações completas. Um exemplo de testes gerados que me dá arrepios são os snapshots do React/Jest. Aquilo só testa o diff do código. Responder
Paulo Nasciemento - 0 Sugiro adotar o nome de JavaScript Hipster para as proximas versões. Estará sempre por dentro das novidades. Responder
Tiago Nobrega - 0 Sugiro uma solução para o problema: 0.1+0.2===0.3 (return false). Isso é insano. A escolha de uma implementação melhor para number daria muito mais segurança para operações matemáticas decimais. Não gostaria de quebrar a web com isso, mas por favor não criem uma classe especificamente para isso. Nenhuma linguagem deveria ter mais de um tipo de número hoje em dia. Responder
Marcel dos Santos - 0 Isso não é um problema do JavaScript em si. Isso é problema de como números de ponto flutuantes são calculados em arquitetura 32 bits. Isso acontece em diversas linguagens. A solução para este problema é de se utilizar estruturas que suportam o cálculo de números com alta precisão. Existem bibliotecas para isso em quase todas as linguagens. 😉 Veja mais informações em: https://www.wikiwand.com/pt/Ponto_flutuante Responder
Leo Balter - 0 O mais próximo disso é o BigInt para números inteiros. https://tc39.github.io/proposal-bigint/ As operações são feitas por bit e não por matemática exata. A soma para 0.1 + 0.2 no JS é precisa em relação ao posicionamento de bits no cálculo. Esse – e algumas outras operações – deixam uma sujeira. Pode parecer ridículo, mas essa operação permite uma série de coisas interessantes como melhor performance e até manipulação pesada de memória (ex: gráficos). É um cobertor curto, pro lado que puxar vai ter vantagens e desvantagens. Como já mostraram, não é diferente em outras linguagens. Essa operação segue um padrão especificado pelo IEEE. Responder
Raphael Lacerda - 0 Conclusão do podcast Javascript === java, returns false Javascript == Java, returns true Responder
Welton Vaz de Souza - 0 Hoje, teve Hipsters sobre Javascript sem a participação do Professor @flaviohalmeida quero deixar meu veemente protesto ao Paulo Silveira! https://uploads.disquscdn.com/images/d31db9d45483f760ddef95b3c9095c9c1d1bd9acdfeb7018ee7356cedef1a7bb.gif Responder
Leo Balter - 0 seria ótimo! Quem sabe nao me chamam novamente para um outro episódio onde eu possa bater um papo com o Flavio? Eu adoraria. #pidao. Responder
Guilherme Leoni - 0 Fiquei chateado quando percebi que ele não estaria… Tá loco! Só o Flávio pra compartilhar dos nossos problemas com teclados malditos… Responder
Welton Vaz de Souza - 0 Infelizmente, como explicou o Paulo Silveira não foi possível! O professor Flávio Almeida foi a unica pessoal no universo que consegui ensinar-me essa mald…, quer dizer linguagem, é achar divertido. Apesar que agora eu usar mais ELM, com Javascript já consegui fazer um joguinho para meu filhote. Responder
Marcel dos Santos - 0 Mais um excelente episódio do Hipsters.tech! É de dar orgulho de ver brasileiros envolvidos em projetos importantes relacionados a evolução de linguagens como o JavaScript. Além disso, o Leo Balter é uma excelente pessoa e sempre aberto para uma conversa, seja pessoalmente ou pelo Twitter. Tive a oportunidade de conversar com ele em diversas ocasiões. 😉 Uma das funcionalidades (que não é tão maluca assim) que espero poder ver no JavaScript é o pipeline operator que já existe em linguagens como Elixir, Elm e Hack. Além de ser elegante e deixar o nosso código mais expressivo, é um caminho para tornar o JavaScript com uma pegada mais funcional. Agora, para botar lenha na fogueira e polemizar um pouco, será que existe alguma proposta ou intenção por parte do TC39 na implementação de um sistema de tipos mais robusto em JavaScript com anotações de tipos, por exemplo? ;P Pipeline Operator Proposal – https://github.com/tc39/proposal-pipeline-operator Pipeline Operator – https://youtu.be/dYQIkV2L-eg Responder
Leo Balter - 0 eu acho difícil – beirando o impossível – rolar sintaxe de tipagem no JS (tipos já existem). Acho que o TypeScript seria a melhor saída para quem procura alguma alternativa, já que ele anda bem colado no desenvolvimento do ES. Responder
Roberto Oliveira - 0 Pipeline operator <3 Ja uso muito esquema de composição usando a função de pipeline do ramda. Seria fantástico ter essa notação na linguagem. Responder
Rafael Novello - 0 Pessoal, primeiramente parabéns pelo trabalho! Quando vai sair o episódio sobre Python? Já existem pesquisas que apontam que Python é a principal linguagem de programação em 2017 [1]. Se precisarem de ajuda para encontrar um convidado, posso apresentar algumas pessoas! Um abraço! [1] – http://spectrum.ieee.org/computing/software/the-2017-top-programming-languages Responder
João Paulo Oliveira - 0 Apoio muito um sobre Python, alias já faz um tempão que aguardo um podcast sobre Python, segue ai umas sugestões de convidados. Fernando Masanori Nilo Ney Coutinho Menezes Luciano Ramalho Responder
Rafael Novello - 0 Sim, estes são ótimos nomes para um episódio sobre Python. Outras boas sugestões seriam: Christiano Anderson Rodrigo Senra Henrique Bastos Responder
João Paulo Oliveira - 0 Eu nunca ouvi esses nome que você falou, isso é bom que já aprendi novos nomes, vou procurar melhor sobre eles. Acho que seria uma boa falar sobre, o futuro da linguagem, o titulo que a linguagem tem de “Faz de Tudo”, e sobre os Frameworks. Responder
Rafael Novello - 0 Nossa, tem muita coisa pra falar de Python! Alem destes pontos que vc citou, da pra falar da evolução da linguagem até chegar a ser a mais usada segundo várias pesquisas, da pra falar de data science, de dev web, devops, etc, etc, etc =D
Jaelson RC - 0 Mas essa moda de brake change que esta nos Framework javascript ta uma bosta.. em menos de um ano seu código já esta defasado pelos os framework… os framework podia adotar esse preocupação do javascript em não quebra o códigos… Responder
Marcos - 0 Seria bacana ter um modo em que a tipagem dos dados seja obrigatória, se não me falha a memória o PHP implementou este recurso recentemente na versão 7. Responder
Leo Balter - 0 a gente quer se livrar de modos no JS. “use strict” já foi muito, e nem o “use module” conseguiu entrar. Responder
Vinícius Dias - 0 Opa, Marcos. PHP tem o strict types, mas isso não força o desenvolvedor a usara tipagem. Só desabilita o casting. Por exemplo: function funcao(int $numero) {} Isso funciona dessa forma: funcao(‘1’) sem strict types, mas com strict types habilitado, não funciona. Responder
Robson Peixoto - 0 Show de bola!!! Que tal falar sobre Kotlin, se possível fora do mundo Android? =D Responder
Bruno Costa - 0 Nossaaaaa vão mudar o Date do JS. Esse tem jeito ainda kkkkkk. Ótimo Podcast. Queria sugerir um tema sobre gos mais voltado para comparação gráfica seria muito legal. Responder
Leo Balter - 0 na verdade o Date continua o mesmo, mas vai ser feita uma outra API nativa com a situação resolvida. Assim não quebra o código de ninguém. Responder
Fernando Boaglio - 0 Que absurdo, o nível desse podcast caiu muito, a extensão do Warcraft não é Frozen Helmet , é Frozen Throne kkk frozen-throne.js kkk Responder
Leo Balter - 0 Eu tinha falado de Frozen Realms. E tem Realms no Warcraft certo? De qualquer forma, Warcraft é a única coisa que me vem à mente quando falam de Frozen Realms. Responder
Augusto Santos - 0 Excelente podcast. Fico feliz em saber que os responsáveis pela especificação da linguagem estão realmente focados em tornar a linguagem ainda mais eficiente, não incluindo recursos “da moda” sem um profundo estudo antes. Responder
Manoel Vilela - 0 Interessante. Com essas novas especificações aí parece até uma linguagem de programação de verdade. Fico pensando se é esperança sobre o futuro da web ou ilusão… espero que as coisas continuem melhorando. Responder