(EM ANDAMENTO)
Seja bem vindo ao meu curso de programação em Lua, a linguagem de programação brasileria. Aqui, você aprenderá conceitos desde ao básico de programação até desenvolvimento de jogos e integrações avançadas da linguagem com a Lua C API (interface de programação da linguagem Lua com a linguagem de programação C).
O curso contará com algumas trilhas e módulos (work in progress, portanto novos módulos poderão ser adicionados):
Neste módulo, aprenderemos as estruturas de programação básicas da linguagem Lua, estruturas estas que são comuns a diversas linguagens de programação, desde o Hello World até os módulos padrão presentes na stdlib da linguagem Lua.
Tendo aprendido os conceitos fundamentais de lógica de programação, avançaremos para conceitos mais avançados de programação, em sua forma de implementação da linguagem Lua, como estruturas de dados, orientação a objetos e corrotinas.
Neste módulo, aprenderemos os conceitos iniciais de programação de jogos através da biblioteca Löve2D, implementando jogos clássicos com os conceitos aprendidos na linguagem Lua.
Em seguida, aprofundaremos com um projeto mais sofisticado em Löve2D, implementando um game de maior porte com a biblioteca, na linguagem Lua. Aprenderemos técnicas mais arrojadas do framework, ao mesmo tempo que aprofundaremos nossos conhecimentos em desenvolvimento de jogos.
Tendo aprendido a linguagem Lua, seremos introduzidos à sua linguagem mãe, o C, na qual é escrito o interpretador Lua. Aprenderemos as estruturas básicas de programação da linguagem, já aprendidas com a linguagem Lua, de modo a dar os primeiros passos em uma linguagem de programação mais avançada.
Neste módulo, nos ambientaremos melhor ao mundo do C, bem como ao seu ambiente de desenvolvimento, aprendendo a utilizar de forma eficaz o compilador C.
Aprendidas as bases da linguagem C, utilizaremos a Lua C API para criar integrações entre as duas linguagens - um dos principais destaques da linguagem Lua.
Este curso tem como base o livro Programming in Lua, do cientista brasileiro Roberto Ierusalimschy (PUCRio).