Microsoft BASIC - Microsoft BASIC

Microsoft ZÁKLADNÍ
Navrhl Microsoft
Vývojář Microsoft
Poprvé se objevil 1975 (srov. Altair ZÁKLADNÍ )
Stabilní uvolnění
srov. Visual Basic .NET / 2018

Microsoft BASIC je základním softwarovým produktem společnosti Microsoft a vyvinul se z řady tlumočníků BASIC přizpůsobených pro mnoho různých mikropočítačů . Poprvé se objevil v roce 1975 jako Altair BASIC , což byla první verze BASIC vydaná společností Microsoft a také první programovací jazyk na vysoké úrovni dostupný pro mikropočítač Altair 8800 .

Během šílenství domácích počítačů v pozdních sedmdesátých a na začátku osmdesátých let byl Microsoft BASIC přenesen a dodáván prakticky s každým počítačovým designem. Mírné variace na přidání podpory pro funkce specifické pro stroje, zejména grafiku, vedly k hojnosti souvisejících návrhů, jako jsou Commodore BASIC a Atari Microsoft BASIC .

Vzhledem k tomu, že rané domácí počítače ustoupily novějším návrhům, jako jsou osobní počítače IBM a Apple Macintosh , BASIC již nebyl tak široce používán, ačkoli si udržel silné pokračování. Vydání jazyka Visual Basic obnovilo jeho popularitu a je stále široce používáno na platformách Microsoft Windows v jeho nejnovější inkarnaci, Visual Basic .NET

Altair BASIC a rané mikropočítače

Sestavený počítač Altair 8800 s populárním teletypem Model 33 ASR (automatické odesílání a přijímání) jako terminál, čtečka papírových pásek a děrovačka papírových pásek.

Altair BASIC interpret byl vyvinut společností Microsoft zakladatelů Paul Allen a Bill Gates pomocí self-made společnosti Intel 8080 emulátor běžící na PDP-10 minipočítač . MS dialekt je vzorovaný na Digital Equipment Corporation ‚s BASIC-PLUS na PDP-11 , který Gates použil ve střední škole . První verze podporovaly pouze celočíselnou matematiku, ale Monte Davidoff je přesvědčil, že aritmetika s pohyblivou řádovou čárkou je možná, a napsal knihovnu, která se stala Microsoft Binary Format .

Altair BASIC byl dodán na papírovém pásku a v původní verzi zabral 4  kB paměti. Byly k dispozici následující funkce a příkazy:

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. 

Ve 4k BASIC nebyly žádné řetězcové proměnné a jediným podporovaným číselným typem byl 32bitový plovoucí desetinná čárka s jednoduchou přesností. Názvy proměnných sestávaly z jednoho písmene (A – Z) nebo jednoho písmene následovaného jednou číslicí (0–9), což umožňovalo až 286 numerických proměnných.

U počítačů s větší pamětí verze 8 kB přidala 31 dalších příkazů a podporu řetězcových proměnných a jejich souvisejících operací, jako je MID $ a řetězení řetězců . Řetězcové proměnné byly označeny příponou $, která zůstala v novějších verzích jazyka. Později společnost Microsoft vydala 12K Extended BASIC, který zahrnoval 64bitové proměnné s dvojitou přesností, IF ... THEN ... ELSE struktury, funkce definované uživatelem, pokročilejší příkazy pro úpravu programu a popisné chybové zprávy na rozdíl od čísel chyb. Numerické proměnné nyní měly tři základní typy, % označovalo 16bitová celá čísla, # označovalo 64bitové čtyřhry a! označuje 32bitové dvouhry, ale toto byl výchozí formát, takže! je v programech vidět jen zřídka.

Rozšířená verze 8 kB byla poté zobecněna na BASIC-80 (8080/85, Z80 ) a přenesena na BASIC-68 ( 6800 ), BASIC-69 ( 6809 ) a 6502 -BASIC. 6502 měl poněkud méně hustý kód assembleru a velikost se rozšířila na necelých 8K pro verzi s jednoduchou přesností nebo 9K pro verzi používající střední 40bitový formát s plovoucí desetinnou čárkou místo původní 32bitové verze. Tento nový 40bitový formát se stal nejběžnějším, protože byl použit na většině strojů éry založené na 6502. Byl také portován na 16bitový BASIC-86 ( 8086/88 ).

Poslední hlavní verzí BASIC-80 byla verze 5.x, která se objevila v roce 1981 a přidala podporu pro 40místné názvy proměnných, smyčky WHILE ... WEND, dynamické přidělování řetězců a několik dalších funkcí. BASIC 5.x odstranil možnost zkracovat programové řádky.

