ABC (linguagem de programação) - ABC (programming language)
Paradigmas | multiparadigma : imperativo , procedimental , estruturado |
---|---|
Projetado por | Leo Geurts, Lambert Meertens , Steven Pemberton |
Desenvolvedor | Centrum Wiskunde e Informatica (CWI) |
Apareceu pela primeira vez | Janeiro de 1987 |
Versão estável | 1.05.02 / 1990
|
Disciplina de digitação | forte , polimórfico |
SO | Tipo Unix , Windows , MacOS e Atari TOS |
Local na rede Internet | páginas |
Influenciado por | |
SETL , ALGOL 68 | |
Influenciado | |
Pitão |
ABC é uma linguagem de programação de propósito geral imperativa e um ambiente de desenvolvimento integrado (IDE) desenvolvido no Centrum Wiskunde & Informatica (CWI), Holanda , por Leo Geurts, Lambert Meertens e Steven Pemberton . É interativo, estruturado, de alto nível e deve ser usado no lugar do BASIC , Pascal ou AWK . Destina-se ao ensino ou prototipagem, mas não como uma linguagem de programação de sistemas.
O ABC teve uma grande influência no design da linguagem Python , desenvolvida por Guido van Rossum , que anteriormente trabalhou por vários anos no sistema ABC em meados da década de 1980.
Recursos
Seus projetistas afirmam que os programas ABC têm normalmente cerca de um quarto do tamanho dos programas Pascal ou C equivalentes e são mais legíveis. Os principais recursos incluem:
- Apenas cinco tipos de dados básicos
- Nenhuma declaração de variável necessária
- Suporte explícito para programação de cima para baixo
- O aninhamento de instruções é indicado por recuo , por meio da regra de off-side
- Aritmética de precisão infinita , listas e strings de tamanho ilimitado e outros recursos que suportam ortogonalidade e facilidade de uso por novatos
ABC era originalmente uma implementação monolítica , levando a uma incapacidade de se adaptar a novos requisitos, como a criação de uma interface gráfica de usuário (GUI). O ABC não pôde acessar diretamente o sistema de arquivos e o sistema operacional subjacentes .
O sistema ABC completo inclui um ambiente de programação com um editor de estrutura ( editor direcionado à sintaxe), sugestões, variáveis estáticas (persistentes) e vários espaços de trabalho, e está disponível como um interpretador - compilador . Em 2020, a versão mais recente é 1.05.02 e foi portada para Unix , DOS , Atari e Apple MacOS .
Exemplo
Um exemplo de função para coletar o conjunto de todos words
em um documento:
HOW TO RETURN words document: PUT {} IN collection FOR line IN document: FOR word IN split line: IF word not.in collection: INSERT word IN collection RETURN collection