Conteúdo verificado

BASIC

Assuntos Relacionados: Programação de Computadores

Você sabia ...

Arranjar uma seleção Wikipedia para as escolas no mundo em desenvolvimento sem internet foi uma iniciativa da SOS Children. Patrocínio da criança ajuda as crianças uma a uma http://www.sponsor-a-child.org.uk/ .

BASIC
AtariBasicExample.png
Screenshot de Atari BASIC, uma linguagem BASIC cedo para pequenos computadores
Paradigma (s) desestruturado, mais tarde processual, mais tarde orientada a objeto
Apareceu em 1964 (1964)
Projetado por John George Kemeny e Thomas Eugene Kurtz
As principais implementações BASIC de Apple, Atari BASIC, Sinclair BASIC, Commodore BASIC, Microsoft BASIC, Liberty BASIC, BBC BASIC, TI-BASIC, Visual Basic
Influenciado por ALGOL 60, FORTRAN II, JOSS
Influenciado COMAL, Visual Basic, Visual Basic .NET, Realbasic, GRASS, AutoIt, AutoHotkey

BASE é uma família de propósito geral, de alto nível linguagens de programação cuja filosofia de projeto enfatiza a facilidade de uso; o nome é uma acrônimo de All-purpose Symbolic Instruction Código do novato.

O original Dartmouth BASIC foi projetado em 1964 por John George Kemeny e Thomas Eugene Kurtz em Dartmouth College, em New Hampshire, EUA para fornecer acesso a computadores para os alunos não-ciência. Na época, quase todo o uso de computadores exigido escrever software personalizado, que era algo que só cientistas e matemáticos tendem a fazer. A linguagem e suas variantes tornou-se generalizada em microcomputadores no final dos anos 1970 e 1980, quando era tipicamente um recurso padrão, e muitas vezes parte do firmware da máquina. A presença de uma linguagem fácil de aprender como BASIC sobre esses primeiros computadores pessoais permitiu proprietários de pequenas empresas para desenvolver seu próprio software aplicativo personalizado, levando ao uso generalizado desses computadores em empresas que antes não tinham acesso à tecnologia de computação.

BASIC continua popular em numerosos dialetos e línguas novas influenciados por BASIC como Microsoft Visual Basic. Em 2006, 59% dos desenvolvedores para o .NET Framework usado Visual Basic .NET como sua única linguagem de programação.

História

Antes de meados dos anos 1960, os computadores eram extremamente caros e utilizados apenas para tarefas de propósito especial. Um simples arranjo de processamento em lote correu apenas um único "trabalho" de cada vez, um após o outro. Mas, durante a década de 1960 computadores mais rápidos e mais acessível se tornou disponível, e como os preços diminuíram sistemas de computador mais recentes suportados time-sharing, um sistema que permite que vários usuários ou processos para usar a CPU e memória. Num tal sistema, a suplentes do sistema operacional entre processos em execução, dando cada vez que uma corrida na CPU antes de mudar para outra. As máquinas tornou-se rápido o suficiente para que a maioria dos usuários podia sentir que eles tinham a máquina toda para si mesmos.

Até este ponto o problema de interagir com o computador é uma preocupação. No modelo de processamento em lote, os usuários nunca interagiu com a máquina diretamente, ao invés disso eles apresentaram suas tarefas para os operadores de computador. Sob o modelo de partilha de tempo, os usuários foram determinado indivíduo terminais de computador e interagiram diretamente. A necessidade de um sistema para simplificar esta experiência, a partir de intérpretes de linha de comando para linguagens de programação era uma área de intensa pesquisa durante os anos 1960 e 70.

Origem

A linguagem BASIC original foi projetado em 1964 por John Kemeny e Thomas Kurtz e implementado por uma equipe de estudantes de Dartmouth sob a sua direcção. O acrônimo está ligada ao nome de um papel inédito de Thomas Kurtz e não é um backronym. BASIC foi projetado para permitir que os alunos a escrever programas para o Dartmouth Sistema de Time-Sharing. Foi destinado especificamente para a nova classe de usuários que os sistemas de compartilhamento de tempo permitido, isto é, um usuário menos técnico que não têm a formação matemática dos usuários mais tradicionais e não estava interessado em adquiri-lo. Ser capaz de usar um computador para apoiar o ensino ea pesquisa foi bastante novidade na época.

