PODSTAWOWE Microsoft - Microsoft BASIC

Microsoft BASIC
Zaprojektowany przez Microsoft
Deweloper Microsoft
Po raz pierwszy pojawiły się 1975 (por. Altair BASIC )
Wersja stabilna
por. Visual Basic .NET / 2018

Microsoft BASIC jest podstawowym produktem oprogramowania firmy Microsoft i przekształcił się w linię interpreterów języka BASIC przystosowanych do wielu różnych mikrokomputerów . Po raz pierwszy pojawił się w 1975 roku jako Altair BASIC , który był pierwszą wersją języka BASIC wydaną przez Microsoft, a także pierwszym językiem programowania wysokiego poziomu dostępnym dla mikrokomputera Altair 8800 .

Podczas szaleństwa na temat komputerów domowych w późnych latach 70-tych i wczesnych 80-tych, Microsoft BASIC był przenoszony i dostarczany z praktycznie każdym projektem komputera. Niewielkie zmiany w celu dodania obsługi funkcji specyficznych dla maszyny, zwłaszcza grafiki, doprowadziły do ​​powstania wielu powiązanych projektów, takich jak Commodore BASIC i Atari Microsoft BASIC .

Ponieważ wczesne komputery domowe ustąpiły miejsca nowszym projektom, takim jak IBM Personal Computer i Apple Macintosh , BASIC nie był już tak powszechnie używany, chociaż zachował mocne poparcie. Wersja Visual Basic ponownie rozpaliła swoją popularność i nadal jest szeroko stosowana na platformach Microsoft Windows w swoim najnowszym wcieleniu, Visual Basic .NET

Altair BASIC i wczesne mikrokomputery

Kompletny komputer Altair 8800 z popularnym teletypem Model 33 ASR (automatyczne wysyłanie i odbieranie) jako terminalem, czytnikiem taśmy papierowej i dziurkaczem taśmy papierowej.

Altair BASIC interpreter został opracowany przez założycieli firmy Microsoft Paul Allen i Bill Gates użyciu self-made Intel 8080 emulator działa na PDP-10 minikomputer . MS dialekt jest wzorowane na Digital Equipment Corporation „s BASIC PLUS na PDP-11 , który Gates użył w liceum . Pierwsze wersje obsługiwały tylko matematykę całkowitoliczbową, ale Monte Davidoff przekonał ich, że arytmetyka zmiennoprzecinkowa jest możliwa, i napisał bibliotekę, która stała się Microsoft Binary Format .

Altair BASIC był dostarczany na taśmie papierowej iw pierwotnej wersji zajmował 4  KB pamięci. Dostępne były następujące funkcje i instrukcje:

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. 

W 4k BASIC nie było zmiennych łańcuchowych, a zmiennoprzecinkowy 32-bitowy o pojedynczej precyzji był jedynym obsługiwanym typem numerycznym. Nazwy zmiennych składały się z jednej litery (A–Z) lub jednej litery, po której następowała jedna cyfra (0–9), co pozwalało na użycie do 286 zmiennych numerycznych.

W przypadku maszyn z większą ilością pamięci wersja 8 KB dodała 31 dodatkowych instrukcji i obsługę zmiennych łańcuchowych oraz powiązanych z nimi operacji, takich jak MID$ i łączenie łańcuchów . Zmienne łańcuchowe oznaczono sufiksem $, który pozostał w późniejszych wersjach języka. Później Microsoft wydał 12K Extended BASIC, który zawierał 64-bitowe zmienne podwójnej precyzji, struktury IF...THEN...ELSE, funkcje zdefiniowane przez użytkownika, bardziej zaawansowane polecenia edycji programów i opisowe komunikaty o błędach, w przeciwieństwie do numerów błędów. Zmienne numeryczne mają teraz trzy podstawowe typy, % oznaczający 16-bitowe liczby całkowite, # oznaczający 64-bitowe liczby podwójne oraz ! oznaczał 32-bitowe single, ale był to format domyślny, więc ! jest rzadko spotykany w programach.

