Microsoft BASIC - Microsoft BASIC

Microsoft BASIC
Projetado por Microsoft
Desenvolvedor Microsoft
Apareceu pela primeira vez 1975 (cf. Altair BASIC )
Versão estável

O Microsoft BASIC é o produto de software base da empresa Microsoft e evoluiu para uma linha de interpretadores BASIC adaptados para muitos microcomputadores diferentes . Ele apareceu pela primeira vez em 1975 como Altair BASIC , que foi a primeira versão do BASIC publicada pela Microsoft, bem como a primeira linguagem de programação de alto nível disponível para o microcomputador Altair 8800 .

Durante a mania dos computadores domésticos durante o final dos anos 1970 e início dos anos 1980, o Microsoft BASIC foi adaptado e fornecido com praticamente todos os projetos de computador. Pequenas variações para adicionar suporte para funções específicas da máquina, especialmente gráficos, levaram a uma profusão de designs relacionados como Commodore BASIC e Atari Microsoft BASIC .

À medida que os primeiros computadores domésticos deram lugar a designs mais novos, como o IBM Personal Computer e o Apple Macintosh , o BASIC não era mais tão amplamente usado, embora mantivesse um grande número de seguidores. O lançamento do Visual Basic reacendeu sua popularidade e continua em amplo uso nas plataformas Microsoft Windows em sua encarnação mais recente, Visual Basic .NET

Altair BASIC e primeiros microcomputadores

Um computador Altair 8800 construído em kit com o popular Teletipo ASR (Envio e Recebimento Automático) Modelo 33 como terminal, leitor de fita de papel e perfurador de fita de papel.

O intérprete Altair BASIC foi desenvolvido pelos fundadores da Microsoft Paul Allen e Bill Gates usando um emulador Intel 8080 feito por ele mesmo rodando em um minicomputador PDP-10 . O dialeto MS é padronizada na Digital Equipment Corporation 's BASIC-PLUS no PDP-11 , que Gates havia usado no ensino médio . As primeiras versões suportavam apenas matemática inteira, mas Monte Davidoff os convenceu de que a aritmética de ponto flutuante era possível e escreveu uma biblioteca que se tornou o Formato Binário da Microsoft .

Altair BASIC foi entregue em fita de papel e em sua versão original ocupava 4  KB de memória. As seguintes funções e instruções estavam disponíveis:

LIST, NEW, PRINT, INPUT, IF...THEN, FOR...NEXT, SQR, RND, SIN, LET, USR, DATA, READ, REM, CLEAR, STOP, TAB, RESTORE, ABS, END, INT, RETURN, STEP, GOTO, and GOSUB. 

Não havia variáveis ​​de string no 4k BASIC e o ponto flutuante de precisão única de 32 bits era o único tipo numérico suportado. Os nomes das variáveis ​​consistiam em uma letra (A – Z) ou uma letra seguida por um dígito (0–9), permitindo assim até 286 variáveis ​​numéricas.

Para máquinas com mais memória, a versão de 8 KB adicionou 31 instruções adicionais e suporte para variáveis ​​de string e suas operações relacionadas como MID $ e concatenação de string . Variáveis ​​de string foram denotadas com um sufixo $, que permaneceu nas versões posteriores da linguagem. Posteriormente, a Microsoft lançou o 12K Extended BASIC, que incluía variáveis ​​de 64 bits de precisão dupla, estruturas IF ... THEN ... ELSE, funções definidas pelo usuário, comandos de edição de programa mais avançados e mensagens de erro descritivas em oposição a números de erro. As variáveis ​​numéricas agora tinham três tipos básicos,% denotados como inteiros de 16 bits, # denotados como duplos de 64 bits e! denotou singles de 32 bits, mas este era o formato padrão, então o! raramente é visto em programas.

A versão estendida de 8 KB foi então generalizada para BASIC-80 (8080/85, Z80 ) e portada para BASIC-68 ( 6800 ), BASIC-69 ( 6809 ) e 6502 -BASIC. O 6502 tinha código assembler um pouco menos denso e expandiu em tamanho para um pouco menos de 8K para a versão de precisão única, ou 9K para uma versão usando um formato de ponto flutuante intermediário de 40 bits no lugar da versão original de 32 bits. Esse novo formato de 40 bits se tornou o mais comum, pois era usado na maioria das máquinas baseadas em 6502 da época. Ele também foi portado para o BASIC-86 de 16 bits ( 8086/88 ).

O lançamento final principal do BASIC-80 foi a versão 5.x, que apareceu em 1981 e adicionou suporte para nomes de variáveis ​​de 40 caracteres, WHILE ... WEND loops, alocação dinâmica de strings e vários outros recursos. O BASIC 5.x removeu a capacidade de processar linhas de programa.

