11.07.2015 Views

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

18.1 A Linguag<strong>em</strong> LuaDesde o início de seu desenvolvimento, no início dos anos 1990, Lua foiprojetada para ser usada <strong>em</strong> conjunto com outras linguagens, não sendocomum encontrar programas escritos puramente <strong>em</strong> Lua. Nesse sentido, Luaé normalmente usada para permitir que uma aplicação principal seja estendidaou adaptada através do uso de scripts. A aplicação principal pode ser umvideogame, <strong>em</strong> que um script Lua é usado para definir o comportamento deum personag<strong>em</strong>; um editor de textos, que permite que os textos sejamacessados e modificados por scripts Lua; ou, de maneira mais geral,aplicações que usam Lua <strong>em</strong> scripts de configuração. Esse tipo de usocaracteriza Lua como uma linguag<strong>em</strong> de scripts no seu sentido mais puro. Opróprio nome da linguag<strong>em</strong>, Lua, r<strong>em</strong>ete à ideia de uma linguag<strong>em</strong> satélite.Lua é uma linguag<strong>em</strong> de fácil aprendizado, que combina sintaxe proceduralcom declarativa, com poucos comandos primitivos. Dessa característicaresulta uma impl<strong>em</strong>entação leve e muito eficiente quando comparada comlinguagens de propósitos similares. Lua também apresenta alto grau deportabilidade, podendo ser executada com todas as suas funcionalidades <strong>em</strong>diversas plataformas, tais como computadores pessoais, celulares, sist<strong>em</strong>as<strong>em</strong>barcados e consoles de videogames.As características de Lua mencionadas — simplicidade, eficiência eportabilidade — além de sua licença livre, casam perfeitamente com o cenáriode TV digital. Uma linguag<strong>em</strong> simples é b<strong>em</strong>-vinda onde é comum equipesformadas não só por programadores, mas também por designers e produtoresde conteúdo. A portabilidade é importante quando o middleware deve serdesenvolvido para dispositivos com características conflitantes, comocelulares e set-top boxes. A eficiência e o tamanho da linguag<strong>em</strong> requer<strong>em</strong>menos custos com hardware. Já a licença livre de royalties reduz a custo zeroa adoção do interpretador por unidade produzida. Um indicador de como alinguag<strong>em</strong> Lua se adapta b<strong>em</strong> a esse tipo de cenário é a liderança de Luacomo linguag<strong>em</strong> de script <strong>em</strong> videogames, nicho que compartilha as mesmascaracterísticas descritas.Uma apresentação mais detalhada da sintaxe e funcionalidades de Lua ficafora do escopo deste livro. Explicar<strong>em</strong>os os conceitos da linguag<strong>em</strong>necessários, conforme for<strong>em</strong> utilizados nos ex<strong>em</strong>plos deste capítulo.18.1.1 Extensões de <strong>NCL</strong>uaPara se adequar ao ambiente de TV Digital e se integrar à <strong>NCL</strong>, alinguag<strong>em</strong> Lua foi estendida com novas funcionalidades. Por ex<strong>em</strong>plo, um<strong>NCL</strong>ua precisa se comunicar com o documento <strong>NCL</strong> para saber quando o seu370

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!