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.

inicial” é não-declarativo. Uma aplicação declarativa pura é aquela na qual oconteúdo de “todas suas entidades” é do tipo declarativo. Uma aplicação nãodeclarativapura é aquela na qual o conteúdo de “todas suas entidades” é dotipo não-declarativo. Uma aplicação híbrida é aquela cujo conjunto deentidades possui tanto conteúdo do tipo declarativo quanto não-declarativo.A especificação de uma tarefa usando uma linguag<strong>em</strong> declarativa é, aprincípio, muito mais fácil que o desenvolvimento usando uma linguag<strong>em</strong>não-declarativa e também muito menos sujeita a erros de programação. Comomencionado, linguagens declarativas possu<strong>em</strong> alto nível de abstração, nãoexigindo grande expertise para o projeto de programas, ao contrário daslinguagens não-declarativas que, <strong>em</strong> geral, exig<strong>em</strong> um programadorespecialista. Tudo isso, no entanto, é apenas um lado da verdade.Linguagens declarativas muitas vezes são focadas <strong>em</strong> um domínio ouum objetivo específico. Quando o foco da linguag<strong>em</strong> “casa” com o foco doprobl<strong>em</strong>a a resolver, tudo o que mencionamos no parágrafo anterior é verdadee a linguag<strong>em</strong> declarativa t<strong>em</strong> uso preferencial sobre uma linguag<strong>em</strong> nãodeclarativa.Quando, no entanto, o foco do probl<strong>em</strong>a “não casa” com o focoda linguag<strong>em</strong> declarativa, sua resolução pode ser muito difícil, se nãoimpossível, usando a linguag<strong>em</strong>. Nesse caso, o uso de uma linguag<strong>em</strong> depropósito geral, por ex<strong>em</strong>plo uma linguag<strong>em</strong> imperativa, é preferível.Praticamente todos os middlewares para TV digital terrestre e IPTVoferec<strong>em</strong> suporte para o desenvolvimento de aplicações usando os doisparadigmas de programação. Alguns middlewares só oferec<strong>em</strong> o suporte paraaplicações declarativas (puras ou híbridas). Dá-se, informalmente, o nome deambiente declarativo a esse suporte. Todos os middlewares padronizadospelo ITU-T para serviços IPTV contêm apenas o ambiente declarativo.Outros middlewares, no entanto, oferec<strong>em</strong> o suporte apenas a aplicações nãodeclarativas.Dá-se, informalmente, o nome de ambiente imperativo a essesuporte. A maioria dos middlewares para TV terrestre, no entanto, écomposta dos ambientes imperativos e declarativos. A Tabela 1.3 ilustra osambientes dos middlewares dos sist<strong>em</strong>as americano, europeu, japonês ebrasileiro, para receptores fixos e móveis, <strong>em</strong> seus padrões para TV digitalterrestre. Note que o middleware Ginga obrigatoriamente requer o ambientedeclarativo Ginga-<strong>NCL</strong>, mas admite extensões. Uma dessas extensões é oambiente imperativo Ginga-J, adotado no Brasil como obrigatório parareceptores fixos.30

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

Saved successfully!

Ooh no, something went wrong!