O conjunto de comandos principais e a sintaxe são os mesmos em todas as implementações do Microsoft BASIC e, de modo geral, um programa pode ser executado em qualquer versão se não usar recursos específicos de hardware ou números de precisão dupla (não suportado em algumas implementações).

Licenças para fabricantes de computadores domésticos

Após o sucesso inicial do Altair BASIC, o Microsoft BASIC se tornou a base para um lucrativo negócio de licenciamento de software, sendo transferido para a maioria dos numerosos computadores domésticos e outros computadores pessoais da década de 1970 e especialmente da década de 1980, e estendido ao longo do caminho. Ao contrário do Altair BASIC original, a maioria dos BASICs de computadores domésticos residem na ROM e, portanto, estão disponíveis nas máquinas na inicialização na forma do READY.prompt " " característico . Conseqüentemente, o Microsoft e outras variantes do BASIC constituem uma parte significativa e visível da interface do usuário de muitos sistemas operacionais rudimentares de computadores domésticos .

Em 1981, o Microsoft BASIC era tão popular que até mesmo empresas que já tinham um BASIC licenciavam a linguagem, como a IBM para seu computador pessoal e a Atari , que vendia o Atari Microsoft BASIC e seu próprio Atari BASIC . Don Estridge , da IBM, disse: "O Microsoft BASIC tinha centenas de milhares de usuários em todo o mundo. Como você vai argumentar contra isso?" A Microsoft licenciou versões semelhantes para empresas que competiam entre si. Após licenciar o IBM Advanced BASIC (BASICA) para a IBM, por exemplo, a Microsoft licenciou o GW-BASIC compatível para fabricantes de clones de PC e também vendeu cópias para clientes de varejo. A empresa licenciou de forma semelhante um BASIC compatível com a Applesoft para a VTech para seu clone Laser 128 .

BASIC-80 estendido

Variantes conhecidas:

  • NCR Basic Plus 6 , lançado no primeiro trimestre de 1977 para o terminal de entrada de dados NCR 7200 modelo VI . A adaptação do Extended BASIC-80 da Microsoft foi realizada por Marc McDonald em 1976/1977.

Disco BASIC-80

MBASIC está disponível para CP / M-80 e ISIS-II . Também disponível para TEKDOS .

MBASIC é um BASIC-80 simplificado com apenas funções neutras de hardware. No entanto, devido à popularidade do CP / M, a grande maioria das máquinas Z80 executava o MBASIC, em vez de uma versão personalizada para hardware específico (TRS-80 BASIC era uma das poucas exceções). O cartão CP / M da Microsoft para o Apple II incluiu uma versão modificada do MBASIC que incorporou alguns dos comandos gráficos do Applesoft BASIC, como HPLOT, mas o conjunto completo de comandos não é suportado.

Disco autônomo BASIC-80

A primeira implementação a usar uma variante de 8 bits da Tabela de Alocação de Arquivos foi uma adaptação BASIC para um NCR 7200 , 7520 ou 7530 baseado em Intel 8080 com disquetes de 8 polegadas em 1977/1978.

TRS-80 Nível II / III BÁSICO

O computador TRS-80 foi oferecido inicialmente com uma adaptação do Tiny BASIC ( Nível I BASIC ) de Li-Chen Wang ; dentro de alguns meses, ele foi substituído por uma porta do BASIC-80 que incorporou alguns dos conjuntos de comandos do BASIC de nível I, particularmente os comandos para definir caracteres gráficos. O nível II BASIC continha alguns dos recursos do Extended BASIC, embora devido à necessidade de incluir comandos de nível I, como SET e PSET, outros recursos, como mensagens de erro descritivas, ainda tiveram que ser deixados de fora; estes foram posteriormente adicionados ao TRS-80 Disk BASIC.

O TRS-80 Modelo 4 tinha um BASIC baseado em disco mais recente que utilizava o núcleo BASIC-80 5.x, que incluía suporte para nomes de variáveis ​​de 40 caracteres. Portanto, a capacidade de processar as linhas do programa (sem espaços entre as palavras-chave e os argumentos) não era mais possível como no Nível II. Não era mais necessário reservar espaço para as cordas. Os novos recursos incluem funções definidas pelo usuário (DEF FN) e acesso às funções do sistema TRSDOS 6 por meio de uma palavra-chave SYSTEM. Uma versão modificada publicada posteriormente pelo provedor de sistema operacional Logical Systems, na atualização do LS-DOS Versão 6.3, adicionou acesso de uma única letra às funções de controle BASIC (como LIST e EDIT) e acesso direto às chamadas do supervisor LS-DOS. O ambiente de edição do programa ainda era orientado por linhas. O recurso disponível no Nível II para classificar matrizes (CMD "O") não estava disponível; os programadores e usuários tiveram que criar suas próprias soluções alternativas.

