BASIC (acrônimo para Beginner's All-purpose Symbolic Instruction Code; em português: Código de Instruções Simbólicas de Uso Geral para Principiantes), é uma linguagem de programação, criada com fins didáticos, pelos professores John George Kemeny e Thomas Eugene Kurtz em 1964 no Dartmouth College. BASIC também é o nome genérico dado a uma grande família de linguagens de programação derivadas do BASIC original. Provavelmente existem mais variações de BASIC do que de qualquer outra linguagem de programação.
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 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 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.
Os oito princípios de projeto de BASIC foram:
- ser fácil, para ser utilizada por iniciantes;
- ser uma linguagem de programação de uso geral;
- permitir que especialistas adicionassem características avançadas, sem tornar a linguagem mais complicada para os iniciantes;
- ser interativa;
- fornecer mensagens de erro claras e amigáveis;
- responder rapidamente para programas pequenos;
- não exigir o conhecimento do hardware do computador;
- proteger o sistema operacional do usuário.
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.
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.
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.
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.
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.