Na última semana, concluí todas as lições de Javascript do Watch and Code , desenvolvido pelo engenheiro de software Gordon Zhu, ex-funcionário do Google, que resolveu montar seu próprio curso de programação.

Ao longo de 2019, tenho me aventurado no aprendizado de Javascript e nessa, já li alguns livros, assisti a videos no youtube e cheguei a fazer alguns cursos na Alura. Embora passado por vários conteúdos de excelência, nenhum deles se compara ao curtíssimo curso do Zhu.

O Watch and Code curso em si é pequeno, cada video tem entre 5 a 10 minutos. Mas, não se deixe enganar. Zhu é um programador exímio e um incrível instrutor, capaz de mostrar de forma prática como construir uma aplicação começando do jeito certo e principalmente, mais rápido e com menor custo de manutenção. Com poucas semanas, aprendi muito mais do que em qualquer outra fonte.

Durante o processo, além de aprender sobre a estruturas do Javascript, Zhu nos conduz pelo caminho de pensar como um programador, mostrando:

  • como escrever requisitos de forma clara, sem rodeios.
  • como usar a própria web como plataforma de desenvolvimento;
  • como usar o debugger da forma correta;
  • como ir testando a aplicação a cada feature desenvolvida;
  • como dividir um problema em partes bem pequenas, gerenciáveis.
  • como se desenvolve na prática a tal da arquitetura emergente.

E o mais importante: compreendi um conceito central sobre o desenvolvimento de softwares:

Programar é manipular listas!

Muitas vezes, nem nos damos conta, mas é isso mesmo: programas basicamente manipulam dados em listas. Eles inserem dados em listas, geram informações a partir de processamento (manipulação) dos dados de uma ou mais listas e guardam o resultado em listas! Quer ver só?

  • Um gerenciador de tarefas é uma lista de tarefas;
  • Um chat é uma lista de diálogos encadeados;
  • Uma rede social, listas de amigos, listas de feeds;
  • Um feed é uma lista de postagens;
  • Um microblog é uma lista usuários, cada qual com uma ou mais listas de mensagens curtas;
  • Um erp é um conjunto listas de nf’s, ordens de compra, dados contábeis;
  • Um canal de streaming é uma ou várias listas de músicas e videos;

Então, os príncipios são os mesmos, seja para criação de um app simples de lista de tarefas, seja para criação de uma aplicação sofisticada em qualquer área. As implicações sobre esse entendimento são enormes, pois trata-se de uma forma mais pragmática de se encarar o desenvolvimento.

Se você quer aprender Javascript no estilo change-game não deixe de aproveitar. Faça o Watch and Code do Gordon Zhu. Você vai aprender sobre as principais estruturas do Javascript, e ainda vai se divertir bastante, vendo sua aplicação crescer, como um filho que vai amadurecendo pouco a pouco.

Recomendo!

https://watchandcode.com/p/practical-javascript