A língua estava baseado em FORTRAN II, com algumas influências de ALGOL 60 e com adições para torná-lo adequado para timesharing. Inicialmente, BASIC concentrada no apoio ao trabalho matemático simples, com matriz de suporte aritmética de sua implementação inicial como uma linguagem em lotes e funcionalidade cadeia completa que está sendo adicionado em 1965.

Os designers da linguagem decidiu fazer o compilador disponível gratuitamente para que a língua se tornaria generalizada. Eles também tornou disponível para escolas de ensino médio no ?rea de Hanover e colocar uma quantidade considerável de esforço em promover a língua. Nos anos seguintes, como outros dialectos de BASIC apareceu, de Kemeny e Kurtz dialeto BASIC originais ficou conhecido como Dartmouth BASIC.

Espalhe em minicomputadores

Como resultado de sua livre disponibilidade, o conhecimento do BASIC tornou-se relativamente generalizada (para uma linguagem de computador) e BASIC foi implementado por um número de fabricantes, tornando-se bastante popular no mais recente minicomputadores como o Dezembro PDP série eo Dados Nova Geral. A linguagem BASIC também foi central para o HP Time-Partilhada sistema BASIC no final de 1960 e início de 1970, ea Escolha do sistema operacional. Nestes casos, o idioma tendiam a ser implementado como um intérprete, em vez de, ou além de, um compilador.

Treinar todos os dias básica! - Disse um cartaz na escola russa

Foi durante este período que uma série de simples jogos de computador foram escritos em BASIC, mais notavelmente Mike Mayfield Star Trek. Algumas delas foram recolhidos por David H. Ahl enquanto ele trabalhava em dezembro e publicado em um boletim de notícias que ele compilado. Mais tarde, ele recolheu um número de-los em forma de livro, "Jogos de 101 básicos de informática", que foi publicado pela primeira vez em 1973. Durante o mesmo período, Ahl estava envolvido na criação de um pequeno computador para uso educação, um dos primeiros computadores pessoais . Quando a administração se recusou a apoiar o conceito, Ahl deixou dezembro em 1974 para fundar a revista computador seminal, Computing criativo. O livro permaneceu popular, e foi re-publicada em várias ocasiões.

O crescimento explosivo: a era do computador para casa

MSX BASIC versão 3.0

A introdução do primeiro microcomputadores em meados dos anos 1970 foi o início de um crescimento explosivo para o BASIC. Ele tinha a vantagem que foi bastante conhecido para os jovens designers e entusiastas de computador que se interessaram em microcomputadores.

Um dos primeiros a aparecer foi Minúsculo BASIC, uma variante BASIC simples projetado por Dennis Allison, a pedido de Bob Albrecht da Homebrew Computer Club. Ele tinha visto em BASIC minicomputadores e senti que seria a combinação perfeita para novas máquinas como o MITS Altair 8800. Como elaborar e implementar uma versão reduzida de um intérprete para a linguagem BASIC estava coberto de artigos por Allison nos primeiros três edições trimestrais do Popular boletim Computer Company publicado em 1975 e implementações com código fonte publicado no Jornal do Dr. Dobb de Tiny BASIC Calisthenics & Orthodontia: Running luz sem Overbyte. Versão foram escritos por Dr. Li-Chen Wang, e Tom Pittman.

Em 1975, lançou MITS Altair BASIC, desenvolvido por Bill Gates e Paul Allen como a empresa Micro-Soft, que cresceu e se tornou gigante corporativo de hoje, Microsoft . A primeira versão Altair foi co-escrito por Gates, Allen, e Monte Davidoff.

