Já usou a linguagem Lua?

Olá pessoal, tudo bem? Hoje gostaria de falar um pouco sobre a linguagem Lua. Recentemente, comecei a explorar o universo do Neovim e me deparei com essa linguagem. Já havia ouvido falar sobre ela, mas nunca tinha tido a oportunidade de usá-la. No Neovim, a base de automações e construção de plugins é feita em Lua. Mas o mais interessante é que essa linguagem foi criada aqui no Brasil por uma equipe de desenvolvedores da PUC do Rio de Janeiro. Ela é utilizada em jogos como World of Warcraft, Angry Birds e Garry's Mod. Joguei todos esses jogos e nem sabia que Lua estava por trás deles. Fiquei ainda mais impressionada ao descobrir que, por ser uma linguagem interpretada, é fácil incorporá-la em várias aplicações e de todo jeito, web, embarcado, qualquer uma. Por exemplo, a Adobe incluiu a linguagem no Lightroom para que as pessoas possam criar scripts e automatizar tarefas de tratamento de imagens. Além disso, achei Lua muito fácil de aprender e me lembrou um pouco do Python. Um exemplo simples de como fazer um print de algo em Lua:

print("Oi Lua!")

E aqui um exemplo de como criar uma função:

function soma(x)
    return x + x
end

print(soma(5))

Estou gostando bastante de desenvolver meus próprios plugins no Neovim e pretendo usá-los em ambientes de produção para ver como Lua se comporta. E você, já teve a oportunidade de usar Lua no seu dia de trabalho para criar scripts e resolver problemas?

Mais alguns motivos para Gostar Muito de Lua:

Salvo engano, Lua foi originalmente criada para a Petrobras. Lua tem aproximadamente 30,000 linhas de puro C, o que faz dela uma obra de arte! Na verdade, desses 30k uma parte é da biblioteca padrão, então muito provavelmente o core limpo de Lua é menor que isso... uau! Podemos concluir que os amigos que criaram Lua comiam, bebiam e transpiravam C!

Sobre sua importancia, como citado no site oficial:

Lua é a única linguagem de programação com impacto mundial desenvolvida fora do primeiro mundo.

Lua tem um dos melhores desempenhos entre linguagens de script interpretadas, e com uma facilidade de integração com a linguagem C, faz dela bem mais rápida nas mãos do programador certo. Ainda tem o Luajit, que é um compilator just-in-time porém é idependente, mas não significa que é ruim, pelo contrario!

Lua tem sua propria engine de jogos 2D chamado Löve que é bem facil de usar, também possui o projeto Corona (agora mudou de nome, mais uma vez não sei essa informação, desculpe, dá uma googlada) para desenvolvimento mobile.

Quer desenvolver redes neurais? Lua tem api com o Torch(C++) e pode ser instalado facilmente usando luarocks. Você também pode desenvolver para WEB com lua! Dê uma olhada nos frameworks Sailor(está em busca de mantenedores, quem quer um projetinho open-source taí a chance!) e Lapis, tem tambem o projeto kepler mas acho que ele é um pouco confuso(complexo) para iniciantes.

Eu não conheço, é novo pra mim também, mas existe um tal de eLua que serve para embarcados!

Gosta de linguagens de programação?

  • MoonScript: É uma linguagem compilada que se traduz para Lua(Ora, se autocompila para lua então é um Transpilador!! kkkk) que adiciona açucar sintatico para Lua. MoonScript está para Lua como Typescript está para Javascript. E realmente adiciona facilidades, como o uso direto de Classes(em Lua você também pode programar OOP, porém vai ter que rebolar para aprender, e usando tabelas! haha).

  • Terra: É uma linguagem de programação que tenta juntar Lua + C++, criando uma linguagem tão boa quanto lua, e tão poderosa quanto C++. Nela você escreve codigo de alto desempenho com uma sintaxe proxima(fácil) a Lua.

Lua é linda mesmo! Simples, bonita e fácil!

Eu queria ver entrevistas com os criadores. Pra saber pq ela é prototipica. Pq é como é, por que é assim, os motivos que levaram a fazer e tudo isso!

E eles tão todos vivos. Seria demais!

Tem diversos vídeos na internet. Por exemplo: https://www.youtube.com/watch?v=REwxKPitiZM

Eai mano, legal seu post sobre a linguagem lua, eu gosto bastante dessa linguagem e sou "evangelista" de lua, inclusive tenho um canal que faço varios videos de lua. Meu canal, caso queira ver!

Que bacana que está curindo Lua, os Brazuca mostando seu real poder!!

E já que está usado o Neovim queria te sugerir mais um editor, chamado lunarvim, eu ainda não tive muita oportunidade de testa-lo mas está no meu radar.

O `lunarvim` é espetacular! A vantagem dele é se parecer muito com uma IDE já pronta, mas muito leve e flexível porque os mesmos plugins que podem ser instalados no Neovim podem ser instalados em no lunarvim de um modo ainda mais simples. É sensacional! Recomendo muito!

Com certeza! Lua é demais! Ela tem uma sintaxe linda, que lembra Python. Tive poucas experiencias na linguagem, mas o pouco que eu testei, eu achei muito linda a sintaxe. Acrescentando um pouco mais, a Lua é utilizada mesmo em muitos jogos de Hype. Um exemplo é o GTA RP. Além do mais é uma linguagem BR assim como o Elixir