Základní sada příkazů a syntaxe jsou stejné ve všech implementacích Microsoft BASIC a obecně lze říci, že program lze spustit v jakékoli verzi, pokud nepoužívá funkce specifické pro hardware nebo čísla s dvojitou přesností (některé implementace nejsou podporovány).

Licence domácím výrobcům počítačů

Po počátečním úspěchu Altair BASIC se Microsoft BASIC stal základem pro lukrativní podnikání v oblasti licencování softwaru, který byl v sedmdesátých a zvláště v osmdesátých letech portován na většinu domácích a jiných osobních počítačů a postupně se rozšiřoval. Na rozdíl od původního Altair BASIC, většina domácích počítačových BASICů má bydliště v ROM , a proto jsou k dispozici na počítačích při zapnutí ve formě charakteristické " READY." výzvy. Proto Microsoft a další varianty BASIC tvoří významnou a viditelnou část uživatelského rozhraní základních operačních systémů mnoha domácích počítačů .

V roce 1981 byl Microsoft BASIC tak populární, že i společnosti, které již měly BASIC licencovaný jazyk, například IBM pro svůj osobní počítač , a Atari , které prodávaly jak Atari Microsoft BASIC, tak jeho vlastní Atari BASIC . Don Estridge společnosti IBM řekl: „Microsoft BASIC měl stovky tisíc uživatelů po celém světě. Jak s tím hodláte polemizovat?“ Microsoft licencoval podobné verze společnostem, které si navzájem konkurovaly. Po licencování IBM Advanced BASIC (BASICA) společnosti IBM například společnost Microsoft licencovala kompatibilní GW-BASIC výrobcům počítačových klonů a také prodávala kopie maloobchodním zákazníkům. Společnost podobně licencovala BASIC kompatibilní s Applesoftem jako VTech pro svůj klon Laser 128 .

Rozšířený BASIC-80

Známé varianty:

  • NCR Basic Plus 6 , vydaný v prvním čtvrtletí roku 1977 pro terminál pro zadávání dat NCR 7200 model VI . Adaptaci Microsoft Extended BASIC-80 provedl Marc McDonald v letech 1976/1977.

Disk BASIC-80

MBASIC je k dispozici pro CP/M-80 a ISIS-II . K dispozici také pro TEKDOS .

MBASIC je odizolovaný BASIC-80 s pouze hardwarově neutrálními funkcemi. Vzhledem k popularitě CP/M však velká většina strojů Z80 používala MBASIC, nikoli verzi přizpůsobenou konkrétnímu hardwaru (TRS-80 BASIC byla jednou z mála výjimek). Karta CP/M společnosti Microsoft pro Apple II obsahovala upravenou verzi MBASIC, která obsahovala některé grafické příkazy z Applesoft BASIC, jako je HPLOT, ale plná sada příkazů není podporována.

Samostatný disk BASIC-80

První implementace používat 8bitové variantu z tabulky přidělení souboru byl BASIC adaptace pro Intel 8080 na bázi NCR 7200 , 7520 nebo 7530 pro zadávání údajů terminál s 8-palcové diskety v 1977/1978.

TRS-80 Úroveň II/III ZÁKLADNÍ

Počítač TRS-80 byl původně nabízen s adaptací Li-Chen Wang's Tiny BASIC ( úroveň I BASIC ); během několika měsíců to bylo nahrazeno portem BASIC-80, který zahrnoval některé ze sady příkazů úrovně I BASIC, zejména příkazy pro nastavení grafických znaků. Úroveň II BASIC obsahovala některé funkce Extended BASIC, přestože kvůli potřebě zahrnout příkazy úrovně I, jako je SET a PSET, další funkce, jako jsou popisné chybové zprávy, musely být stále vynechány; ty byly následně přidány do TRS-80 Disk BASIC.

TRS-80 Model 4 měl novější BASIC na disku, který využíval jádro BASIC-80 5.x, které obsahovalo podporu pro 40místné názvy proměnných. Schopnost zkracovat řádky programu (bez mezer mezi klíčovými slovy a argumenty) tedy již nebyla možná, jako tomu bylo na úrovni II. Už nebylo nutné rezervovat místo pro řetězec. Mezi nové funkce patřily funkce definované uživatelem (DEF FN) a přístup k funkcím systému TRSDOS 6 pomocí klíčového slova SYSTEM. Upravená verze publikovaná později poskytovatelem logických systémů OS, v aktualizaci LS-DOS verze 6.3, přidala jednopísmenný přístup k základním řídicím funkcím (jako LIST a EDIT) a přímý přístup k volbám supervizora LS-DOS. Prostředí pro úpravu programu bylo stále orientováno na řádky. Zařízení dostupné na úrovni II pro třídění polí (CMD „O“) nebylo k dispozici; programátoři a uživatelé museli vymyslet svá vlastní řešení.

