[pt-BR] Open Source Friday Brasil 🇧🇷 com Leonel Sanches da Silva, Design Liquido

By GitHub

TechnologyBusinessStartup
Share:

Key Concepts

  • Open Source/Software Livre: Software cujo código-fonte é disponibilizado publicamente, permitindo que qualquer pessoa o utilize, modifique e distribua.
  • Controle de Versão: Sistema que gerencia as alterações feitas em um projeto ao longo do tempo, permitindo rastrear, reverter e colaborar em diferentes versões do código. Exemplos: CVS, SVN, Git.
  • GitHub: Plataforma de hospedagem de código-fonte baseada em Git, amplamente utilizada para colaboração em projetos de software.
  • Linguagens de Programação em Português: Iniciativas para criar e promover linguagens de programação que utilizam o português como idioma principal, visando reduzir a barreira do inglês e aumentar a acessibilidade à tecnologia.
  • Dialetos de Linguagem: Variações de uma linguagem de programação que adaptam a sintaxe e a semântica para um contexto específico, como o uso do português.
  • Hard Fork: Criação de um novo projeto de software a partir de uma cópia do código-fonte de um projeto existente, com o objetivo de seguir um caminho de desenvolvimento diferente.
  • TypeScript: Linguagem de programação de código aberto desenvolvida pela Microsoft que é um superconjunto de JavaScript, adicionando tipagem estática.
  • Framework: Conjunto de ferramentas, bibliotecas e convenções que facilitam o desenvolvimento de aplicações.
  • Compilador: Programa que traduz código escrito em uma linguagem de programação de alto nível para uma linguagem de baixo nível (como código de máquina).
  • Interpretador: Programa que executa código escrito em uma linguagem de programação linha por linha.
  • Hacktoberfest: Evento anual que celebra o open source, incentivando contribuições para projetos de código aberto.
  • GitHub Sponsors: Programa que permite que usuários apoiem financeiramente desenvolvedores e projetos de código aberto.
  • Déficit de Digitalização: Falta de acesso e proficiência em tecnologia em determinadas regiões ou populações, resultando em oportunidades perdidas.

Introdução e Quebra-gelo

A live começa com a apresentadora pedindo desculpas por ter cancelado lives anteriores devido a problemas de saúde, mas ressalta a importância de manter a live desta sexta-feira devido à presença de um convidado. Ela também lembra que o mês é de Hacktoberfest e incentiva a participação com contribuições.

A apresentadora introduz o convidado, Leonel, e o tema da conversa: projetos de programação, com foco em linguagens de programação em português e open source.

Como quebra-gelo, Leonel compartilha sua história pessoal fora do trabalho e da tecnologia. Ele se descreve como um homem de 40 anos, retrogamer, que aprendeu inglês sozinho por necessidade, jogando videogames como Mega Drive e Super Nintendo. Ele relata a dificuldade de entender os termos em inglês nos jogos e a busca por dicionários. Sua paixão por videogames e computadores o levou a aprender inglês de forma autodidata, com a ajuda de amigos nerds e práticas de conversação em inglês. A necessidade de inglês se intensificou com a faculdade de Ciência da Computação e entrevistas de emprego.

Leonel também compartilha sua mudança para a Califórnia em 2017, motivada pelo sonho de sua esposa de morar no sul da Califórnia. Ele descreve a jornada de aplicação para uma vaga de emprego em segredo e a posterior mudança com a esposa. Atualmente, ele está semiaposentado da programação, vivendo da venda de software.

A apresentadora se identifica com a história de Leonel, especialmente com o aprendizado de inglês através de videogames como Final Fantasy, destacando a importância do vocabulário adquirido. Ela pergunta sobre seu Final Fantasy favorito, e Leonel responde que é o nove, considerando-o o último "clássico".

Em seguida, Leonel revela que toca vários instrumentos musicais, mostrando sua guitarra Epiphone Les Paul Custom. Ele explica que usa a guitarra com ponte fixa para evitar perda de notas durante a execução. Ele também menciona o jogo Rocksmith como uma forma de aprender a tocar guitarra. A apresentadora comenta sobre a tendência de desenvolvedores terem algum instrumento musical, teorizando que muitos podem ser "músicos frustrados" que migraram para a programação.

Contato com Open Source e Controle de Versão

O primeiro contato de Leonel com o open source (na época chamado de "software livre") foi na Universidade Federal do Paraná, onde estudou Ciência da Computação. Ele participou de eventos relacionados ao software livre e conheceu o centro C3SL (Centro de Computação Científica e Software Livre).

Leonel expressa sua surpresa e frustração por não ter aprendido sobre controle de versão durante a faculdade, algo que ele considera fundamental e que deveria ser ensinado desde o primeiro período. Ele menciona o uso de CVS e SVN na época, e como o controle de versão mudou sua vida, evitando a perda de trabalhos de faculdade.

