Professional Documents
Culture Documents
BASIC
Origem: Wikipédia, a enciclopédia livre.
BASIC (acrônimo para Beginner's All-purpose Symbolic
Instruction Code; em português: Código de Instruções Simbólicas BASIC
de Uso Geral para Principiantes), é uma linguagem de programação,
criada com fins didáticos, pelos professores John George Kemeny e Paradigma Imperativo, estruturado,
procedural
Thomas Eugene Kurtz em 1964 no Dartmouth College.[1] BASIC
Surgido em 1964
também é o nome genérico dado a uma grande família de
linguagens de programação derivadas do BASIC original.
Criado por John G. Kemeny, Thomas E.
Kurtz
Provavelmente existem mais variações de BASIC do que de qualquer
Estilo de Forte, estática, explícita
outra linguagem de programação.[carece de fontes?] tipagem:
Dialetos: Just BASIC, RealBasic,
Vintage BASIC
Influenciada ALGOL 60, Fortran II, JOSS
Índice por
Influenciou DarkBASIC, Euphoria, Logic
Caracterização da linguagem Basic, Perl, REXX, VBScript,
Evolução Visual Basic, Visual Basic
Aprendizagem .NET
A linguagem
Sintaxe
Procedimentos e controle de fluxo
Tipos de dado
Criação
Precursores
O BASIC original
Típico programa em BASIC
Cálculos matemáticos em BASIC
Caracterização da linguagem
BASIC é uma linguagem imperativa de alto nível, pertencente à terceira geração, originalmente compilada (apesar de
suas implementações em microcomputadores ter disseminado a versão interpretada) e não estruturada, por ter sido
fortemente baseada em Fortran II.[carece de fontes?] O fato de sua versão original ser compilada se explica por ter sido
https://pt.wikipedia.org/wiki/BASIC 1/9
09/05/2018 BASIC – Wikipédia, a enciclopédia livre
Com o tempo, BASIC evoluiu, criando condições para a programação estruturada e até mesmo para a programação
orientada a objetos, como é o caso das últimas versões do Visual Basic.
Evolução
Um programa em BASIC tradicional tem suas linhas numeradas, sendo que é quase que padrão usar números de 10
em 10 (o que facilita a posterior introdução de linhas intermediárias, se necessário). Os comandos são poucos, simples
e facilmente compreensíveis na língua inglesa (LET, IF,...).[2] Um programa em BASIC, que imprime todos os
números pares entre A e B, lidos do teclado, seria escrito como:
10 INPUT A,B
20 FOR I=A TO B STEP 1
30 IF MOD(I,2)>0 THEN 50
40 PRINT I
50 NEXT I
60 END
O programa demonstra a falta de estruturação da linguagem original, pois o IF funciona como um GOTO condicional,
o que favorece o código espaguete.
Com o tempo os números das linhas sumiram (ou se tornaram opcionais) e as instruções estruturadas foram
aparecendo, com várias outras modificações. O mesmo programa poderia ser escrito como:[carece de fontes?]
INPUT A,B
FOR I=A TO B
IF MOD(I,2)=0 THEN PRINT I
NEXT
Já em Visual Basic, as coisas se complicam se estivermos usando programação visual e componentes. Um programa
em Visual Basic for Applications usando 3 componentes de texto e um botão poderia ter a seguinte aparência:
Veja que nesse programa são usados componentes, que são objetos, e suas propriedades. O comando print foi
substituído por não ser adequado ao ambiente de janelas típico da linguagem. A sub-rotina é ativada quando um botão
é chamado.
Aprendizagem
Todas as versões de BASIC são geralmente fáceis de aprender, principalmente por serem muito permissivas quando
comparadas a linguagens fortemente estruturadas e tipadas, como Pascal. Porém, a aprendizagem de BASIC é muitas
vezes informal e é por muitos considerado prejudicial, por não reforçar as regras tradicionais de programação
estruturada e outros cuidados de programação que se tornaram prática quase que obrigatória com o tempo.[carece de
fontes?]
Por sua extrema simplicidade, o BASIC permitia a implementação de interpretadores razoavelmente poderosos em
memórias mínimas, o que era uma vantagem enorme em relação aos micro-computadores.[carece de fontes?]
https://pt.wikipedia.org/wiki/BASIC 2/9
09/05/2018 BASIC – Wikipédia, a enciclopédia livre
Um interpretador BASIC pode ser escrito com 25 linhas de código C (intencionalmente compactado).[3] Um código em
Pascal que interpreta Tiny Basic, bem estruturado e comentado tem apenas 1300 linhas.[4]
Um computador Sinclair ZX80, por exemplo, possuía 1K de RAM e 4K de ROM, que continha um interpretador
BASIC, um editor de programação e o sistema operacional. O uso de compactação permitia que o programa a seguir
contivesse apenas 39 bytes.[carece de fontes?]
A linguagem
Sintaxe
Cada instrução em BASIC ocupa uma linha. Para usar mais de uma linha é necessário usar um caractere de
continuação. Um dos aspectos mais conhecidos de BASIC era a utilização de numeração para as linhas. A maioria dos
interpretadores possui um comando RENUMBER que permite renumerar todas as linhas de acordo com um intervalo
pré-determinado (como em RENUMBER 10). Alguns, mas não todos, dialetos mais modernos abandonaram os
números e suportam a maioria, ou todas, as instruções de controle estruturada e declaração de dados, permitindo a
construção de programas estruturados como em Pascal.[carece de fontes?]
Variantes recentes, como Visual Basic, introduziram características de orientação a objeto. A gerência de memória é
mais fácil que na maioria das linguagens de procedimentos, pois normalmente existe um coletor de lixo.[carece de
fontes?]
Tipos de dado
No BASIC original existem apenas dois tipos de variáveis, as textuais e as numéricas. Para declarar uma variável
numérica você precisa escrever uma caractere alfabético seguido ou não de um numérico. E para as variáveis textuais
você deve escrever caracteres alfabéticos e no final o símbolo “$”.[carece de fontes?] O BASIC, mesmo o original, oferece
bons recursos para a manipulação de "strings" (variáveis alfanuméricas, de tipo texto) e esta é uma facilidade prevista
no projeto da linguagem. A evolução da linguagem, entretanto, possibilitou que novos tipos de dados fossem
acrescentados, como a manipulação de ponto flutuante.
Criação
A linguagem original foi projetada em 1963 por John George Kemeny e Thomas Eugene Kurtz, sendo implementada
por uma equipe de estudantes de Dartmouth sob sua direção. BASIC foi projetado para permitir que os estudantes
escrevessem programas para o Dartmouth Time-Sharing System. A 1 de maio, às 4 horas, dois programas[5] escritos
em BASIC correram ao mesmo tempo nos computadores de Dartmouth. A linguagem atacava a complexidade das
linguagens existentes na época e se destinada a uma nova classe de usuários que passava a ter acesso ao computador
com o aparecimentos dos sistemas de tempo compartilhado, isto é, usuários que não estavam tão interessados na
velocidade, mas sim em usar a máquina, e que não pretendiam dedicar suas vidas à computação. A ideia por trás da
https://pt.wikipedia.org/wiki/BASIC 3/9
09/05/2018 BASIC – Wikipédia, a enciclopédia livre
criação de BASIC é permitir principalmente a estudantes[6] de diferentes áreas de conhecimento, incluindo aqueles
que não se dedicariam às ciências exatas, como era o caso dos alunos de Kurtz e Kemeny, oriundos de cursos de
ciências humanas (foco principal de Darthmouth à época), escreverem simples programas que não dependam de
profundos conhecimentos técnicos. Alguns desses alunos, mesmo não sendo de cursos de engenharia, auxiliaram na
criação de BASIC. Nos anos seguintes, com o aparecimento de outros dialetos da linguagem, a versão original passou a
ser conhecida como Darthmouth BASIC.[2]
Precursores
A linguagem foi criada a partir de Fortran II e parcialmente inspirada em ALGOL 60, com adições para torná-la
adequada ao time-sharing, tendo sido consideradas características de outros sistemas como JOSS, CORC e até mesmo
LISP.[carece de fontes?]
Em Dartmouth, a linguagem foi precedida de outros experimentos destinados ao ensino de programação, como as
implementações de SAP e DART (um Fortran II simplificado) DARSIMCO e DOPE.[carece de fontes?]
Inicialmente a linguagem se concentrava apenas em trabalho matemático, incluindo uma extensão para aritmética de
matrizes, sendo que o suporte completo a manipulação de cadeias de caracteres em ASCII foi adicionado em 1965.
[carece de fontes?]
Sua primeira implementação foi em um mainframe GE-265, que suportava múltiplos terminais. Ao contrário do que
se tornaria mais tarde comum, sua primeira versão era compilada, sendo bastante eficiente e mais rápida que Fortran
II e ALGOL 60 no GE-265 em muitas tarefas razoáveis de programação, como maximizar a regra de Simpson.[carece de
fontes?]
Os projetistas da linguagem decidiram que ela devia permanecer em domínio público, para que pudesse se espalhar.
Também a tornar disponível para escolas de ensino médio (high schools) na região de Darthmouth, e fizeram um
esforço considerável para promover a linguagem. Como resultado, o conhecimento de BASIC se tornou razoavelmente
comum para uma linguagem de programação da época e ela passou a ser implementada por vários fabricantes, sendo
bastante popular nos minicomputadores mais novos como os PDPs da DEC e o Nova da Data General. Nesses
computadores era normal a linguagem ser interpretada em vez de compilada.[carece de fontes?]
O BASIC original
O BASIC original possuía apenas 15 comandos:[2]
10 LET A=1
READ, para ler o valor de uma ou mais variáveis de declarações DATA, como em:
https://pt.wikipedia.org/wiki/BASIC 4/9
09/05/2018 BASIC – Wikipédia, a enciclopédia livre
20 READ B,C,D
DATA, para definir listas de valores a serem usados lidos pelo READ, como em:
30 DATA 10,20,30
GOTO, para redirecionar a execução do programa para outra linha, como em:
50 GOTO 500
IF-THEN, para redirecionar um programa para outra linha, de acordo com o valor de uma expressão lógica, como
e:
600 NEXT I
END, que deve acabar todo o programa e indica seu fim se o processamento lá chegar.
STOP, que equivale a um GOTO para a linha contendo o END
DEF, para definir uma função.
GOSUB, para pular para um ponto do programa com a semântica de sub-rotina.
RETURN, para voltar de uma sub-rotina.
DIM, para definir vetores e matrizes.
REM, para comentários.
Um programa em BASIC é composto de linhas numeradas, possivelmente com intervalos entre os números. Era
normal numerar as linhas dos programas de 10 em 10. Além disso, a linguagem fornecia funções como SIN (seno) e
ABS (valor absoluto). O próprio manual já apresenta algumas extensões, como a capacidade de manipular matrizes em
CARDBASIC.[carece de fontes?]
Note que o BASIC original não tinha uma instrução de entrada de dados (que mais tarde seria nomeada de INPUT), e
que o READ, ao não encontrar mais dados para ler (em uma declaração DATA), considerava o programa terminado.
Além disso, note que a forma de programar escolhida para esse exemplo é típica de um programa BASIC, o que leva à
questão do código espaguete.[carece de fontes?] O comando INPUT foi acrescentado à linguagem em sua versão 4,
conforme o manual[7] de 1968.
A maioria das linguagens de programação é muito grande para caber na pequena memória que a maioria dos usuários
tinha condição de comprar para suas máquinas. Além disso, as baixíssimas velocidades da memória secundária
utilizadas, fitas de papel e cassetes de áudio, faziam com que uma linguagem pequena como BASIC fosse uma boa
opção.[carece de fontes?]
Esse BASIC, acrescido de comandos típicos de sistemas operacionais (mesmo que simplíssimos) e de edição, residente
em ROM, funcionava como uma espécie de linguagem própria do computador, o mais próximo existente do que hoje
chamamos de sistema operacional, e a maioria das aplicações da época seria escrita no dialeto de BASIC específico da
máquina.[carece de fontes?]
Outra vantagem da linguagem é que ela era razoavelmente bem conhecida pelos jovens projetistas que se interessaram
pelos microcomputadores naquela época, como resultado do proselitismo de Kemeny e Kurtz.[carece de fontes?]
Um dos primeiros interpretadores a aparecer para o Altair 8800 foi o Tiny Basic, uma implementação simples
originalmente escrita por Doutor Li-Chen Wang, e portada para o Altair por Dennis Allison sob pedido de Bob
Albrecht (que mais tarde fundaria o Dr. Dobb's Journal. Em 1976 o projeto e código completo de Tiny Basic foram
publicados nessa revista.[carece de fontes?]
Companhias mais novas tentaram seguir o sucesso da MITS, IMSAI, North Star e Apple Inc., criando então a
revolução dos microcomputadores. Simultaneamente, várias firmas lançaram outras versões de BASIC, além das
empresas de computadores, algumas empresas de software apresentavam interpretadores com melhorias sobre as
versões que vinham com as máquinas, e outras para algumas máquinas que vinham sem o apoio da linguagem, como
https://pt.wikipedia.org/wiki/BASIC 6/9
09/05/2018 BASIC – Wikipédia, a enciclopédia livre
as versões baseadas em CP/M-80. Breve, havia muitos milhões de máquinas rodando BASIC no mundo, certamente
com mais programadores do que todas as outras linguagens somadas.[carece de fontes?] No Brasil o Basic ficou bastante
conhecido (na segunda metade da década de 80) pelos usuários do MSX da Gradiente, que foi um dos primeiros
computadores acessíveis ao público.
Exemplos de códigos
Olá Mundo
ANSI BASIC
Críticas
Muitos anos após seu lançamento, profissionais respeitados da computação, especialmente Edsger W. Dijkstra,
expressaram a opinião que o uso da expressão GOTO, que existia em várias linguagens além de BASIC, promovia
práticas não desejáveis de programação. Alguns também acusaram BASIC de ser muito simples ou muito lenta.
[carece de fontes?]
Um dos principais problemas com as versões originais de BASIC era a falta de uma estrutura re-entrante de chamada
de sub-rotinas ou funções, como acontece ALGOL, Pascal e na maioria das linguagens modernas de programação
(mesmo em versões mais modernas de BASIC). Isso é uma propriedade similar a dos Fortran originais e um grande
entrave à modularização de programas.[carece de fontes?]
Durante algum tempo, BASIC foi a linguagem de escolha para ensinar programação, porém hoje em dia é considerada
uma linguagem pouco adequada para o ensino, pois a facilidade e permissividade da linguagem permitia a construção
de programas que não seguem princípios básicos de programação, o que se reflete mais tarde na construção de
programas mais complexos por aqueles que foram ensinados com BASIC. Como linguagem de aprendizado, BASIC foi
substituída principalmente por Pascal.[carece de fontes?]
Bibliografia
BASIC version 2 manual (http://www.bitsavers.org/pdf/dartmouth/BASIC_Oct64.pdf). Dartmouth College
Computation center, 1964. (PDF)
https://pt.wikipedia.org/wiki/BASIC 7/9
09/05/2018 BASIC – Wikipédia, a enciclopédia livre
Padrões
ANSI/ISO/IEC Standard for Minimal BASIC:
Referências
1. Kemeny, John G.; Kurtz, Thomas E. (1985). Back To BASIC: The History, Corruption, and Future of the Language.
[S.l.]: Addison-Wesley. p. 1-53. 145 páginas. ISBN 0-201-13433-0
2. «BASIC - A Manual for BASIC, the elementary algebraic language designed for use with the Dartmouth Time
Sharing System» (http://www.bitsavers.org/pdf/dartmouth/BASIC_Oct64.pdf) (PDF) (em inglês). Dartmouth
College. Consultado em 20 de novembro de 2010
3. «DDS-BASIC Interpreter (Version 1.00)» (http://www.nicholson.com/rhn/files/dds_basic.c) (em inglês). Diomidis
Spinellis. Consultado em 20 de novembro de 2010
4. «TINY PASCAL BASIC» (http://www.moorecad.com/standardpascal/basics.pas) (em inglês). S. A. Moore.
Consultado em 20 de novembro de 2010
5. http://www.computer.org/portal/web/awards/cp-kurtz"
6. http://cis-alumni.org/TKurtz.html
7. http://www.bitsavers.org/pdf/dartmouth/BASIC_4th_Edition_Jan68.pdf
Ver também
Lista de linguagens de programação
Gambas
Logic Basic
Visual Basic
Ligações externas
BASIC - Beginners All-purpose Symbolic Instruction Code (http://hopl.murdoch.edu.au/showlanguage.prx?exp=1
76) (em inglês)
BASIC (https://dmoztools.net/Computers/Programming/Languages/BASIC) no DMOZ
Obtida de "https://pt.wikipedia.org/w/index.php?title=BASIC&oldid=50709614"
Esta página foi editada pela última vez à(s) 05h34min de 9 de dezembro de 2017.
Este texto é disponibilizado nos termos da licença Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC BY-SA 3.0) da
Creative Commons; pode estar sujeito a condições adicionais. Para mais detalhes, consulte as condições de
utilização.
https://pt.wikipedia.org/wiki/BASIC 8/9
09/05/2018 BASIC – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/BASIC 9/9