Quando o Apple II, PET 2001 e TRS-80 foram todos lançados em 1977, todos os três tiveram BASIC como sua linguagem de programação primária e ambiente operacional. Após a inicialização, o usuário foi direcionado para um interpretador BASIC em Modo imediato, não uma tradicional interface de linha de comando. Commodore Business Machines incluiu uma versão de Micro-Soft BASIC. O Apple II e TRS-80 cada um tinha duas versões do BASIC, uma versão introdutória menor introduzido com as versões iniciais das máquinas e uma versão mais avançada desenvolvidos como interesse nas plataformas de aumento. À medida que novas empresas entraram no campo, versões adicionais foram adicionados que sutilmente mudaram a família BASIC. O Atari 8-bit família tinha seu próprio Atari BASIC que foi modificado de forma a caber em um 8 kB cartucho ROM. A BBC publicou BBC BASIC, desenvolvido para eles por Acorn Computers Ltd , incorporando muitas palavras-chave de estruturação extra e avançados recursos de operação de ponto flutuante. Quase universalmente, computadores domésticos dos anos 1980 teve um ROM residente interpretador BASIC, permitindo que as máquinas para arrancar diretamente em BASIC que, portanto, constitui uma parte significativa e visível do interface de usuário de muitos computadores domésticos 'rudimentar sistemas operacionais.

Como a popularidade do BASIC cresceu neste período, revistas (como o Creative Computing em os EUA) publicou o código fonte completo em BASIC para jogos, utilitários e outros programas. Dada a natureza simples do BASIC, era uma simples questão de digitar o código da revista e executar o programa. Diferentes revistas foram publicadas com programas para computadores específicos, embora alguns programas básicos eram considerados universais e pode ser usado em máquinas que executam qualquer variante do BASIC (por vezes, com pequenas adaptações). Muitos livros de programas Type-In, também estavam disponíveis, e em particular, Ahl publicado versões dos 101 jogos básicos originais convertidos em dialeto Microsoft e publicou-o a partir do Creative Computing como " B?SICAS Jogos de computador ". Este livro, e suas seqüelas, desde centenas de programas de pronto-a-go que poderiam ser facilmente convertidos em praticamente qualquer plataforma BASIC-execução. O livro chegou às lojas em 1978, assim como o mercado de computadores domésticos foi o arranque, e tornou-se o primeiro livro computador de um milhão de vendas. Pacotes posteriores, como Aprenda a Programar BASIC também teria de jogos como um foco introdutório.

Sobre o negócio com foco CP / M computadores que logo se tornaram amplamente distribuídas em ambientes de pequenas empresas, Microsoft BASIC ( MBASIC) foi um dos principais aplicativos.

IBM PC e compatíveis

Quando a IBM estava projetando o IBM PC eles seguiram o paradigma de-computadores domésticos existentes em querer ter um built-in BASIC. Eles sourced isso a partir de Microsoft - IBM Cassette BASIC - mas a Microsoft também produziu várias outras versões do BASIC para MS-DOS / PC-DOS incluindo IBM Disk BASIC (BASIC D), IBM BASICA (BASIC A), GW-BASIC (uma versão compatível com BASICA que não precisava ROM da IBM) e QuickBASIC, tudo tipicamente junto com a máquina. Além disso, eles produziram o Microsoft BASIC Compiler destinado a programadores profissionais.

Turbo Pascal-editora Borland publicado Turbo Basic 1.0 em 1985 (versões sucessoras ainda estão sendo comercializados pelo autor original sob o nome PowerBASIC). Microsoft escreveu a base de janelas- AmigaBASIC que foi fornecido com a versão 1.1 dos computadores multitarefa preemptiva GUI Amiga (final de 1985 / início de 1986), apesar de o produto invulgarmente não suportar todas as marcas Microsoft.

Estas línguas introduzidas muitas extensões para o BASIC home-computador original, como a melhoria manipulação de cadeia e suporte a gráficos, o acesso ao sistema de arquivos e adicional tipos de dados. Mais importante foram as instalações para programação estruturada, incluindo adicional estruturas de controlo e adequada sub-rotinas de apoio variáveis locais.

No entanto, pela segunda metade da década de 1980 usuários foram cada vez mais utilizando aplicativos escritos por outras pessoas, em vez de aprender a programação si mesmos, enquanto programadores profissionais agora tinha uma grande variedade de linguagens mais avançadas disponíveis e BASIC tendia a se tornar o alvo de comentários depreciativos, tais como Famoso comentário de Dijkstra: "É praticamente impossível ensinar uma boa programação para os alunos que tiveram uma exposição anterior a BASIC: como potenciais programadores eles são mutilados mentalmente além da esperança de regeneração".

