Snap! (linguagem de programação)

Origem: Wikipédia, a enciclopédia livre.
Snap! (BYOB)
Snap! (linguagem de programação)
Paradigma Orientação a objetos, educativo, orientada a eventos
Surgido em 2011
Última versão 3.1.1 (19 de Maio de 2011)
Criado por Jens Mönig e Brian Harvey
Estilo de tipagem dinâmica
Principais implementações Scratch
Influenciada por Scratch
Licença: AGPL
Página oficial snap.berkeley.edu

Snap! (anteriormente Build Your Own Blocks ou abreviadamente BYOB até ser renomeado para Snap! na versão 4.0 em 2013) é um Linguagem de programação educacional e ferramenta de autoria multimídia que pode ser (como o Scratch que oferece uma interface GUI amigável para crianças) usado por alunos[1], professores e pais para vários projetos educacionais e de entretenimento desde matemática e projetos de ciências naturais, incluindo simulações e visualização de experimentos, gravação de conteúdos com apresentações animadas, até histórias animadas de ciências sociais, arte interativa e música. Snap! 4.0, tal como Scratch 2.0, executa em uma janela do navegador ao invés de exigir que o programa seja baixado no computador do usuário. Tem sido usado no programa de ciência da computação secundário-a-terciário na Universidade Monash, na Austrália.

Versões online e offline[editar | editar código-fonte]

A versão online está disponível em dispositivos Apple iOS, Mac OS X, Windows, e Linux, porque é escrita em Javascript, ao contrário do Scratch 2.0, que é escrito em Flash e somente funciona nos últimos três.

As versões offline (pré 4.0) estão disponíveis também para Windows, Mac OS X ou Linux. O código aberto pré 4.0 está disponível sob uma licença que permite modificação para uso não comercial e pode ser baixada do site da Universidade da Califórnia em Berkeley [2] ou CNET Download.com [3][4].

O código aberto do Snap! 4.0 é licença AGPL e está disponível embutido no próprio Snap! e no Github[5].

Características[editar | editar código-fonte]

As mais importantes características que diferenciam BYOB do Scratch, incluem:

  • Funções de primeira classe ou procedimentos (seus fundamentos matemáticos são também chamados Cálculo Lambda),
  • Listas de primeira classe (incluindo listas de listas),
  • Sprites de primeira classe (em outras palavras, a programação sem classes baseada em instância orientada para o protótipo),
  • Sprites encaixáveis

Desenvolvedores[editar | editar código-fonte]

As versões Snap! e BYOB foram desenvolvidas por Jens Mönig[6][7] com ideias de design e documentação fornecida por Brian Harvey[8],[9] da Universidade da Califórnia, em Berkeley e tem sido usado pra ensinar "A Beleza e a Alegria da Computação", curso introdutório para estudantes[10].

História[editar | editar código-fonte]

Depois de criar "Chirp", uma modificação do Scratch, Jens Mönig começou a trabalhar na versão 1.0 do BYOB (baseado no Scratch 1.3), 2.0 (baseado no Scratch 1.4), e, junto com Brian Harvey, a versão 3.1.1. Mais tarde o Snap! foi criado, baseado no ambiente Morphic escrito em JavaScript por Jens Mönig, usando unicamente o HTML5 Canvas APIs.

Ver também[editar | editar código-fonte]

Referências

  1. Página sobre o Snap! no Mit. Acesso em: 20 Mai 2014.
  2. «Página do Snap! na Universidade de Berkeley.»  Acesso em: 20 Mai 2014.
  3. CNET Download.com BYOB para Mac. Acesso em: 20 Mai 2014.
  4. CNET Download.com BYOB para Windows. Acesso em: 20 Mai 2014.
  5. Página do Snap! no Github. Acesso em: 20 de Mai de 2014.
  6. Página com as contribuições de Jens Mönig ao Scratch. Acesso em: 20 Mai 2014.
  7. Blog de Jens Mönig. Acesso em: 20 Mai 2014.
  8. Página do MIT com as contribuições de Brian Harvey ao Scratch. Acesso em: 20 Mai 2014.
  9. Página de Brian Harvey na Universidade de Berkeley. Acesso em: 20 Mai 2014.
  10. Página da Universidade de Berkeley sobre o curso A beleza e a alegria da computação. Acesso em: 20 Mai 2014.

Ligações externas[editar | editar código-fonte]