ZÁKLADNÍ-86

První implementace jako samostatný jazykový systém založený na disku byla pro CPU CPU kartu Seattle Computer Products S-100 bus 8086 v roce 1979. Využíval 8bitový systém souborů FAT .

V roce 1980 společnost Microsoft také nabídla verzi samostatného BASIC-86 pro SBC-86/12 pro platformu Intel 8086 Single Board Computer .

Texas Instruments ZÁKLADNÍ

Toto je verze BASIC používaná na počítačové řadě TI-99/4A společnosti Texas Instruments. Ačkoli velmi podobný Microsoft BASIC TI-99/4 BASIC nebyl napsán společností Microsoft, jak se široce říkalo. Podle inženýra TI H. Schuurmana; „Oni (ve formě Boba Greenberga z Microsoftu) dostali smlouvu na vývoj BASIC pro SR-70 (který je také někdy označován jako 99/7), ale BASIC pro 99/4 byl vyvinut interně. ' Ti-99/4 BASIC byl založen na základně Dartmouth Basic a vyhovuje americkému národnímu standardu pro minimální základy (ANSI X3.60-1978).

6502 ZÁKLADNÍ

Microsoft přenesl BASIC-80 na 6502 v létě 1976; většinou to byl přímý port 8K verze BASIC-80 a obsahoval stejné výzvy s dotazem na velikost paměti a pokud uživatel chtěl funkce s plovoucí desetinnou čárkou povolit nebo ne (mít je aktivní, využilo dalších 135 bajtů paměti). Nejčasnějšími stroji, které používaly 6502 BASIC, byly OSI Model 500 a KIM-1 v roce 1977. 6502 BASIC obsahoval určité funkce z Extended BASIC, jako jsou funkce definované uživatelem a popisné chybové zprávy, ale vynechal další funkce, jako jsou proměnné s dvojitou přesností a PRINT USING tvrzení. Jako kompenzaci za to, že nemá proměnné s dvojitou přesností, Microsoft zahrnoval 40bitovou podporu s plovoucí desetinnou čárkou místo 32bitové plovoucí desetinné čárky BASIC-80 a alokace řetězců byla dynamická (uživatel tedy nemusel rezervovat místo v řetězci jako v BASIC-80). Prodejci však stále mohli požadovat BASIC s 32bitovou plovoucí desetinnou čárkou o něco menší paměťovou stopu; jako jeden příklad, Disk BASIC pro Atari 8-bitů používal 32bitovou plovoucí desetinnou čárku spíše než 40bitovou.

Mezi standardní funkce 9K verze Microsoft 6502 BASIC patří:

  • Příkaz GET k detekci stisknutí klávesy.
  • Řádkování - programové řádky nevyžadují žádné mezery kromě čísla řádku a příkazu.
  • Pouze podporované typy proměnných jsou řetězec, jednoduchá přesnost a celé číslo (pouze pole).
  • Dlouhé názvy proměnných nejsou podporovány a rozpoznávají se pouze první dva znaky.
  • Dynamické přidělování řetězců.

6502 BASIC postrádal standardizovanou sadu příkazů pro výstup na disk a tiskárnu; to bylo na prodejci, aby přidal a široce se lišil s každou implementací.

Pozdější implementace 6502 Basic (1983–) byly v mnoha aspektech vylepšeny. Zatímco první stroje Commodore (VIC-20, C64) měly BASIC velmi blízký 6502 MS BASIC, později 8bitové stroje Commodore (řada C = 264, PET a C = 128 pojmenované jako V3.5, V4.0 a V7. 0) měl mnoho vylepšení, aby byl BASIC užitečnější a uživatelsky přívětivější:

  • Příkazy na disku (DIRECTORY, DSAVE, DLOAD, BACKUP, HEADER, SCRATCH, COLLECT, DVERIFY, COPY, DELETE, RENAME, atd.)
  • Grafické příkazy (CIRCLE, DRAW, BOX, COLOR (of background, border, etc.), PAINT, SCALE)
  • Kopírování grafického bloku a logická operace s existující grafickou obrazovkou (SSHAPE a GSHAPE s OR, AND, XOR atd.)
  • Definice Sprite, zobrazovací a animační příkazy na C128, dokonce ukládání skřítků do binárních souborů
  • Zvukové příkazy (VOL, SOUND), později na C = 128 Hudební příkazy (programování filtrů ADSR a SID (ENVELOPE a FILTER), příkazy PLAY, TEMPO)
  • Známky strukturovanějšího programování: IF – THEN – ELSE, DO – LOOP – WHILE/UNTIL – EXIT, ON – GOSUB
  • Rozšířené I/O příkazy pro speciální funkce: JOY, funkční klávesy
  • Ladicí příkazy: STOP, CONT, TRON, TROFF, RESUME
  • Rozšířené ovládání obrazovky znaků: WINDOW
  • Podpora snazšího vývoje programu: OBNOVA, NOVINKA, MONITOR, RREG
  • Spectravideo CompuMate na Atari 2600 ‚s MOS Technology 6507 CPU v roce 1983

