Crescendo através de Software Livre e Lua
Etiene Dalcol @etiene_d
@etiene_dFISL 17
Etiene Dalcol
@etiene_d
@etiene_dFISL 17
wooga.com/jobs
@etiene_dFISL 17
@etiene_dFISL 17
@etiene_dFISL 17
@etiene_dFISL 17 luaconf.com
@etiene_dFISL 17
Por que estou aqui hoje?
@etiene_dFISL 17
@etiene_dFISL 17
@etiene_dFISL 17
@etiene_dFISL 17
@etiene_dFISL 17
@etiene_dFISL 17
Alguma vez pensamos em tecnologia?
@etiene_dFISL 17
18 milhões de desenvolvedores ao redor do mundo
@etiene_dFISL 17
@etiene_dFISL 17
Vale do Silício x
Rio de Janeiro
@etiene_dFISL 17
Se o apoio não está vindo das
instituições, do governo ou da
indústria, ele tem que vir de nós mesmos
@etiene_dFISL 17
@etiene_dFISL 17
Nós temos o poder de endossar
tecnologias com a nossa escolha
@etiene_dFISL 17
<video>
@etiene_dFISL 17
@etiene_dFISL 17
• Linguagem dinâmica • Criada em 1993 • Multi-paradigma
• procedural, OO, funcional
• Garbage collection • Coroutines • First-class functions • Lexical scoping • Proper tail calls • Licença MIT • 276Kb
O que é Lua?
@etiene_dFISL 17
@etiene_dFISL 17
@etiene_dFISL 17
Tabelas
Header
key value
“x” 9.2
nil
value
100
200
300
nil
@etiene_dFISL 17
_G _VERSION assert collectgarbage dofile error getmetatable ipairs load loadfile next pairs pcall print rawequal rawget rawlen rawset require select setmetatable tonumber tostring type xpcall bit32.arshift bit32.band bit32.bnot bit32.bor bit32.btest bit32.bxor bit32.extract bit32.lrotate bit32.lshift bit32.replace bit32.rrotate bit32.rshift
coroutine.create coroutine.resume coroutine.running coroutine.status coroutine.wrap coroutine.yield debug.debug debug.getuservalue debug.gethook debug.getinfo debug.getlocal debug.getmetatable debug.getregistry debug.getupvalue debug.setuservalue debug.sethook debug.setlocal debug.setmetatable debug.setupvalue debug.traceback debug.upvalueid debug.upvaluejoin io.close io.flush io.input io.lines io.open io.output io.popen io.read io.stderr io.stdin io.stdout io.tmpfile io.type io.write
file:close file:flush file:lines file:read file:seek file:setvbuf file:write math.abs math.acos math.asin math.atan math.atan2 math.ceil math.cos math.cosh math.deg math.exp math.floor math.fmod math.frexp math.huge math.ldexp math.log math.max math.min math.modf math.pi math.pow math.rad math.random math.randomseed math.sin math.sinh math.sqrt math.tan math.tanh
os.clock os.date os.difftime os.execute os.exit os.getenv os.remove os.rename os.setlocale os.time os.tmpname package package.config package.cpath package.loaded package.loadlib package.path package.preload package.searchers package.searchpath string.byte string.char string.dump string.find string.format string.gmatch string.gsub string.len string.lower string.match string.rep string.reverse string.sub string.upper table.concat table.insert table.pack table.remove table.sort table.unpack
@etiene_dFISL 17
@etiene_dFISL 17
“Já que Lua é uma linguagem tão simples, ela
tende a te encorajar a resolver problemas de forma
simples."
Ragnar Svensson - Lead Developer na King (Lua Workshop 15/10/2015)
@etiene_dFISL 17
http://www.humbedooh.com/presentations/ACNA%20-%20mod_lua.odp Introducing mod_lua by Daniel Gruno
@etiene_dFISL 17
• 1976 - Reserva de mercado • 1985 - EUA ameaça sanções • 1992 - Fim da reserva de mercado • 1993 - Lua é criada no Tecgraf • 1996 - Artigo de Lua na Dr. Dobbs • 1997 - Lua-l • 1998 - Lançamento do Grim Fandango • 1999 - Lua mencionada no GDC • 2003 - Programming in Lua • 2008 - TIOBE linguagem do ano • 2011 - Lua chega a no. 12 no TIOBE • 2015 - Programando em Lua
História
@etiene_dFISL 17
Estratégia de carreira através de comunidades locais de software livre
@etiene_dFISL 17
@etiene_dFISL 17
English
@etiene_dFISL 17
Resultado: programadora tardia
@etiene_dFISL 17
Lições do mundo da música:
valorize as suas origens
@etiene_dFISL 17
Mais popular x
Menos popular x
Early adopter x
Local adopter
@etiene_dFISL 17
Conexões locais, Hisham, LabLua &
Sailor
@etiene_dFISL 17
@etiene_dFISL 17
Conexões locais, Hisham, LabLua &
Sailor
@etiene_dFISL 17
@etiene_dFISL 17
• Acesso ao centro da informação • Networking com especialistas • Acesso a vagas de emprego • Menor custo • Documentação no idioma local • Acesso próximo à comunidade • Tecnologia adaptada pra realidade do local
Tecnologia Local
@etiene_dFISL 17
Instalando Lua
• lua.org > download
• OS package manager • apt-get install lua • brew install lua
LuaRocks
• luarocks.org > install
• OS package manager • apt-get install luarocks
@etiene_dFISL 17
• Hardware • eLua: http://www.eluaproject.net/ • nodemcu: http://nodemcu.com
• Matemática e computação científica • Torch: http://torch.ch • SciLua http://www.scilua.org/ • GSL Shell: http://www.nongnu.org/gsl-shell/
Ferramentas em Lua
@etiene_dFISL 17
• Desenvolvimento de jogos • Corona: https://coronalabs.com • Love2D: https://love2d.org/ • Defold: http://www.defold.com/ • Cocos2d: http://www.cocos2d-x.org/
• Web development • OpenResty http://openresty.org • Lapis: http://leafo.net/lapis/ • Luvit: https://luvit.io/ • Sailor: http://sailorproject.org/ • Moonshine: http://moonshinejs.org/
Ferramentas em Lua
@etiene_dFISL 17
• IDE • ZeroBrane Studio: http://studio.zerobrane.com/
• Testes • Busted: http://olivinelabs.com/busted/
• Gerenciador de pacotes • LuaRocks http://luarocks.org
• Misc • Moonscript: http://moonscript.org/ • Awesome Lua:
https://github.com/LewisJEllis/awesome-lua
Ferramentas em Lua
@etiene_dFISL 17
• Livros • Programming in Lua: http://www.lua.org/pil/ • Programando em Lua • Lua Programming Gems • Coding Places
• Tutoriais • Lua Style Guide:
http://lua-users.org/wiki/LuaStyleGuide • Lua Missions: https://github.com/kikito/lua_missions
• Misc • CodeCombat: https://codecombat.com
Referências
@etiene_dFISL 17
• Comunidades • Lista de email: http://www.lua.org/lua-l.html • Blog comunitário: http://lua.space • Subreddit: http://reddit.com/r/lua • Canal IRC: irc.freenode.net #lua • Grupo no FB: https://facebook.com/groups/lua.br • Lua Ladies: http://lualadies.org • London Lua: meetup.com/London-Lua-User-Group • Lua Ceará: https://facebook.com/lualang.ce
• Eventos • LuaConf: http://luaconf.com • Lua Workshop: https://www.lua.org/wshop16.html • Bay Area Lua Devs: meetup.com/lua-devs
Comunidade
@etiene_dFISL 17
O que você consegue fazer aqui que não
conseguiria fazer em outro lugar?
Obrigada!
etiene.net github.com/Etiene/
@etiene_d
Obrigada!
Perguntas?
etiene.net github.com/Etiene/
@etiene_d
Top Related