Com o surgimento do GitHub em 2009/2010, Leonel, já quase se tornando empresário, acompanhou a plataforma, que era escrita em Ruby. Ele relembra um incidente de segurança em 2011, onde um especialista encontrou um bug crítico no GitHub, e a equipe inicialmente relutou em admiti-lo. O incidente levou a uma maior atenção à segurança e à introdução das chaves SSH.

Leonel criou sua primeira conta no GitHub e começou a acompanhar os repositórios da .NET, pois a Microsoft estava migrando do Codeplex para o Git. Ele já possuía conhecimento em Git e começou a escrever pequenas bibliotecas em .NET. Ele também menciona ter tido uma participação ativa no Stack Overflow com cerca de 2.000 respostas na época, mas que se afastou da plataforma e de outras comunidades da Microsoft por estar cansado.

A Jornada com a Linguagem Égua e o Nascimento de Delegua

Leonel fundou uma disciplina de programação chamada "Coding Craft", onde ensinava alunos em cursos longos. Ele relata que muitos alunos desistiam após conseguir um novo emprego, mas os poucos que concluíam o curso alcançaram posições de gerência e direção.

Um de seus ex-alunos, Samuel, apresentou a Leonel uma linguagem de programação chamada Égua no final de 2021. Leonel ficou impressionado com o potencial da linguagem, que rodava em JavaScript, e decidiu colaborar com o projeto. Ele entrou em contato com o autor, ofereceu ajuda e começou a desenvolver suas próprias ideias.

No entanto, após alguns meses, Leonel percebeu que suas contribuições (pull requests) não estavam sendo aceitas e que o autor não explicava claramente a direção arquitetural da linguagem. Ele descobriu, através de vídeos, que a Égua era projetada para rodar exclusivamente no navegador, o que não atendia à sua visão de uma linguagem que pudesse rodar em qualquer dispositivo, desde Arduinos e Raspberry Pis até celulares de baixo custo.

Com o objetivo de criar uma linguagem mais versátil sem desrespeitar o trabalho anterior, Leonel decidiu fazer um "hard fork" do projeto Égua, dando origem a Delegua. Ele compartilhou o link do projeto no chat e pediu "estrelinhas" no GitHub.

A primeira ação de Leonel foi migrar todo o código para TypeScript, visando maior organização e facilidade de desenvolvimento. Durante esse processo, ele encontrou e corrigiu vários bugs. Cerca de quatro meses após o início do projeto, ele descobriu que a Égua não possuía um comando para ler da entrada padrão ("leia"). Isso o forçou a modificar o interpretador inteiro para torná-lo assíncrono, o que consumiu muitos finais de semana. Atualmente, o código de Égua e Delegua são significativamente diferentes.

O projeto Delegua começou em janeiro de 2022 com Leonel e Samuel. Eles publicaram o pacote no npm, criando um núcleo independente e uma versão para Node.js, permitindo que o núcleo fosse integrado em outras aplicações, como em projetos React.

Stardust e a Promoção de Delegua

Leonel menciona o projeto Stardust, um estagiário da Design Líquido, que implementa Delegua. Stardust é descrito como uma mistura de Duolingo e HackerRank, com tema espacial, gratuito e que utiliza React e Delegua. Ele também serve para testar e encontrar bugs em Delegua.

Leonel relata a dificuldade em promover Delegua, pois poucos desenvolvedores responderam aos seus contatos. Ele então buscou professores universitários, mas também encontrou pouca receptividade e colaboração.

Dialetos de Linguagem em Português e a Extensão do Visual Studio Code

Diante da falta de resposta, Leonel decidiu focar em desenvolvedores de dialetos de linguagens de programação em português, como Mapler, Portugal Studio e Portigol. Ele percebeu que essas linguagens tinham lições valiosas para Delegua.

Ele começou a implementar dialetos para cada uma dessas linguagens usando o núcleo de Delegua, criando dialetos para:

  • Visual G: Uma linguagem popular em cursos técnicos no Brasil.
  • Portugal Studio: Um projeto excelente, mas infelizmente abandonado.
  • Mapler: Desenvolvido na Universidade do Maranhão.
  • Portigol: Um dialeto de Portugal.

Leonel também menciona a linguagem meme Beer Language (BL), que está inativa, mas para a qual ele criou um dialeto em Delegua. Ele compartilhou um link para a extensão do Visual Studio Code que permite rodar código BL usando Delegua.

Ele lançou uma extensão para o Visual Studio Code que permite rodar código de Visual G, Portugal Studio e outros dialetos. Essa extensão teve um número significativo de downloads (29.000 para Windows e 20.000 para Linux), pois oferece uma solução que funciona diretamente no Linux e Mac, ao contrário das linguagens originais que não eram compatíveis com esses sistemas.

Leonel também produziu vídeos curtos no YouTube ensinando a usar essas linguagens, que se tornaram os vídeos mais assistidos em seu canal.

Monetização e a Visão de Longo Prazo

Leonel acredita que não adianta ter uma linguagem de programação se as pessoas não puderem ganhar dinheiro com ela. Ele argumenta que a forma mais fácil de monetizar é através de aplicações web. Para isso, ele começou a criar linguagens de programação para estruturas de sites, estilos de sites e consultas a bancos de dados.