Visual Basic

Sorte do BASIC revertida mais uma vez com a introdução em 1991 de Visual Basic ("VB"), pela Microsoft. A única semelhança significativa para dialectos de BASIC mais velhos era familiar sintaxe. Sintaxe em si não mais "totalmente definido" a língua, uma vez que grande desenvolvimento foi feito usando "arrastar e soltar" métodos sem expor todo o código para objetos comumente utilizados, tais como botões e barras de rolagem e muitos objetos amigáveis outro usuário para o desenvolvedor. Enquanto isso poderia ser considerado uma evolução da linguagem, algumas das características distintivas de início Dartmouth BASIC, como números de linha e da INPUT palavra-chave, permanecer (embora Visual Basic ainda usa INPUT para ler dados a partir de arquivos, e INPUTBOX está disponível para entrada direta do usuário, números de linha também pode, opcionalmente, ser usado em todas as versões VB, VB.NET mesmo, embora eles não podem ser usado em certos lugares, por exemplo, antes SUB ).

Ironicamente, dada a origem do BASIC como língua um "novato", e, aparentemente, até mesmo para a surpresa de muitos na Microsoft que ainda inicialmente comercializado como uma linguagem para amadores, a língua havia entrado em uso difundido para aplicações de pequenas empresas custom logo após o lançamento do VB versão 3.0, que é amplamente considerado a primeira versão relativamente estável. Enquanto muitos programadores avançados ainda zombou seu uso, VB atendeu às necessidades das pequenas empresas de forma eficiente onde quer que a velocidade de processamento foi uma preocupação menor do que a facilidade de desenvolvimento. Por esse tempo, os computadores com Windows 3.1 tornou-se rápido o suficiente para que muitos processos ligados às empresas pôde ser concluída "em um piscar de olhos", mesmo usando uma linguagem "lento", desde que enormes quantidades de dados não estavam envolvidos. Muitos pequenos empresários descobriram que podiam criar suas próprias aplicações ainda pequenos úteis em algumas noites para atender suas próprias necessidades específicas. Eventualmente, durante a longa vida de VB3, o conhecimento de Visual Basic havia se tornado uma habilidade de trabalho comercializável.

Microsoft também produziu VBScript em 1996 e Visual Basic .NET em 2001.

Três variantes básicas modernas: Mono Basic, OpenOffice.org Básico e Gambas

As versões recentes

Muitos dialectos de BASIC também surgiram nos últimos anos, incluindo o código-fonte aberto QB64, Bywater BASIC, Gambas e FreeBASIC - eo comercial PureBASIC, Poder BASIC, RealBasic, e Verdadeiro BASIC (o sucessor direto para Dartmouth BASIC de uma empresa controlada por Kurtz).

Vários interpretadores BASIC simples baseadas na web também existem agora, incluindo Bastante básico e do Microsoft Small Basic (software educativo).

As versões do BASIC foram aparecendo para uso em smartphones e tablets. Uma versão é RFO BASIC para dispositivos Android. Outro BASIC Android é Mintoris Basic. Há também uma versão para Apple smartphones e tablets chamado Básico!

Nostalgia

A onipresença de interpretadores BASIC em computadores pessoais era tal que os livros didáticos, uma vez incluída simples "Try It In B?SICOS" exercícios que incentivou os alunos a experimentar com os conceitos matemáticos e computacionais na sala de aula ou em casa computadores. Revistas de computadores populares do dia incluiu tipicamente escreva-nos programas. Futurista e sci-fi escritor David Brin lamentou a perda de BASIC onipresente em um artigo do Salon 2006, como têm outros que primeiro utilizados computadores durante esta época. Por sua vez, o artigo solicitado Microsoft para desenvolver e lançar Small Basic.

Sintaxe

Palavras-chave de base típicas

Manipulação de dados
  • DEIXAR: atribui um valor (que pode ser o resultado de um expressão) a uma variável.
  • DATA: contém uma lista de valores que são atribuídos seqüencialmente usando o comando READ.