Rozszerzona wersja 8 KB została następnie uogólniona do BASIC-80 (8080/85, Z80 ) i przeniesiona do BASIC-68 ( 6800 ), BASIC-69 ( 6809 ) i 6502 -BASIC. 6502 miał nieco mniej gęsty kod asemblera i rozszerzył się do prawie 8K dla wersji o pojedynczej precyzji lub 9K dla wersji używającej pośredniego 40-bitowego formatu zmiennoprzecinkowego zamiast oryginalnej wersji 32-bitowej. Ten nowy 40-bitowy format stał się najpopularniejszy, ponieważ był używany na większości maszyn opartych na 6502 w tamtych czasach. Został również przeniesiony do 16-bitowego BASIC-86 ( 8086/88 ).

Ostatnim głównym wydaniem BASIC-80 była wersja 5.x, która pojawiła się w 1981 roku i dodała obsługę 40-znakowych nazw zmiennych, pętli WHILE...WEND, dynamicznej alokacji ciągów i kilku innych funkcji. W BASIC 5.x usunięto możliwość zgniatania linii programu.

Podstawowy zestaw poleceń i składnia są takie same we wszystkich implementacjach Microsoft BASIC i, ogólnie rzecz biorąc, program można uruchomić w dowolnej wersji, jeśli nie używa funkcji specyficznych dla sprzętu lub liczb podwójnej precyzji (nieobsługiwane w niektórych implementacjach).

Licencje dla domowych producentów komputerów

Po początkowym sukcesie Altair BASIC, Microsoft BASIC stał się podstawą lukratywnego biznesu licencjonowania oprogramowania, przeniesiony na większość licznych komputerów domowych i innych komputerów osobistych z lat 70., a zwłaszcza z lat 80., a także rozszerzany. W przeciwieństwie do oryginalnego Altair BASIC, większość domowych programów BASIC rezyduje w pamięci ROM , a zatem jest dostępna na maszynach po włączeniu zasilania w postaci charakterystycznego znaku READY.zachęty. Dlatego Microsoft i inne warianty BASICa stanowią istotną i widoczną część interfejsu użytkownika wielu podstawowych systemów operacyjnych komputerów domowych .

Do 1981 r. Microsoft BASIC był tak popularny, że nawet firmy, które już posiadały BASIC, licencjonowały ten język, takie jak IBM dla swojego komputera osobistego i Atari , który sprzedawał zarówno Atari Microsoft BASIC, jak i własny Atari BASIC . Don Estridge z IBM powiedział: "Microsoft BASIC miał setki tysięcy użytkowników na całym świecie. Jak zamierzasz się z tym kłócić?" Microsoft licencjonował podobne wersje firmom, które ze sobą rywalizowały. Po licencjonowaniu IBM Advanced BASIC (BASICA) na przykład IBM, Microsoft udzielał licencji na kompatybilny GW-BASIC twórcom klonów PC , a także sprzedawał kopie klientom detalicznym. Spółka podobnie licencjonowany jest Applesoft -Kompatybilny podstawowego do Vtech jego laser 128 klonu .

Rozszerzony BASIC-80

Znane warianty:

  • NCR Basic Plus 6 , wydany w pierwszym kwartale 1977 roku dla terminala wprowadzania danych NCR 7200 model VI . Adaptację Extended BASIC-80 Microsoftu przeprowadził w latach 1976/1977 Marc McDonald .

Dysk PODSTAWOWY-80

MBASIC jest dostępny dla CP/M-80 i ISIS-II . Dostępne również dla TEKDOS .

MBASIC to uproszczony BASIC-80 z funkcjami wyłącznie sprzętowymi. Jednak ze względu na popularność CP/M zdecydowana większość maszyn Z80 obsługiwała MBASIC, a nie wersję dostosowaną do konkretnego sprzętu (TRS-80 BASIC był jednym z nielicznych wyjątków). Karta CP/M firmy Microsoft dla Apple II zawierała zmodyfikowaną wersję MBASIC, która zawierała niektóre polecenia graficzne z Applesoft BASIC, takie jak HPLOT, ale pełny zestaw poleceń nie jest obsługiwany.

Samodzielny dysk BASIC-80