Curiosamente, se as pessoas que acreditam que Python é a linguagem para começar porque é fácil, por que não indicam Lua então? Da mesma forma que dizem escolher a linguagem pela sintaxe enxuta, só porque não conhecem F#.

Tenha em mente que a maioria das recomendações que as pessoas fazem é só por interesse próprio, mesmo que a pessoa não perceba, ou por falta de conhecimento completo do mercado, que faz dela uma pessoa inconfiável para sugerir algo. Se eu achasse que ser fácil é uma boa, eu preferia indicar Lua do que Python. Ou JS se a pessoa está com pressa de entrar no mercado. Mas prefiro indicar algo ligeiramente mais "difícil" para preparar melhor a pessoa.

Obrigado por postar e dar a chance de mais pessoas saberem que ela existe.

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Faz sentido em partes, não acho que existe linguagem de programação fácil. Aprender programação (e uma linguagem) nãe é fácil e acho que a primeira linguagem que você aprende, acaba definindo um pouco a sua jornada. Se a pessoa aprende JavaScript funcional, ela tende a ter dificuldade com a Orientação a Objetos do Java por exemplo. Se ele aprende Python, pode ter um pouco mais de resistência para migrar para linguagens como o C# ou o próprio Java também. Eu postei mais para que as pessoas conheçam, pretendo fazer testes em scripts para coleta de dados em bancos, para ver como que ele se comporta em ambiente de produção. Queria mesmo ver se o pessoal já usou, normalmente Python domina nessa área de scripting.
Acho que quem tem pressa já está no caminho errado. É o mesmo que ter pressa para aprender engenharia para construir um prédio ou um avião.

Inclusive até o neovim é um projeto br, de um recifence!

Eu também passei a usar lua para fazer configurações neovim, ainda não chegei a criar plugins, mas é algo que eu gostaria de fazer.

Quando fui trabalhar terceirizado na Petrobrás estava todo empolgado, estudei Lua achei que iria conhecer várias pessoas da PUC do Rio, etc. Infelizmente quase todos vazaram e os pouquíssimos que sobraram estavam em outras áreas. Uma pena não terem dado valor a essa galera. Eles para poderem ganhar dinheiro com palestras tiveram que ir para fora. Tem que subsidiar palestras de pessoas assim, da mesma forma que fazem com esses shows de cantores. E também fazer propaganda gratuita para eles.

Também ouvi falar de Lua por conta do Neovim. Mas ainda não cheguei a pegar a linguagem para poder aprender. Ela está na lista. Hehehe. Ainda tenho JS e Bash primeiramente hahaha. Mas achei, pelo menos a priori, a linguagem muito elegante e simples, sem ser nem um pouco simplória!

Cara, teve uma época minha que eu queria aprender a fazer jogos no Roblox e pra isso eu precisava de aprender um pouco de lua, e mano não tive muita dificuldade com os comandos, apenas tive dificuldade para encontrar conteúdos sobre o tema especifico em programação.

Tem um episódio do finado Grok Podcast com um dos criadores da linguagem falando sobre ela:

https://www.grokpodcast.com.br/series/a-linguagem-lua/

Acho essa linguagem sensacional. Seria muito sonhar com uma comunidade mais ativa aqui no Brasil? Amadurecer os frameworks dessa linguagem lindona e poderosa...

Tive meu primeiro contato com a programação através da linguagem LUA. Na época, brincava com LUA para programar servidores de tibia, um jogo MMORPG.

(user novo aqui) Meu primeiro contato com Lua, foi no Linux, para customizar o Conky. 😆

A linguagem Lua é realmente muita simples de entender e lembra demais Python. Eu recomendo muito para iniciantes.

Exemplo 1:

Olá, mundo! O primeiro exemplo é um clássico em programação, o famoso "Olá, mundo!". Em Lua, para exibir essa mensagem na tela, basta escrever o seguinte código:

print("Olá, mundo!")

Aqui, usamos a função print() para exibir o texto "Olá, mundo!". É simples assim! Basta escrever o que você quer mostrar entre as aspas.

Exemplo 2:

Somando dois números Agora, vamos fazer um código que soma dois números. Veja como é fácil em Lua:

  `num1 = 10
   num2 = 5
   soma = num1 + num2
   print("A soma é: " .. soma)`

Nesse exemplo, atribuímos os valores 10 e 5 às variáveis num1 e num2, respectivamente. Depois, somamos esses dois números e armazenamos o resultado na variável soma. Por fim, usamos a função print() para exibir a mensagem "A soma é: " concatenada com o valor da variável soma.

Exemplo 3:

Estrutura de repetição Vamos ver como fazer um loop simples em Lua usando a estrutura de repetição for:

`for i = 1, 5 do 
    print("Número: " .. i)
end`

Nesse exemplo, o loop for irá executar o bloco de código dentro dele cinco vezes. A cada iteração, a variável i será incrementada de 1, e iremos imprimir a mensagem "Número: " concatenada com o valor atual de i. Assim, o resultado será a exibição dos números de 1 a 5.

Tive contato com essa linguagem jogando minecraft a alguns belos anos atras ahaha, o mod computercraft utiliza essa linguagem Lua

um hello world com esse mod

isso ai é js disfarçado

Ja usei para programar usando Corona 2D, é um framework de games que utiliza Lua.