LiveCode: Programação simples para desktop e mobile/A linguagem do LiveCode/História e características gerais

Origem: Wikilivros, livros abertos por um mundo aberto.

A linguagem de programação utilizada pela LiveCode faz parte da chamada “família xTalk” de linguagens que tentam se aproximar, o quanto possível, da língua inglesa natural. A primeira dessas linguagens foi a HyperTalk que fazia parte do HyperCard, e a linguagem usada no LiveCode – que nos documentos oficiais recebe nomes diversos como MetaTalk, revTalk ou Transcript – não nega sua origem. A semelhança com a HyperTalk original é imensa, tanto como suas construções naturais, que tanto facilitam a compreensão por iniciantes em programação quanto confundem as pessoas já acostumadas às linguagens de programação mais comuns.

Para manter sua semelhança com o inglês cotidiano, a linguagem do LiveCode é por vezes prolixa e sua gramática é complexa. O LiveCode User Guide afirma que a linguagem tem mais de 150 comandos e mais de 200 funções. Para muitos desses comandos há uma série de palavras modificadoras de suas funcionalidades, e a linguagem ainda conta com pronomes, conjunções, artigos, adjetivos e substantivos. Por isso, para muitas pessoas, iniciantes ou não, o LiveCode Dictionary – na sua versão online, ou na mais apropriada versão que pode ser acessada no menu Help do LiveCode – pode ser uma companhia indispensável enquanto se programa.

O que é um script[editar | editar código-fonte]

Script é um termo menos intimidador do que “código-fonte” que LiveCode usa para designar um conjunto de instruções sequenciais organizadas para fazer alguma coisa: escolher o maior entre vários números, mudar a cor de uma linha, abrir um arquivo, etc. Normalmente, um script define, com suas instruções, quais devem ser as reações a determinados eventos que ocorrem com algum objeto – seja ele um botão, a janela principal do aplicativo, ou o aparelho em que o aplicativo está sendo executado.

É por ser de tal forma ligado a algum objeto que, em LiveCode, um script é sempre uma propriedade de um objeto – da mesma que a cor de uma linha ou o texto exibido dentro de um botão. Por isso os scripts não existem de forma isolada e completa, como um arquivo-fonte de outras linguagens de programação: em LiveCode, esses trechos de código estão sempre juntos de algum objeto.

Um script é uma propriedade de um objeto que define as reações deste objeto a determinados eventos.


Analisando um exemplo[editar | editar código-fonte]

Vamos voltar brevemente a nossos primeiros programas para analisá-los melhor.

on openCard
    ask question “Qual é seu nome?” titled “Janela curiosa”
    put it into varNome
    set the text of field “fIdent” to “Primeiro programa de” && varnome
    answer information “Olá, “ & varNome titled “Saudações”
    quit
end openCard

Blocos estruturais[editar | editar código-fonte]

Bill Atkinson, criador do Apple HyperCard, dizia ter sido largamente influenciado pela linguagem Pascal, que era à época a principal linguagem de programação do Macintosh. A estrutura de blocos dos scripts do LiveCode talvez sejam a mais evidente herança do Pascal e seus blocos “begin … end”.

TODO: On / function / getProp e setProp

Sensitividade à caixa[editar | editar código-fonte]

A tradução é estranha, mas é isso que significa a expressão “case sensitive” que é tão familiar a programadores de C e Java. Um leitor atento deve ter percebido que na terceira linha do bloco a variável criada como varNome aparece como varnome, com N minúsculo. Trata-se de um (mau) exemplo para mostrar que em LiveCode não há diferenciação entre maiúsculas e minúsculas – as diferentes “caixas” dos caracteres.

LiveCode é insensível à caixa, ou seja, não diferencia maiúsculas e minúsculas.

Isto não quer dizer que você pode sair criando scripts com palavras escritas de um jeito diferente a cada aparição. Como dito, este foi um mau exemplo. Mesmo quando o computador não se importa – e isso é um comportamento minoritário no universo da programação – a leitura e o entendimento de um programa ficam bem mais difíceis quando as mesmas palavras são escritas de maneiras diferentes. Mantenha sempre a coerência, especialmente com nomes de variáveis e de controles.

Sintaxe de comandos[editar | editar código-fonte]