Pierwsze wdrożenie użyć odmianę 8-bitowy z tablicy alokacji plików był BASIC przystosowanie dla Intel 8080 opartych NCR 7200 , 7520 lub 7530 wprowadzania danych terminal z 8-calowe dyskietki w 1977/1978.

TRS-80 Poziom II/III PODSTAWOWY

Komputer TRS-80 był początkowo oferowany z adaptacją Tiny BASIC firmy Li-Chen Wang ( Level I BASIC ); w ciągu kilku miesięcy został on zastąpiony przez port BASIC-80, który zawierał niektóre z zestawu poleceń Level I BASIC, w szczególności polecenia do ustawiania znaków graficznych. Poziom II BASIC zawierał niektóre funkcje Extended BASIC, chociaż ze względu na potrzebę włączenia poleceń poziomu I, takich jak SET i PSET, inne funkcje, takie jak opisowe komunikaty o błędach, nadal musiały zostać pominięte; zostały one następnie dodane do TRS-80 Disk BASIC.

TRS-80 Model 4 miał nowszy dyskowy BASIC, który wykorzystywał rdzeń BASIC-80 5.x, który zawierał obsługę 40-znakowych nazw zmiennych. W ten sposób możliwość zgniatania linii programu (bez spacji między słowami kluczowymi i argumentami) nie była już możliwa, jak to miało miejsce w Poziomie II. Nie było już konieczne rezerwowanie miejsca na struny. Nowe funkcje obejmowały funkcje zdefiniowane przez użytkownika (DEF FN) oraz dostęp do funkcji systemowych TRSDOS 6 za pomocą słowa kluczowego SYSTEM. Zmodyfikowana wersja opublikowana później przez dostawcę systemu operacyjnego Logical Systems, w aktualizacji LS-DOS wersja 6.3, dodała dostęp do pojedynczych liter do funkcji sterujących BASIC (takich jak LISTA i EDYCJA) oraz bezpośredni dostęp do wywołań nadzorcy LS-DOS. Środowisko edycji programu nadal było zorientowane liniowo. Funkcja dostępna na poziomie II do sortowania tablic (CMD „O”) nie była dostępna; programiści i użytkownicy musieli opracować własne obejścia.

PODSTAWOWY-86

Pierwsza implementacja jako samodzielny dyskowy system językowy dotyczyła karty procesora 8086 Seattle Computer Products z magistralą 8086 w 1979 roku. Używała ona 8-bitowego systemu plików FAT .

Microsoft zaoferował również wersję Standalone BASIC-86 dla SBC-86/12 dla platformy Intel 8086 Single Board Computer w 1980 roku.

Texas Instruments BASIC

Jest to wersja BASICa używana w linii komputerowej TI-99/4A firmy Texas Instruments. Chociaż bardzo podobny do Microsoft BASIC, TI-99/4 BASIC nie został napisany przez Microsoft, jak powszechnie krążyły plotki. Według inżyniera TI H. Schuurmana; „Oni (w postaci Boba Greenberga z Microsoftu) otrzymali kontrakt na opracowanie BASICa dla SR-70 (który jest również czasami określany jako 99/7), ale BASIC dla 99/4 został opracowany we własnym zakresie. ' Ti-99/4 BASIC bazował na Dartmouth Basic i jest zgodny z American National Standard for minimum Basic (ANSI X3.60-1978).

6502 PODSTAWOWE