BASIC-86

A primeira implementação como um sistema de linguagem baseado em disco autônomo foi para a placa de CPU 8086 de barramento S-100 da Seattle Computer Products em 1979. Ela estava utilizando um sistema de arquivos FAT de 8 bits .

A Microsoft também ofereceu uma versão do Standalone BASIC-86 para SBC-86/12 para a plataforma 8086 Single Board Computer da Intel em 1980.

Texas Instruments BASIC

Esta é a versão do BASIC usada na linha de computadores TI-99 / 4A da Texas Instruments. Embora muito semelhante ao Microsoft BASIC, o TI-99/4 BASIC não foi escrito pela Microsoft, como foi amplamente divulgado. De acordo com o engenheiro de TI H. Schuurman; 'Eles (na forma de Bob Greenberg da Microsoft) foram contratados para desenvolver o BASIC para o SR-70 (também conhecido como 99/7), mas o BASIC para o 99/4 foi desenvolvido internamente. ' Ti-99/4 BASIC foi baseado no Dartmouth Basic e está em conformidade com o American National Standard para mínimo Basic (ANSI X3.60-1978).

6502 BASIC

A Microsoft portou o BASIC-80 para o 6502 durante o verão de 1976; era principalmente uma porta direta da versão 8K do BASIC-80 e incluía os mesmos prompts perguntando sobre o tamanho da memória e se o usuário queria as funções de ponto flutuante habilitadas ou não (tê-las ativas usava 135 bytes extras de memória). As primeiras máquinas a usar 6502 BASIC foram o OSI Modelo 500 e KIM-1 em 1977. 6502 BASIC incluía certos recursos do Extended BASIC, como funções definidas pelo usuário e mensagens de erro descritivas, mas omitia outros recursos como variáveis ​​de precisão dupla e PRINT USING demonstração. Como compensação por não ter variáveis ​​de precisão dupla, a Microsoft incluiu suporte de ponto flutuante de 40 bits em vez do ponto flutuante de 32 bits do BASIC-80 e a alocação de string era dinâmica (portanto, o usuário não precisava reservar espaço de string como no BASIC-80). No entanto, os fornecedores ainda podem solicitar BASIC com ponto flutuante de 32 bits para uma área de cobertura de memória um pouco menor; como exemplo, o Disk BASIC para o Atari de 8 bits usava ponto flutuante de 32 bits em vez de 40 bits.

Os recursos padrão da versão 9K do Microsoft 6502 BASIC incluem:

  • Instrução GET para detectar um pressionamento de tecla.
  • Line crunching - as linhas do programa não requerem nenhum espaço, exceto entre o número da linha e a instrução.
  • Apenas os tipos de variáveis ​​suportados são string, precisão simples e inteiro (apenas matrizes).
  • Nomes de variáveis ​​longos não são suportados e apenas os dois primeiros caracteres são reconhecidos.
  • Alocação dinâmica de strings.

6502 BASIC não tinha um conjunto padronizado de comandos para disco e saída de impressora; cabia ao fornecedor adicionar e variava amplamente com cada implementação.

Implementações posteriores do 6502 Basic (1983–) foram melhoradas em muitos aspectos. Enquanto as primeiras máquinas Commodore (VIC-20, C64) tinham um BASIC muito próximo a 6502 MS BASIC, as máquinas Commodore posteriores de 8 bits (série C = 264, PET e C = 128 denominadas V3.5, V4.0 e V7. 0) teve várias melhorias para tornar o BASIC mais útil e amigável:

  • Comandos de disco (DIRETÓRIO, DSAVE, DLOAD, BACKUP, HEADER, SCRATCH, COLETAR, DVERIFICAR, COPIAR, EXCLUIR, RENOMEAR, etc.)
  • Comandos gráficos (CÍRCULO, DESENHO, CAIXA, COR (de fundo, borda, etc.), PINTURA, ESCALA)
  • Cópia do bloco gráfico e operação lógica com a tela gráfica existente (SSHAPE e GSHAPE com OR, AND, XOR, etc.)
  • Definição de sprites, exibição e comandos de animação no C128, até mesmo salvando sprites em binários
  • Comandos de som (VOL, SOUND), posteriormente em C = 128 Comandos de música (programação de filtro ADSR e SID (ENVELOPE e FILTER), comandos PLAY, TEMPO)
  • Sinais de programação mais estruturada: IF – THEN – ELSE, DO – LOOP – WHILE / UNTIL – EXIT, ON – GOSUB
  • Comandos de E / S estendidos para recursos especiais: JOY, teclas de função
  • Comandos de depuração: STOP, CONT, TRON, TROFF, RESUME
  • Tratamento estendido da tela de personagem: WINDOW
  • Apoie o desenvolvimento de programa mais fácil: RENUMBER, NEW, MONITOR, RREG
  • Spectravideo CompuMate no Atari 2600 's Tecnologia MOS 6507 CPU em 1983