Ele menciona uma nova linguagem lançada recentemente para representação intermediária para compiladores, visando atrair colaboradores da Universidade Brasileira Livre.

Os seis repositórios mais importantes da organização Design Líquido no GitHub são dedicados a essas linguagens em português:

  • Delegua: Linguagem de programação 100% em português.
  • Líquido: Um framework completo que utiliza Delegua para lógica, LMHT para geração de páginas e Folhas para estilos.
  • LMHT (Linguagem de Marcação Hipertexto): HTML em português. Existe um conversor e um editor web que permite tradução simultânea entre HTML e LMHT.
  • Folhas: CSS e Sass em português, com pré-processamento e geração de mapa de origem.
  • Lincones: Linguagem de consulta estruturada (SQL) em português, com bibliotecas para SQLite, MySQL e PostgreSQL.
  • Delega Entidades: Um mapeador objeto-relacional em desenvolvimento, similar a Entity Framework, Hibernate, etc.

Leonel destaca que todas essas linguagens são escritas em TypeScript e convida desenvolvedores proficientes em TypeScript a contribuírem, oferecendo recompensas em dólar através do GitHub Sponsors para issues com a label de recompensa, novas implementações de dialetos e correções de bugs.

Manifesto e o Déficit de Digitalização

O manifesto de Leonel é baseado na crença de que o Brasil e outros países de língua portuguesa têm um potencial tecnológico inexplorado. Ele aponta o déficit de digitalização como um grande problema, onde há muitas vagas de emprego em tecnologia, mas falta mão de obra qualificada. A barreira do inglês é um obstáculo significativo.

Ele argumenta que o uso de linguagens de programação em português pode aumentar a eficiência em 30-35%, com base em um estudo da Universidade de Brasília usando a linguagem Calango. Essa eficiência pode ser um diferencial para empresas.

Leonel também aborda a dificuldade em contratar juniores no mercado de trabalho, onde as empresas preferem contratar seniores. Ele defende a importância de treinar juniores, pois isso pode gerar lealdade e um retorno a longo prazo, mesmo que as empresas busquem resultados de curto prazo. Ele exemplifica com o caso de João Lucas, um aprendiz PCD que contribui ativamente para os projetos.

Ele menciona o projeto Pituguês, um dialeto de português para Python, que nasceu dentro de Delegua e agora está se tornando um projeto independente com o apoio da Cumbuca. Ele relata um tutorial em Belém do Pará onde crianças conseguiram entender o código e criar pequenos programas, o que as fez compreender melhor o trabalho de suas mães engenheiras de dados.

Leonel compartilha sua própria experiência de começar a programar aos 13 anos com Visual Basic 6 e a alegria que sentia ao criar pequenos programas. Ele busca replicar essa alegria para milhões de pessoas e contribuir para a posteridade. Ele se sente realizado ao ver pessoas mudando de vida e ganhando dinheiro através das aplicações desenvolvidas com suas linguagens.

Projetos e Demonstrações

Leonel apresenta a organização Design Líquido no GitHub, destacando os seis repositórios principais. Ele demonstra o LMHT, mostrando a tradução simultânea entre HTML e LMHT em um editor web. Ele também mostra o Delegua Web, um editor que executa código Delegua no navegador, com tradutores para JavaScript e Python.

Ele menciona que os projetos estão na Hacktoberfest e que recompensas em dólar são pagas por contribuições. Ele também fala sobre dois compiladores para Delegua: CGD (Compilador Geral Delegua), que compila para assembly, e Delegua LLVM, que compila para LLVM, permitindo a geração de binários.

Futuro e Conclusão

O objetivo futuro de Leonel é tornar Delegua mais comercial, desenvolvendo pacotes para manipulação de arquivos, requisições HTTP e, futuramente, processamento de imagem, dependendo da demanda da comunidade. Ele almeja alcançar 1.000 estrelas no GitHub e ter 200 repositórios utilizando Delegua e outras linguagens para solicitar sintaxe colorida no GitHub.

Ele expressa o desejo de ter "encantado" a audiência com o trabalho realizado e pede ajuda para divulgar o projeto e atrair mais pessoas para resolver o problema do déficit de digitalização em países de língua portuguesa.

A apresentadora se declara encantada e promete dar estrelas aos projetos. Ela elogia o espírito open source de Leonel, que sempre menciona as pessoas que o ajudam. Leonel reforça a importância da colaboração, mencionando Samuel, Ítalo e outros colaboradores.

Ele compartilha um link para o Discord da comunidade, convidando as pessoas a entrarem, tirarem dúvidas e participarem do movimento.

A live se encerra com agradecimentos a Leonel, à audiência e votos de um bom final de semana.

Chat with this Video

AI-Powered

Hi! I can answer questions about this video "[pt-BR] Open Source Friday Brasil 🇧🇷 com Leonel Sanches da Silva, Design Liquido". What would you like to know?

Chat is based on the transcript of this video and may not be 100% accurate.

Related Videos

Ready to summarize another video?

Summarize YouTube Video