Microsoft przeniósł BASIC-80 na 6502 latem 1976 roku; był to w większości prosty port wersji 8K BASIC-80 i zawierał te same monity z pytaniem o rozmiar pamięci i czy użytkownik chciał włączyć funkcje zmiennoprzecinkowe, czy nie (aktywowanie ich wymagało dodatkowych 135 bajtów pamięci). Najwcześniejszymi maszynami, które używały 6502 BASIC były OSI Model 500 i KIM-1 w 1977. 6502 BASIC zawierał pewne funkcje z Extended BASIC, takie jak funkcje zdefiniowane przez użytkownika i opisowe komunikaty o błędach, ale pomijał inne funkcje, takie jak zmienne podwójnej precyzji i DRUKUJ Z UŻYCIEM oświadczenie. Jako rekompensatę za brak zmiennych o podwójnej precyzji, Microsoft zastosował obsługę 40-bitowych zmiennoprzecinkowych zamiast 32-bitowych zmiennoprzecinkowych BASIC-80, a alokacja ciągów była dynamiczna (dzięki czemu użytkownik nie musiał rezerwować miejsca na ciągi, jak w BASIC-80). Jednak dostawcy nadal mogą prosić o BASIC z 32-bitową liczbą zmiennoprzecinkową dla nieco mniejszego zużycia pamięci; jako jeden przykład, Disk BASIC dla 8-bitowego Atari używał 32-bitowej liczby zmiennoprzecinkowej zamiast 40-bitowej.

Standardowe funkcje wersji 9K Microsoft 6502 BASIC obejmowały:

  • Instrukcja GET do wykrywania naciśnięcia klawisza.
  • Zgniatanie linii – linie programu nie wymagają żadnych spacji poza numerem linii i instrukcją.
  • Tylko obsługiwane typy zmiennych to ciąg, pojedyncza precyzja i liczba całkowita (tylko tablice).
  • Długie nazwy zmiennych nie są obsługiwane i rozpoznawane są tylko pierwsze dwa znaki.
  • Alokacja ciągów dynamicznych.

6502 BASIC brakowało ustandaryzowanego zestawu poleceń dla wyjścia dysku i drukarki; były one dodawane przez dostawcę i zmieniały się w szerokim zakresie przy każdej implementacji.

Późniejsze implementacje 6502 Basic (1983-) zostały ulepszone w wielu aspektach. Podczas gdy wczesne maszyny Commodore (VIC-20, C64) miały BASIC bardzo zbliżony do 6502 MS BASIC, późniejsze maszyny 8-bitowe Commodore (seria C=264, PET i C=128 nazwane jako V3.5, V4.0 i V7. 0) posiada liczne ulepszenia, aby BASIC był bardziej użyteczny i przyjazny dla użytkownika:

  • Polecenia dyskowe (DIRECTORY, DSAVE, DLOAD, BACKUP, HEADER, SCRATCH, COLLECT, DVERIFY, COPY, DELETE, RENAME, itp.)
  • Polecenia graficzne (OKRĄG, RYSUJ, RAMKA, KOLOR (tła, obramowania itp.), FARBA, SKALA)
  • Kopiowanie bloków graficznych i operacje logiczne z istniejącym ekranem graficznym (SSHAPE i GSHAPE z OR, AND, XOR itp.)
  • Definiowanie, wyświetlanie i animacja sprite'ów na C128, nawet zapisywanie sprite'ów w plikach binarnych
  • Komendy dźwiękowe (VOL, SOUND), później C=128 Komendy muzyczne (programowanie filtrów ADSR i SID (ENVELOPE i FILTER), PLAY, TEMPO)
  • Oznaki bardziej strukturalnego programowania: IF–THEN–ELSE, DO–LOOP–WHILE/UNTIL–EXIT, ON–GOSUB
  • Rozszerzone polecenia we/wy dla funkcji specjalnych: JOY, klawisze funkcyjne
  • Polecenia debugowania: STOP, CONT, TRON, TROFF, RESUME
  • Rozszerzona obsługa ekranu postaci: WINDOW
  • Wspieraj łatwiejsze tworzenie programów: RENUMBER, NEW, MONITOR, RREG
  • Spectravideo CompuMate na procesorze Atari 2600 z technologią MOS 6507 w 1983 r.

BASIC-68 i BASIC-69

Katalogi firmy Microsoft z lat 80. pokazały również dostępność BASIC-68 i BASIC-69 odpowiednio dla mikroprocesorów Motorola 6800 i 6809 z systemem operacyjnym FLEX , a także wspominają wersje OEM dla Perkin-Elmer , Ohio Nuclear , Pertec i Societe Occitane d „ Systemy elektroniczne . Wydaje się prawdopodobne, że jest to również podstawa Microsoft/Epson BASIC w przenośnym komputerze Epson HX-20 , który ma dwa procesory Hitachi 6301, które są zasadniczo „podrasowanym” 6801. Większość podstawowych funkcji w BASIC- 68 i BASIC-69 zostały skopiowane bezpośrednio z BASIC-80.