BASIC-68 e BASIC-69

Os catálogos da Microsoft da década de 1980 também mostraram a disponibilidade de BASIC-68 e BASIC-69 para os microprocessadores Motorola 6800 e 6809 , respectivamente, executando os sistemas operacionais FLEX , e também mencionam versões OEM para Perkin-Elmer , Ohio Nuclear , Pertec e Societe Occitane d 'Electronique systems. Parece provável que isso também seja a base para o Microsoft / Epson BASIC no computador portátil Epson HX-20 , que tem duas CPUs Hitachi 6301, que são essencialmente um 6801 "aprimorado". A maioria dos recursos principais do BASIC- 68 e BASIC-69 foram copiados diretamente do BASIC-80.

O BASIC-69 também foi licenciado para a Tandy, onde formou o núcleo do Color BASIC no TRS-80 Color Computer . Não deve ser confundido com BASIC09 , um BASIC muito diferente criado pela Microware como a linguagem principal de seu OS-9 , o outro sistema operacional disponível no Color Computer (a Microware também escreveu a versão 2.0 do Extended Color BASIC quando a Microsoft se recusou a fazê-lo).

MSX

A Microsoft produziu um MSX BASIC baseado em ROM para uso em computadores domésticos MSX , que usavam um processador Z80. Esta versão suporta os sistemas gráficos e de som dos computadores MSX; algumas variantes também tinham suporte para unidades de disco.

Descendentes modernos

Nenhuma variedade de Microsoft BASIC ( BASICA , GW-BASIC , QuickBasic , QBasic ) é atualmente distribuída com o Microsoft Windows ou DOS . No entanto, as versões que ainda funcionam em máquinas modernas podem ser baixadas de vários sites da Internet ou encontradas em discos DOS antigos.

A mais recente encarnação do Microsoft BASIC é o Visual Basic .NET , que incorpora alguns recursos do C ++ e C # e pode ser usado para desenvolver formulários da Web, formulários do Windows, aplicativos de console e aplicativos baseados em servidor. A maioria dos exemplos de código .NET são apresentados em VB.NET e também em C #, e o VB.NET continua a ser preferido por ex- programadores de Visual Basic .

Em outubro de 2008, a Microsoft lançou o Small Basic . O idioma possui apenas 14 palavras-chave. A versão 1.0 do Small Basic (12 de junho de 2011) foi lançada com um site atualizado do Microsoft MSDN que incluía um currículo completo do professor, um Guia de introdução e vários e-books. Small Basic existe para ajudar alunos a partir dos oito anos de idade a aprender os fundamentos da programação de computadores e, em seguida, passar para o Visual Basic por meio do software para download, Visual Studio Express , onde eles podem continuar a desenvolver a base aprendendo Visual C # , VB.NET , e Visual C ++ .

Variantes e derivados do Microsoft BASIC

Veja também

Notas

  1. ^ a b c d As fontes diferem em relação ao primeiro terminal de entrada de dados NCR que integra o suporte para o sistema de arquivos FAT . De acordo com Stephen Manes e Paul Andrews, "Gates", o desenvolvimento foi para um NCR 8200 no final de 1977, incorretamente classificado como uma atualização baseada em disquete para o NCR 7200 , que foi lançado em 1975-11 e foi construído em torno de um Intel 8080 Processador de 8 bits, mas era baseado apenas em cassete. No entanto, o NCR Century 8200 era um minicomputador de 16 bits, ao qual vários terminais de entrada de dados podiam ser conectados. Marc McDonald até se lembrou de um NCR 8500 , um mainframe da série Criterion, que também pode ser descartado. Outras fontes indicam que o próprio NCR 7200 ou seu sucessor eram a plataforma de destino real. A série NCR 7500 foi lançada em 1978, com base em um hardware semelhante 8080, mas agora incluindo os modelos NCR 7520 e 7530 com disquetes de 8 polegadas. O NCR Basic +6 , um precursor ou adaptação do Microsoft Standalone Disk BASIC-80 estava disponível para eles pelo menos desde 1979. Uma fonte afirma que uma variante do modelo NCR 7200 especial com dois disquetes de 8 polegadas e o Microsoft BASIC existia e foi importado pelo NCR Sydney para a Austrália, pelo menos.

Referências

links externos