APL
| APL | |
|---|---|
| Surgido em | 1964 |
| Criado por | Kenneth E. Iverson |
| Estilo de tipagem: | dinâmica |
| Compiladores | IBM APL2 |
| Influenciada por | Notação Matemática |
| Influenciou | J |
APL é uma linguagem de programação destinada a operações matemáticas.
Ela nasceu do trabalho de um professor de matemática canadense de nome Kenneth Iverson. A linguagem APL foi formalmente definida e introduzida por Iverson em seu livro A Programming Language de 1962.1 Sua proposta original era a de produzir uma nova notação matemática, menos sujeita às ambigüidades da notação convencional. Segundo Iverson, foi projetada com o objetivo de ser matematicamente concisa.
Na década de 1960, trabalhando na IBM em conjunto com Adin Falcoff, ambos produziram a primeira versão de APL, quando um interpretador da linguagem ficou disponível.
Programas em APL em geral sempre são muito pequenos, embora poderosos. A linguagem está preparada para tratar arranjos de grandes dimensões. Por exemplo, quando em APL se escreve A+B, se A e B forem escalares (isto é um número único), a resposta também o será. Se A e B são vetores de 100 números, a resposta também o será. Idem para matrizes e até arrays-nd. Em algumas versões de APL este n chega a 256 dimensões.
Índice |
O Conjunto de Caracteres APL [editar]
A principal característica de APL é o uso de um conjunto especial de caracteres que incluem algumas letras gregas (rho, iota…), símbolos matemáticos convencionais (o sinal de vezes, o de dividido…) e alguns símbolos especialmente inventados. Este fato sempre limitou a disseminação da linguagem. Até o advento das interfaces gráficas (windows, por exemplo), exigia-se um hardware especial para poder programar em APL. A linguagem APL recebeu muitas críticas pelo fato de usar este conjunto de caracteres não padronizado. Tal número de caracteres adicionais pode levar a um grau de complexidade alto resultando em uma baixa legibilidade. Por outro lado, o conjunto adicional de caracteres dá a linguagem uma elegância e a tornam concisa, o que é mais difícil de se conseguir em linguagens com um conjunto de caracteres reduzido.
Símbolos APL e os Layouts de Teclado [editar]
Para solucionar o problema da falta de caracteres especiais nos conjuntos padrão (como o ASCII, por exemplo) alguns interpretadores APL tem mapeamentos ou conjuntos de teclas simultâneas para a entrada destes. Uma das associações que se procurou fazer, para facilitar a busca, é relacionar os símbolos com as suas respectivas letras iniciais como no caso do símbolo de interrogação '?' em cima da letra 'Q' (Em inglês question mark) ou o símbolo '∇' em cima da letra 'G' (Em inglês: gradient). A figura abaixo ilustra um exemplo de teclado com os símbolos APL:
Exemplos de código [editar]
Função Fatorial [editar]
∇ FATORIAL [⎕]∇
∇ Z ← FATORIAL N
[1] → (N ≠ 0) / A
[2] → 0,Z ← 1
[3] A:Z←N×FATORIAL(N-1)
∇
Soma dos Elementos de um Vetor [editar]
[10] VETOR ← 10 ⍴ 1 2 3 4 5 6 7 8 9 10 [11] SOMA ← 0 [12] I ← 1 [13] VOLTA: → (I > ⍴VETOR) / SAI [14] SOMA ← SOMA + VETOR[I] [15] I ← I + 1 [16] → VOLTA [17] SAI:
Referências
- ↑ TUCKER Jr., Allen B.. Programming Languages. 2ª ed. New York: McGraw-Hill, 1986. 590 p. ISBN 0-07-065416-6
Bibliografia [editar]
- IVERSON, Kenneth E.. A Programming Language. New York: John Wiley and Sons, 1962. 286 p. ISBN 0-47143014-5
- TUCKER Jr., Allen B.. Programming Languages. 2ª ed. New York: McGraw-Hill, 1986. 590 p. ISBN 0-07-065416-6
- ZIMMERMANN, Carlos Jorge. Processamento Interativo: a Linguagem de Programação APL. Rio de Janeiro: LTC, 1981. ISBN 85-216-0138-7