BASIC-69 był również licencjonowany przez Tandy, gdzie stanowił jądro Color BASIC na kolorowym komputerze TRS-80 . Nie mylić z BASIC09 , bardzo innym BASIC- em stworzonym przez Microware jako główny język dla OS-9 , innego systemu operacyjnego dostępnego na Color Computer (Microware napisał również wersję 2.0 Extended Color BASIC, kiedy Microsoft odmówił).

MSX

Microsoft wyprodukował oparty na pamięci ROM MSX BASIC do użytku w domowych komputerach MSX , który używał procesora Z80. Ta wersja obsługiwała systemy graficzne i dźwiękowe komputerów MSX; niektóre warianty posiadały również wsparcie dla dysków.

Współcześni potomkowie

Żadna odmiana Microsoft BASIC ( BASICA , GW-BASIC , QuickBasic , QBasic ) nie jest obecnie dystrybuowana z Microsoft Windows lub DOS . Jednak wersje, które nadal będą działać na nowoczesnych komputerach, można pobrać z różnych witryn internetowych lub znaleźć na starych dyskach DOS.

Najnowszym wcieleniem Microsoft BASIC jest Visual Basic .NET , który zawiera kilka funkcji z C++ i C# i może być używany do tworzenia formularzy internetowych, formularzy Windows, aplikacji konsolowych i aplikacji serwerowych. Większość próbek kodu .NET są przedstawiane w VB.NET, jak C #, VB.NET i nadal jest faworyzowana przez byłych Visual Basic programistów .

W październiku 2008 roku Microsoft wydał Small Basic . Język ma tylko 14 słów kluczowych. Small Basic Wersja 1.0 (12 czerwca 2011 r.) została wydana ze zaktualizowaną witryną Microsoft MSDN w sieci Web, zawierającą pełny program nauczania dla nauczycieli, przewodnik wprowadzający i kilka książek elektronicznych. Small Basic istnieje, aby pomóc uczniom w wieku ośmiu lat nauczyć się podstaw programowania komputerowego, a następnie przejść do Visual Basic za pomocą dostępnego do pobrania oprogramowania Visual Studio Express , gdzie mogą nadal budować na podstawach, ucząc się Visual C# , VB.NET , i Wizualizacja C++ .

Warianty i pochodne Microsoft BASIC

Zobacz też

Uwagi

  1. ^ a b c d Źródła różnią się w odniesieniu do pierwszego terminala wprowadzania danych NCR integrującego obsługę systemu plików FAT . Według Stephena Manesa i Paula Andrewsa, „Gates”, rozwój dotyczył NCR 8200 pod koniec 1977 roku, błędnie sklasyfikowanego jako uaktualnienie na dyskietce do NCR 7200 , który został wydany w latach 1975-11 i został zbudowany na Intel 8080. 8-bitowy procesor, ale był oparty tylko na kasecie. Jednak NCR Century 8200 był 16-bitowym minikomputerem, do którego można było podłączyć kilka terminali wprowadzania danych. Marc McDonald przypomniał sobie nawet NCR 8500 , mainframe z serii Criterion, co również można wykluczyć. Inne źródła wskazują, że faktyczną platformą docelową był sam NCR 7200 lub jego następca. Seria NCR 7500 została wydana w 1978 roku, oparta na podobnym sprzęcie 8080, ale teraz obejmuje modele NCR 7520 i 7530 z 8-calowymi dyskietkami. NCR Basic +6 , prekursor lub adaptacja Microsoft Standalone Disk BASIC-80 była dla nich dostępna co najmniej od 1979 roku. Jedno ze źródeł twierdzi, że specjalny wariant modelu NCR 7200 z dwiema 8-calowymi dyskietkami i Microsoft BASIC istniał i został zaimportowany przez NCR Najmniej z Sydney do Australii.

Bibliografia

Zewnętrzne linki