Programa de controle de fluxo
  • IF ... THEN ... ELSE: utilizado para realizar comparações ou tomar decisões.
  • PARA ... PARA ... {} ... PASSO SEGUINTE: repetir uma secção de código de um determinado número de vezes. Uma variável que actua como um contador está disponível dentro do loop.
  • ENQUANTO ... WEND e REPEAT ... ATÉ: repetir uma seção de código enquanto a condição especificada for verdadeira. A condição pode ser avaliada antes de cada iteração do circuito, ou depois.
  • Do ... Loop {ENQUANTO} ou {} ATÉ: repetir uma seção de código ou para sempre Enquanto / até que a condição especificada for verdadeira. A condição pode ser avaliada antes de cada iteração do circuito, ou depois.
  • GOTO: salta para uma linha numerada ou marcada no programa.
  • GOSUB: salta temporariamente para uma linha numerada ou rotulados, retornando para a seguinte linha depois de encontrar o comando RETURN. Esta é usada para implementar sub-rotinas.
  • ON ... GOTO / GOSUB: escolhe onde a saltar com base nas condições especificadas. Ver Alterne declaração para outras formas.
  • DEF FN: um par de palavras-chave introduzidas no início de 1960 para definir funções. As funções básicas originais foram modelados em funções de linha única Fortran. Funções básicas foram uma expressão com argumentos variáveis, em vez de sub-rotinas, com uma sintaxe do modelo de DEF FND(x) = x*x , no início de um programa. Nomes de funções eram restritos a FN + uma letra.
Entrada e saída
  • PRINT: exibe uma mensagem na tela ou outro dispositivo de saída.
  • ENTRADA: solicita que o usuário insira o valor de uma variável. A declaração pode incluir uma mensagem de aviso.
  • TAB ou AT: define a posição onde o próximo caractere será mostrado na tela ou impressos em papel.
Variado
  • REM: detém comentário de um programador ou REMark; muitas vezes usado para dar um título para o programa e para ajudar a identificar o propósito de uma determinada seção de código.
  • USR: transferências de controle do programa para um sub-rotina linguagem de máquina, geralmente inserida como uma alfanumérico cadeia ou em uma lista de instruções de dados.

Os tipos de dados e variáveis

Versões mínimas de BASIC tinha apenas variáveis inteiras e nomes de variáveis de uma letra. Versões mais poderosas teve aritmética de ponto flutuante, e variáveis poderiam ser rotulados com nomes de seis ou mais caracteres.

Variáveis de cadeia são normalmente identificados em muitos dialetos microcomputador por ter $ sufixo de seu nome, e valores de cadeia são normalmente colocados entre aspas.

Arrays em BASIC poderia conter inteiros, variáveis de ponto flutuante ou de corda.

Alguns dialetos do BASIC apoiado as matrizes e operações da matriz , úteis para a solução de conjuntos de equações algébricas lineares simultâneas. Estes dialetos iria apoiar as operações da matriz, tais como atribuição, adição, multiplicação (matriz de tipos compatíveis), e avaliação de um determinante. Dialetos microcomputador não dispunham deste tipo de dados e necessário um programador para fornecer sub-rotinas para realizar operações equvalent.

Exemplos

O original Dartmouth básico era incomum em ter uma palavra-chave da matriz, MAT. Embora caiu pela maioria dos derivados de microprocessadores mais tarde, é utilizado neste exemplo do manual que calcula a média dos números que são de entrada 1968:

 5 LET S = 0
 10 MAT ENTRADA V
 20 LET N = NUM
 30 Se n = 0 THEN 99
 40 para I = 1 a n
 45 LET S = S + V (I)
 50 PRÓXIMO I
 60 PRINT S / N
 70 IR PARA 5
 99 END

Novos programadores Basic em um computador em casa pode começar com um programa simples semelhante ao Olá mundo programa que ficou famosa por Kernighan e Ritchie.

 10 PRINT "Olá, mundo!"
 140 FIM

Isso geralmente envolve o uso simples de instrução PRINT da linguagem para visualizar a mensagem (como nome do programador) para a tela. Muitas vezes, um loop infinito foi usada para preencher a tela com a mensagem.