ZÁKLADNÍ-68 a ZÁKLADNÍ-69

Katalogy společnosti Microsoft z 80. let rovněž ukázaly dostupnost BASIC-68 a BASIC-69 pro mikroprocesory Motorola 6800 a 6809 s operačním systémem FLEX a zmiňovaly také OEM verze pro Perkin-Elmer , Ohio Nuclear , Pertec a Societe Occitane d „Elektronické systémy. Zdá se pravděpodobné, že to je také základ pro Microsoft/Epson BASIC v přenosném počítači Epson HX-20 , který má dva procesory Hitachi 6301, které jsou v podstatě „vykoupené“ 6801. Většina základních funkcí v BASIC- 68 a BASIC-69 byly zkopírovány přímo z BASIC-80.

BASIC-69 byl zejména také licencován Tandy, kde tvořil jádro Color BASIC na barevném počítači TRS-80 . Nesmí být zaměňována s BASIC09 , velmi odlišnou BASIC vytvořenou společností Microware jako hlavním jazykem jejího OS-9 , druhého operačního systému dostupného na barevném počítači (Microware také napsal verzi 2.0 Extended Color BASIC, když to Microsoft odmítl udělat).

MSX

Společnost Microsoft vyrobila MSX BASIC na bázi ROM pro použití v domácích počítačích MSX , které používaly procesor Z80. Tato verze podporovala grafické a zvukové systémy počítačů MSX; některé varianty měly také podporu diskových jednotek.

Moderní potomci

V systému Microsoft Windows nebo DOS není aktuálně distribuována žádná řada Microsoft BASIC ( BASICA , GW-BASIC , QuickBasic , QBasic ) . Verze, které stále poběží na moderních počítačích, lze však stáhnout z různých internetových stránek nebo je najít na starých discích DOS.

Nejnovější inkarnací Microsoft BASIC je Visual Basic .NET , který obsahuje některé funkce z C ++ a C# a lze jej použít k vývoji webových formulářů, formulářů Windows, konzolových aplikací a serverových aplikací. Většina ukázek kódu .NET je prezentována ve VB.NET i v C#a VB.NET je i nadále oblíbený bývalými programátory jazyka Visual Basic .

V říjnu 2008 vydala společnost Microsoft Small Basic . Jazyk má pouze 14 klíčových slov. Small Basic Version 1.0 (12. června 2011) byl vydán s aktualizovaným webem Microsoft MSDN, který obsahoval úplné osnovy pro učitele, příručku Začínáme a několik elektronických knih. Small Basic existuje proto, aby pomohlo studentům ve věku osmi let naučit se základy počítačového programování a poté absolvovat Visual Basic prostřednictvím stahovatelného softwaru Visual Studio Express , kde mohou nadále stavět na základech tím, že se naučí Visual C# , VB.NET , a Visual C ++ .

Varianty a deriváty Microsoft BASIC

Viz také

Poznámky

  1. ^ a b c d Zdroje se liší, pokud jde o první terminál pro zadávání dat NCR integrující podporu pro souborový systém FAT . Podle Stephena Manese a Paula Andrewse, „Gates“, byl vývoj pro NCR 8200 na konci roku 1977, nesprávně klasifikován jako upgrade NCR 7200 na bázi diskety , který byl vydán v letech 1975-11 a byl postaven kolem Intel 8080 8bitový procesor, ale byl pouze na kazetách. NCR Century 8200 však byl 16bitový minipočítač, na který bylo možné připojit několik terminálů pro zadávání dat. Marc McDonald si dokonce pamatoval NCR 8500 , sálový počítač řady Criterion, což lze také vyloučit. Jiné zdroje uvádějí, že skutečnou cílovou platformou byl samotný NCR 7200 nebo jeho nástupce. Řada NCR 7500 byla vydána v roce 1978 na základě podobného hardwaru 8080, ale nyní zahrnuje modely NCR 7520 a 7530 s 8palcovými disketami. NCR Basic +6 , předchůdce nebo adaptace samostatného disku Microsoft BASIC-80 pro ně, byl k dispozici přinejmenším od roku 1979. Jeden zdroj tvrdí, že existovala speciální varianta modelu NCR 7200 se dvěma 8palcovými disketami a Microsoft BASIC a byla importována společností NCR Nejméně Sydney do Austrálie.

Reference

externí odkazy