um podcast de divulgação científica
FES 52 Roberto Ierusalimschy (PUC-Rio)
A linguagem de programação Lua (e seu impacto na Engenharia de Software)
[https://youtu.be/HcaUsJ_nn_Q]{.underline}
+———————————————————————–+ | A Linguagem de Programação Lua e seu Impacto na Engenharia de | | Software, com Roberto Ierusalimschy | +=======================================================================+ | Neste episódio do Fronteiras da Engenharia de Software, exploramos | | o impacto global da linguagem de programação Lua na engenharia de | | software. Criada no Brasil, Lua é amplamente utilizada em diversas | | áreas, como desenvolvimento de jogos, ferramentas para engenheiros e | | sistemas embarcados. Com uma abordagem técnica e histórica, | | analisamos suas características e seu legado no cenário tecnológico. | | | | Nosso convidado é Roberto Ierusalimschy, Professor Titular da PUC-Rio | | e co-criador de Lua. Roberto é uma das mentes por trás dessa | | linguagem leve, eficiente e amplamente reconhecida. Além de liderar o | | design da linguagem, publicou artigos em revistas prestigiadas como | | Communications of the ACM e ACM Transactions on Programming | | Languages and Systems e escreveu o livro Programming in Lua. Sua | | vasta experiência oferece uma visão profunda sobre os desafios e | | conquistas no desenvolvimento de Lua. | | | | Os apresentadores Adolfo Neto e Maria Claudia Emer conduzem a | | conversa, abordando temas como: | | | | - Introdução à linguagem Lua e sua utilidade como primeira | | > linguagem de programação. | | | | - O processo de design e manutenção da linguagem, incluindo como | | > decisões sobre novas features são tomadas. | | | | - Usos notáveis de Lua em jogos (como no Roblox) e em ferramentas | | > para pesquisa em engenharia de software. | | | | Além disso, discutimos a importância de Lua como um marco para | | linguagens de programação originadas em países em desenvolvimento e | | traçamos paralelos com outras linguagens criadas por brasileiros, | | como Elixir e Lean. Roberto também compartilha reflexões sobre sua | | trajetória acadêmica, suas motivações e temas de interesse para | | futuras colaborações em pesquisa. | | | | Encerramos com uma provocação sobre as próximas fronteiras na | | engenharia de software, oferecendo uma visão para os profissionais da | | área. | | | | Roberto Ierusalimschy: | | | | [https://www.inf.puc- | | rio.br/~roberto/]{.underline} | | | | [https://sch | | olar.google.com/citations?user=_pZgPlIAAAAJ&hl=en&oi=ao]{.underline} | | | | | | [https: | | //www.inf.puc-rio.br/blog/professor/roberto-ierusalimschy/]{.underlin | | e} | | | | [https://g | | ithub.com/roberto-ieru]{.underline} | | | | Artigos: | | | | A Look at the Design of Lua, Communications of the ACM, 2018 | | [https://bit.ly/3YT8Jro]{.underline} | | | | The Evolution of Lua, HOPL 2007 | | [https://bit.ly/40Up0iq]{.underline} | | | | Demais Links | | | | Programming in Lua | | | | [https://amzn.to/4e0BYOs]{.underline} | | | | Entrevista de Roberto no freecodecamp em português | | | | [https://www.freecodecamp.org/portuguese/news/podcast-ep05/]{.un | | derline} | | | | Entrevista de Roberto no OsProgramadores | | | | [https://osprogramadores.com/podcast/podca | | st-16/]{.underline} | | | | Tim Menzies | | | | [https://www.csc.ncsu.edu/pe | | ople/tjmenzie]{.underline} | | | | [https://timm.fyi/]{.underline} | | | | Lua na PUC-Rio (2020) | | | | [https://www.youtube.com/watch?v=R | | EwxKPitiZM]{.underline} | | | | Posse e aula magistral do professor Roberto Ierusalimschy (2023) | | | | [https://youtu.be/Va6i3zh4_Io?si=vAATO2r_iP9 | | 3ow0P]{.underline} | | | | Lua Workshop 30 anos de Lua | | | | [https://www.youtube.co | | m/playlist?list=PLRKeuVfLlY-4OZKpfochBktBuqgz123YH]{.underline} | | | | Roberto Ierusalimschy – Pesquisador Homenageado da CELP | | | | [https://www | | .inf.puc-rio.br/blog/noticia/noticia/roberto-ierusalimschy-pesquisado | | r-homenageado-da-celp]{.underline} | | | | Entrevistas com Roberto | | | | [https://open.spotify.com/search/%22rob | | erto%20ierusalimschy%22/podcastAndEpisodes]{.underline} | | | | Tese Leonardo de Moura | | | | [https://github.com/fronteirases/frontei | | rases.github.io/blob/master/episodios/material_complementar/01_PhD_mo | | ura.pdf]{.underline} | | | | IEEE Spectrum: The Top Programming Languages 2024 | | | | [https://spectrum.ieee.org/top-programming-languages-2024]{. | | underline} | | | | GitHub Octoverse The top programming languages 2022 | | | | // Lua 4th fastest growing | | | | [ | | https://octoverse.github.com/2022/top-programming-languages#:~:text= | | Top%20languages%20used%20in%202022,place%20year%2Dover%2Dyear]{.under | | line}. | | | | [https://innovationgr | | aph.github.com/global-metrics/programming-languages]{.underline} | | | | Tiobe Index | | [https://www.tio | | be.com/tiobe-index/]{.underline} | | | | StackOverflow survey 2024 | | [https://survey.stacko | | verflow.co/2024/]{.underline} | | | | Comente no YouTube, no Spotify ou pelo email | | fronteirasesw@gmail.com | | | | Entrevistadores: Adolfo Neto (PPGCA UTFPR) | | | | [https://adolfont.github.io]{.underline} | | e Maria Claudia Emer | | | | Nosso site é: | | [https:/ | | /fronteirases.github.io]{.underline} | | | | | | Música utilizada: Extreme Energy (Music Today 80). Composed & | | Produced by: Anwar Amr. Link: | | [https://www.youtube.com/watch?v=8 | | ZZbAkKNx7s]{.underline} | | | | | | Data de publicação: 19 de novembro de 2024. | | | | Como citar este episódio: | | | | FRONTEIRAS DA ENGENHARIA DE SOFTWARE EP. 52: A linguagem de | | programação Lua (e seu impacto na Engenharia de Software), com | | Roberto Ierusalimschy (PUC-Rio). [Locução de]: Adolfo Neto e Maria | | Claudia Emer. Entrevistado: Roberto Ierusalimschy. S. l.: Fronteiras | | da Engenharia de Software, 19 nov. 2024. Podcast. Disponível em: | | [https://fronteirases.github.io/episodios/paginas/5 | | 2]{.underline}. | | Acesso em: 19 out. 2024. | +———————————————————————–+ | | +———————————————————————–+ | | +———————————————————————–+
Versão final: [https://youtu.be/HcaUsJ_nn_Q]{.underline}
Vídeo original com anotações dos cortes
[https://youtube.com/live/CTxMYkt50FE]{.underline}
Antes de começar a gravação:
Numa entrevista que você deu para o Marcelo Pinheiro, no podcast OsProgramadores, você disse: “[na verdade Lua é curioso porque eu nunca parei e disse vou fazer uma linguagem de programação”]{.mark}
Links Roberto Ierusalimschy
[https://www.inf.puc-rio.br/~roberto/]{.underline}
[https://scholar.google.com/citations?user=_pZgPlIAAAAJ&hl=en&oi=ao]{.underline}
[https://www.inf.puc-rio.br/blog/professor/roberto-ierusalimschy/]{.underline}
[https://github.com/roberto-ieru]{.underline}
A Look at the Design of Lua, Communications of the ACM, 2018 [https://bit.ly/3YT8Jro]{.underline}
The Evolution of Lua, HOPL 2007 [https://bit.ly/40Up0iq]{.underline}
Links
Programming in Lua
[https://amzn.to/4e0BYOs]{.underline}
Entrevista de Roberto no freecodecamp em português
[https://www.freecodecamp.org/portuguese/news/podcast-ep05/]{.underline}
Entrevista de Roberto no OsProgramadores
[https://osprogramadores.com/podcast/podcast-16/]{.underline}
Tim Menzies
[https://www.csc.ncsu.edu/people/tjmenzie]{.underline}
[https://timm.fyi/]{.underline}
Lua na PUC-Rio (2020)
[https://www.youtube.com/watch?v=REwxKPitiZM]{.underline}
Posse e aula magistral do professor Roberto Ierusalimschy (2023)
[https://youtu.be/Va6i3zh4_Io?si=vAATO2r_iP93ow0P]{.underline}
Lua Workshop 30 anos de Lua
[https://www.youtube.com/playlist?list=PLRKeuVfLlY-4OZKpfochBktBuqgz123YH]{.underline}
Roberto Ierusalimschy – Pesquisador Homenageado da CELP
Entrevistas com Roberto
[https://open.spotify.com/search/%22roberto%20ierusalimschy%22/podcastAndEpisodes]{.underline}
Tese Leonardo de Moura
IEEE Spectrum: The Top Programming Languages 2024
[https://spectrum.ieee.org/top-programming-languages-2024]{.underline}
GitHub Octoverse The top programming languages 2022
// Lua 4th fastest growing
[https://innovationgraph.github.com/global-metrics/programming-languages]{.underline}
Tiobe Index [https://www.tiobe.com/tiobe-index/]{.underline}
StackOverflow survey 2024 [https://survey.stackoverflow.co/2024/]{.underline}
Bend
[https://github.com/HigherOrderCO/Bend]{.underline}
ADVPL
[https://archive.is/zOmZU]{.underline}
The O=M Programming Language
Roberto Ierusalimschy’s technical report
[https://bit.ly/4hmyo42]{.underline}
Tim Menzies’s GitHub (two accounts)
[https://github.com/timm]{.underline}
[https://github.com/timmenzies]{.underline}
[(PARTE 1 - APRESENTAÇÃO DOS HOSTS E DA PESSOA ENTREVISTADA)]{.mark}
[(ADOLFO)]{.mark}
Olá,
eu sou Adolfo Neto.
Estou aqui com a co-host do Fronteiras da Engenharia de Software, Maria Claudia Emer.
Tudo bem, Maria Claudia?
[(MARIA CLAUDIA)]{.mark} Tudo bem. É um prazer estar aqui com vocês e certamente mais um episódio de muito aprendizado Adolfo.
[(ADOLFO)]{.mark}
Hoje vamos entrevistar
Roberto Ierusalimschy e o tema será A linguagem de programação Lua (e seu impacto na Engenharia de Software)
Roberto é Professor Titular na PUC-Rio, é um dos criadores da linguagem de programação Lua, utilizada no mundo inteiro, e Arquiteto Líder da linguagem. Roberto publicou vários artigos em sua carreira em revistas e eventos como
Communications of the ACM
Software: Practice and Experience
ACM History of Programming Languages (HOPL)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dr Dobb's Journal
Science of Computer Programming
Simpósio Brasileiro de Linguagens de Programação (inclusive o de 2024)
Entre outros veículos.
Além disso, escreveu o livro
Programming in Lua
Que está em sua quarta edição.
Hoje vamos conversar sobre a linguagem de programação Lua e seu impacto na Engenharia de Software.
Tudo bem, Roberto?
Muito obrigado por ter aceito nosso convite!
Você tem algo a complementar nesta sua apresentação?
(Roberto)
[(ADOLFO)]{.mark} Em primeiro lugar, quero dizer que quem quiser conhecer mais sobre a história do professor Roberto, a história de Lua, nós vamos deixar alguns vídeos e episódios de podcasts que estão relacionados a isso. Eu recomendo principalmente o episódio do podcast freecodecamp em português, mas tem também a aula magistral do professor Roberto quando foi promovido para o cargo de Professor Titular da PUC Rio.
A primeira pergunta é para quem por acaso não conheça Lua, não saiba o que é Lua. Explica para gente o que é a linguagem de programação Lua
(Roberto)
[(MARIA CLAUDIA)]{.mark} Na sua opinião, Lua pode ser considerada como uma primeira linguagem de programação? Você sabe se é utilizada em alguma instituição?
"Está certo aqui: uma primeira linguagem de programação"
Sim.
No sentido de linguagem que a pessoa vê primeiro na faculdade
Entendi
(Roberto)
// array com 1
// tabelas
[(ADOLFO)]{.mark} Em 2018, você, Luiz Henrique de Figueiredo e Waldemar Celes, publicaram na Communications of the ACM o artigo “A Look at the design of lua” (Uma Visão sobre o Projeto de Lua). Este artigo apresenta as principais características da linguagem Lua e seus objetivos de design. No site da ACM há inclusive um vídeo com os três autores gravado na PUC-Rio. Como surgiu este artigo?
(Roberto)
[(MARIA CLAUDIA)]{.mark} Lua, como toda linguagem de programação, é também um software. No caso, um software bem sucedido, que vem sendo mantido e modificado ao longo de vários anos. Como foi e tem sido o processo de desenvolvimento? Há um core team? Quando alguém pede uma nova feature, quem decide se será incluída ou não na linguagem?
(Roberto)
[(ADOLFO)]{.mark} Lua fazia parte do ecossistema de Ginga, que era o middleware brasileiro para TV interativa, um projeto coordenado pelo falecido professor da PUC-Rio Luiz Fernando Soares. Você teve envolvimento neste projeto?
(Roberto)
[https://etiene.net/]{.underline}
// por que não foi pra frente
// Globo?
[(MARIA CLAUDIA)]{.mark} Uma das principais plataformas para desenvolvimento de jogos hoje em dia se chama Roblox. Nesta plataforma as pessoas podem criar seus jogos, que são desenvolvidos usando uma ferramenta chamada Roblox Studio. Luau é a linguagem de scripting usada pelos criadores de jogos no Roblox Studio. Segundo o site de Roblox, “Luau é uma linguagem de scripting incorporável, rápida, pequena, segura e com tipagem gradual, derivada de Lua 5.1.”
Lua tem uma grande tradição de uso em jogos. O que você acha deste uso de Lua? Que outros usos de Lua você achou interessantes, curiosos ou inesperados?
(Roberto)
[(ADOLFO)]{.mark} Um outro uso interessante de Lua é na criação de ferramentas para engenheiros e engenheiras de software. Quando eu passei um ano na North Carolina State University, eu conheci o professor Tim Menzies, um pesquisador bem produtivo na engenharia de software. Quando eu disse que era do Brasil, ele me disse “adoro lua!”. Isso foi em 2014. olhando o perfil dele no github, vi que ele continua usando Lua. Usa também MoonScript, que é uma linguagem que compila para Lua! Dos 5 projetos mais recentes dele no GitHub, 3 usam Lua. Já foram realizados experimentos sobre a produtividade de desenvolvedores na escrita de Scripts com Lua?
(Roberto)
[(MARIA CLAUDIA)]{.mark} Além do trabalho na criação de ferramentas úteis na pesquisa em Engenharia de Software, faz sentido em pensar em formas de identificar code smells em Lua? Ou em ferramentas que refatoram código em Lua?
(Roberto)
[(PARTE 4 - OUTROS TEMAS)]{.mark}
[(ADOLFO)]{.mark} No artigo que você, Luiz Henrique de Figueiredo e Waldemar Celes escreveram para o HOPL (History of programming Languages - um evento que celebra linguagens de programação que obtiveram algum destaque) de 2007 vocês escreveram (eu traduzi):
“Lua foi muito além de nossas expectativas mais otimistas. De fato, embora quase todas as linguagens de programação sejam da América do Norte e da Europa Ocidental (com a notável exceção do Ruby, do Japão), Lua é a única linguagem criada em um país em desenvolvimento que alcançou relevância global.”
46:54 CORTE
Se olharmos as 50 linguagens mais mencionadas na mais recente pesquisa do StackOverflow ou o Tiobe Index de outubro de 2024 ou o IEEE Spectrum - The Top Programming Languages 2024 ou do GitHub Octoverse (Lua aparece muito bem em todos estes rankings), talvez possamos dizer que temos mais uma:
Elixir - criada pelo brasileiro José Valim
O que você conhece de Elixir?
(Roberto)
[(ADOLFO)]{.mark} não vai ser uma pergunta, só um comentário
Talvez seja possível, em breve, incluir nesta lista também Lean, criada pelo brasileiro Leonardo de Moura, ele mesmo egresso da PUC-Rio, que entrevistamos aqui em episódio passado. É uma linguagem bastante usada por matemáticos e que está encontrando aplicações em IA. E outras, como Bend e ADVPL.
[(MARIA CLAUDIA)]{.mark} Em 2013, você foi agraciado com o Prêmio do Mérito Científico da Sociedade Brasileira de Computação (SBC).
Em 2023, você foi o Pesquisador Homenageado da Comissão Especial em Linguagens de Programação da SBC, prêmio recebido com uma palestra no Simpósio Brasileiro de Linguagens de Programação.
Recentemente Lua completou 30 anos e você foi promovido a Professor Titular na PUC-Rio, onde ministrou uma Aula Magistral.
Já tendo atingido tantas distinções em sua carreira, o que te motiva a continuar trabalhando, ensinando e pesquisando?
(Roberto)
//corte?
// auge foi artigo do hopl
[(MARIA CLAUDIA)]{.mark} É impossível falar sobre tudo o que você fez em sua carreira. Se alguém quiser trabalhar com você fazendo mestrado ou doutorado, que temas estão te interessando no momento?
(Roberto)
[(ADOLFO)]{.mark}
// se der tempo (provavelmente não vai dar)
// Pedir para explicar por que ARRAY deve COMEÇAR COM 1
// Lean
// Lua na Adobe
// Lua no Exercism
// Building a Programming Language by Roberto Ierusalimschy
Quem vai?
// Lucena
// Dinamico ou estatico
// Tipos ou não
// Compilado ou interpretado
// Verificação de código Lua
[(PARTE 5 - PRÓXIMA FRONTEIRA)]{.mark}
[(ADOLFO)]{.mark} Para você, qual é a próxima fronteira da engenharia de software (ou na computação, na programação)? (pode ser algo que você acha que vai acontecer ou que você gostaria que acontecesse em nossa área)
(Roberto)
[(PARTE 6 - FINAL)]{.mark}
[(ADOLFO)]{.mark} Agradece e passa para o(a) entrevistado(a).
Lembro de Lua alunos da UDESC
Yuri Kaszubowski Lopes (UDESC)
[https://www.youtube.com/watch?v=cqK0IlMxTkk]{.underline}
Lucas Hermann Negri
[https://integra.ifms.edu.br/portfolio/pessoas/lucas-hermann-negri]{.underline}
// FALAR EM OUTRO MOMENTO
Já tivemos aqui em nosso podcast dois professores da PUC-Rio:
Marcos Kalinowski - Engenharia de Requisitos
Alessandro Garcia - Refactoring
E pelo menos um egresso da PUC-Rio: Leonardo de Moura, que falou sobre outra linguagem de programação, a Lean
Thais Batista UFRN
Valeria de Paiva
Livro
(Roberto)
[(MARIA CLAUDIA)]{.mark} Fecha o episódio com algo como “Agradecemos a todos os nossos e nossas ouvintes, e até o próximo episódio do Fronteiras da Engenharia de Software”
(Roberto)
[FAZER PRINT PARA DIVULGAÇÃO EM REDES SOCIAIS]{.mark}
{width=”20.0in” height=”11.25in”}
Pergunta sobre a comunidade e o ecossistema
[https://groups.google.com/g/lua-l]{.underline}
Pergunta sobre code smells e refatorações
[https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=lua+code+smells&btnG=]{.underline}
[https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=lua+refactoring&btnG=]{.underline}
Elixir, Lucas Vegi
Linter
[https://ieeexplore.ieee.org/abstract/document/10621732]{.underline}
Model Checking
[https://dl.acm.org/doi/abs/10.1145/3127360.3127367]{.underline}
Compiler
[https://www.sciencedirect.com/science/article/abs/pii/S259011842200048X]{.underline}
Luiz, Ginga, Globo
Não aceita PR. Reescreve
Pergunta sobre Lua em Roblox
Coding with Roblox Lua in 24 Hours: The Official Roblox
[https://www.amazon.com.br/Coding-Roblox-Lua-24-Hours-ebook/dp/B08F9SWL72]{.underline}
Artigo arrays Noemi
Pergunta sobre array começar com 1
Pergunta sobre os usos de Tim Menzies
[https://timm.fyi/]{.underline}
Ver
Lembro de Lua alunos da UDESC
Yuri Kaszubowski Lopes (UDESC)
[https://www.youtube.com/watch?v=cqK0IlMxTkk]{.underline}
Lucas Hermann Negri
[https://integra.ifms.edu.br/portfolio/pessoas/lucas-hermann-negri]{.underline}
// FALAR EM OUTRO MOMENTO
Já tivemos aqui em nosso podcast dois professores da PUC-Rio:
Marcos Kalinowski - Engenharia de Requisitos
Alessandro Garcia - Refactoring
E pelo menos um egresso da PUC-Rio: Leonardo de Moura, que falou sobre outra linguagem de programação, a Lean
Valeria de Paiva
Livro
/// GRAVAR ÁUDIO FALANDO ISSO E DEIXAR NO FINAL
E este é o Fronteiras da Engenharia de Software, um podcast para
refletir sobre o presente e o futuro da engenharia de software.
Nós publicamos episódios mensais em que entrevistamos pessoas pesquisadoras da área, abordando temas de interesse de pessoas que praticam a engenharia de software e de pessoas pesquisadoras.
Somos um podcast que é parte da Rede Emílias de Podcasts, associada ao Programa de Extensão Emílias Armação em Bits
Somos também uma atividade de divulgação científica associada ao Programa de Pós-Graduação em Computação Aplicada (PPGCA) da UTFPR Curitiba.
Por falar nisso, estamos com inscrições abertas para a Turma 2025 do
Mestrado em Computação Aplicada da UTFPR! Acesse o edital:
[https://bit.ly/ppgca2025]{.underline}
// Comente no YouTube, no Spotify ou pelo email [fronteirasesw@gmail.com]{.underline}
// Participe da nossa enquete
// Sugira tema ou pessoa a ser entrevistada
// Continua