A maioria das linguagens BASIC primeira geração, como MSX BASIC e GW-BASIC suportados tipos de dados simples, ciclos de loop e matrizes. O exemplo a seguir é escrito para GW-BASIC, mas vai trabalhar na maioria das versões do BASIC com alterações mínimas:

 10 INPUT "Qual é o seu nome:", U $
 20 PRINT "Olá";  U $
 30 INPUT "Quantas estrelas você quer:" N
 40 S $ = ""
 50 para I = 1 a n
 60 S $ = R $ + "*"
 70 PRÓXIMO I
 80 PRINT $ S
 90 INPUT "Você quer mais estrelas?", A $
 100 IF LEN (A $) = 0 THEN GOTO 90
 110 A $ = LEFT $ (A $, 1)
 120 SE A $ = "Y" OU A $ = "y" THEN GOTO 30
 130 PRINT "Goodbye";  U $
 140 FIM

O diálogo resultante pode se parecer com:

 Qual é o seu nome: Mike
 Olá Mike
 Quantas estrelas que você quer: 7
 *******
 Você quer mais estrelas?  sim
 Quantas estrelas que você quer: 3
 ***
 Você quer mais estrelas?  não
 Adeus Mike

BASICs de segunda geração (por exemplo, QuickBASIC e PowerBASIC) introduziu uma série de recursos para a língua, principalmente relacionado à programação estruturada e orientada para o procedimento. Normalmente, numeração de linha é omitida da língua e substituído com etiquetas (por GOTO) e procedimentos para incentivar o desenvolvimento mais fácil e flexível.

 INPUT "Qual é o seu nome:" UserName $
 PRINT "Olá";  UserName $
 FAZ
   INPUT "Quantas estrelas você quer:", NumStars
   Estrelas $ = String $ (NumStars, "*")
   Estrelas IMPRESSÃO $
   FAZ
     INPUT "Você quer mais estrelas?", Resposta $
   Loop até Resposta $ <> ""
   Resposta = $ LEFT $ (Resposta $, 1)
 Loop while UCASE $ (Resposta $) = "Y"
 PRINT "Goodbye";  UserName $

Terceira geração dialetos básicos, tais como Visual Basic, REALbasic, StarOffice Basic e BlitzMax introduziu recursos para apoiar orientada a objetos e event-driven paradigma de programação. A maioria built-in procedimentos e funções agora são representados como métodos de objetos padrão em vez de operadores.

O exemplo a seguir é em Visual Basic .NET:

 Classe pública StarsProgram
     Public Shared Sub Main ()
         UserName Dim, Resposta, estrelas como uma cadeia, NumStars As Integer
         . Faça Console ("Qual é o seu nome:")
         UserName = Console. ReadLine ()
         Console. WriteLine ("Olá {0}", nome de utilizador)
         Fazer
             Faça Console. ("Quantas estrelas você quer:")
             NumStars = CInt (Console. ReadLine ())
             estrelas = new String ("*", NumStars)
             Console. WriteLine (estrelas)
             Fazer
                 Console. Write ("Você quer mais estrelas?")
                 Resposta = Console. ReadLine ()
             Loop Until Resposta <> ""
             Resposta = Resposta. Substring (0, 1)
         Loop While resposta. ToUpper () = "Y"
         Console. WriteLine ("Goodbye {0}", nome de utilizador)
     End Sub
 End Class

Padrões

  • ANSI / ISO / IEC Padrão para o BASIC Mínimo:
    • ANSI X3.60-1978 "Para BASIC mínimo"
    • ISO / IEC 6373: 1984 "Processamento de Dados - Linguagens de Programação - Minimal BASIC"
  • ANSI / ISO / IEC Padrão para o BASIC completa:
    • ANSI X3.113-1987 "Linguagens de Programação completa BASIC"
    • INCITS / ISO / IEC 10279-1991 (R2005) "Tecnologia da Informação - Linguagens de Programação - Full BASIC"
  • ANSI / ISO / IEC Adenda Definindo Módulos:
    • ANSI X3.113 Interpretações-1992 "BASIC Técnico Boletim de Informações # 1 Interpretações de ANSI 03.113-1987"
    • ISO / IEC 10279: 1991 / Amd 1: 1994 "Módulos e Caráter Individual Enhancement Input"
  • ECMA-116 BASIC (retirado, semelhante ao ANSI X3.113-1987)
Retirado de " http://en.wikipedia.org/w/index.php?title=BASIC&oldid=542415528 "