52
Crescendo através de Software Livre e Lua Etiene Dalcol @etiene_d

Crescendo com Software livre e Lua

Embed Size (px)

Citation preview

Page 1: Crescendo com Software livre e Lua

Crescendo através de Software Livre e Lua

Etiene Dalcol @etiene_d

Page 2: Crescendo com Software livre e Lua

@etiene_dFISL 17

Etiene Dalcol

@etiene_d

Page 3: Crescendo com Software livre e Lua

@etiene_dFISL 17

wooga.com/jobs

Page 4: Crescendo com Software livre e Lua

@etiene_dFISL 17

A Lua MVC web framework sailorproject.org

Page 5: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 6: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 7: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 8: Crescendo com Software livre e Lua

@etiene_dFISL 17 luaconf.com

Page 9: Crescendo com Software livre e Lua

@etiene_dFISL 17

Por que estou aqui hoje?

Page 10: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 11: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 12: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 13: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 14: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 15: Crescendo com Software livre e Lua

@etiene_dFISL 17

Alguma vez pensamos em tecnologia?

Page 16: Crescendo com Software livre e Lua

@etiene_dFISL 17

18 milhões de desenvolvedores ao redor do mundo

Page 17: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 18: Crescendo com Software livre e Lua

@etiene_dFISL 17

Vale do Silício x

Rio de Janeiro

Page 19: Crescendo com Software livre e Lua

@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

Page 20: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 21: Crescendo com Software livre e Lua

@etiene_dFISL 17

Nós temos o poder de endossar

tecnologias com a nossa escolha

Page 22: Crescendo com Software livre e Lua

@etiene_dFISL 17

<video>

Page 23: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 24: Crescendo com Software livre e Lua

@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?

Page 25: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 26: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 27: Crescendo com Software livre e Lua

@etiene_dFISL 17

Tabelas

Header

key value

“x” 9.2

nil

value

100

200

300

nil

Page 28: Crescendo com Software livre e Lua

@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

Page 29: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 30: Crescendo com Software livre e Lua

@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)

Page 31: Crescendo com Software livre e Lua

@etiene_dFISL 17

http://www.humbedooh.com/presentations/ACNA%20-%20mod_lua.odp Introducing mod_lua by Daniel Gruno

Page 32: Crescendo com Software livre e Lua

@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

Page 33: Crescendo com Software livre e Lua

@etiene_dFISL 17

Estratégia de carreira através de comunidades locais de software livre

Page 34: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 35: Crescendo com Software livre e Lua

@etiene_dFISL 17

English

Page 36: Crescendo com Software livre e Lua

@etiene_dFISL 17

Resultado: programadora tardia

Page 37: Crescendo com Software livre e Lua

@etiene_dFISL 17

Lições do mundo da música:

valorize as suas origens

Page 38: Crescendo com Software livre e Lua

@etiene_dFISL 17

Mais popular x

Menos popular x

Early adopter x

Local adopter

Page 39: Crescendo com Software livre e Lua

@etiene_dFISL 17

Conexões locais, Hisham, LabLua &

Sailor

Page 40: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 41: Crescendo com Software livre e Lua

@etiene_dFISL 17

Conexões locais, Hisham, LabLua &

Sailor

Page 42: Crescendo com Software livre e Lua

@etiene_dFISL 17

Page 43: Crescendo com Software livre e Lua

@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

Page 44: Crescendo com Software livre e Lua

@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

Page 45: Crescendo com Software livre e Lua

@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

Page 46: Crescendo com Software livre e 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

Page 47: Crescendo com Software livre e 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

Page 48: Crescendo com Software livre e 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

Page 49: Crescendo com Software livre e Lua

@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

Page 50: Crescendo com Software livre e Lua

@etiene_dFISL 17

O que você consegue fazer aqui que não

conseguiria fazer em outro lugar?

Page 51: Crescendo com Software livre e Lua

Obrigada!

etiene.net github.com/Etiene/

[email protected]

@etiene_d

Page 52: Crescendo com Software livre e Lua

Obrigada!

Perguntas?

etiene.net github.com/Etiene/

[email protected]

@etiene_d