O melhor do JavaScript
Tags: programacaofuncional, funcional, haskell
Published: 2021-11-26 17:17:24

Esta é uma transcrição do primeiro episódio do podcast **segunda.tech**. Se preferir, você pode ouvir este episódio no [YouTube](https://www.youtube.com/watch?v=K4FBXTp-hFE), [Spotify](https://open.spotify.com/show/27gqvzFMi2ceYTapHU9ytW) ou [Apple Podcasts](https://podcasts.apple.com/br/podcast/segunda-tech/id1454714035).

[![Áudio do podcast no YouTube](http://img.youtube.com/vi/K4FBXTp-hFE/0.jpg)](http://www.youtube.com/watch?v=K4FBXTp-hFE)

Este é um projeto que estou criando com o objetivo de abrir espaço pra discutirmos sobre **livros**. Aqui pretendo falar um pouquinho sobre os livros que de alguma forma influenciaram minha carreira. Então, vão aparecer livros sobre programação, arquitetura de software, sobre agilidade e outros temas.

A única regra é: cada episódio vou falar sobre um livro que li em um passado recente ou mais distante e que impactou minha carreira de alguma forma. 

Mas não vou fazer um resumo nem tentar explicar em detalhes os temas abordados na obra. Meu objeto principal aqui é estimular a leitura de bons livros.

E nesse primeiro episódio escolhi falar sobre o livro **JavaScript: The Good Parts**, cuja tradução para o português ganhou o nome de **O Melhor do JavaScript**.

Então, bora começar?

---

O autor deste livro é ninguém menos que [Douglas Crockford](https://www.crockford.com/about.html), uma grande referência dentro do universo do JavaScript. Mas, mesmo sendo uma referência na área, Crockford admite que JavaScript não é uma linguagem perfeita. Longe disso, o autor aponta  em vários momentos características que ele considera que foram falhas de design. E detalhando essas falhas, ele nos guia explicando como evitar aquelas que podem ser contornadas e como sobreviver, de uma forma um pouco mais saudável, com aquelas outras que infelizmente somos obrigados a conviver.

Um outro ponto que achei bacana deste livro foram as explicações sobre o paradigma utilizado no JavaScript. Ao contrário da maioria das linguagens que estamos acostumados, ela utiliza o conceito de protótipos. E pra quem, como eu, estudou primeiro linguagens com uma orientação a objetos mais tradicional baseada em classes, como Java ou C#, entender a diferença entre a orientação a objetos utilizadas nessas linguagens e a utilizada no JavaScript é **fundamental**. E felizmente o autor consegue fazer isso muito bem neste livro.

Uma outra coisa interessante são os padrões apresentados no livro. JavaScript é uma linguagem extremamente flexível e isso trás um grande poder, mas também uma responsabilidade maior na hora de organizar o nosso código. A mesma coisa pode ser feita de diversas formas diferentes e uma pessoa inexperiente pode ficar confusa com isso.

Mas o autor explica os principais cenários que todo mundo vai se deparar, e elabora exemplos bem didáticos de como estruturar melhor nossos sistemas para cada uma dessas situações. Ele aborda ainda outras características que podem ser confusas para quem está começando, como o fato das funções no JavaScript serem objetos.

Fora tudo isso, até mesmo o capítulo sobre _Arrays_ é super interessante! Quando li o título do capitulo: _Arrays_, pensei que seria mais do mesmo. Mas não, ele entre em detalhes sobre como funcionam os _Arrays_ no JavaScript. E se você ainda não sabe, com certeza também deve ficar surpreso ao descobrir o que rola por baixo dos panos quando você cria um _Array_ nesta linguagem! E claro que não vou explicar aqui né, afinal, como falei lá no começo meu objetivo é justamente incentivar a leitura, e não fazer um resumo dos livros.

Bom, mas nem tudo são flores. Este é um excelente livro, mas tem alguns pontos que preciso chamar atenção. O primeiro e provavelmente mais importante deles, é que ele foi lançado em 2008. E pra quem acompanha o universo JavaScript sabe que muita coisa nova rolou de lá pra cá. Mas calma, não desanima não. Ainda assim vale muito a pena ler este livro. Eu só estou chamando atenção pra este fato, pra que você saiba que existem algumas características que estão um pouco ultrapassadas. A maior delas, talvez seja o uso do _var_ para declaração das variáveis ao invés dos mais modernos _let_ e _const_.

Outra coisa é que você não vai encontrar no livro, por este mesmo motivo, a nova notação para criação de classes, nem as famosas _arrow functions_.

Enfim, este livro não aborda nada do _ES6_, também conhecido como _ECMAScript 2015_. Que nada mais é do que a versão mais moderninha do JavaScript. Mas como eu disse, isso não tira a beleza do livro, tá?

Bom, pra quem eu indicaria este livro? Pra basicamente qualquer pessoa que já é ou queira se tornar uma desenvolvedora JavaScript profissional. Indico fortemente também pra quem tem algum preconceito com a linguagem, principalmente pra galera que vem do Java ou .NET. Este livro com certeza vai esclarecer alguns pontos bem importantes sobre o JavaScript e depois dele comecei a ver esta linguagem com outros olhos.

Mas ele não é um livro para iniciantes, que não sabem nada de JavaScript, ok? Se você ainda está dando seus primeiros passos, talvez outras fontes sejam mais produtivas. Aí depois você pode voltar e ler este livro.

Então é isso aí.

Este foi o primeiro episódio deste podcast e espero que você tenha gostado. Se quiser, pode mandar sua opinião, criticas ou sugestões pra mim através do e-mail marcio@segunda.tech. Blz?

Boa leitura pra você e, até o próximo livro!