Microsoft udostępnił źródła środowiska GW‑BASIC

Kontynuując otwieranie kodów źródłowych swoich najstarszych produktów, Microsoft udostępnił źródła środowiska programistycznego GW-BASIC. Ten antyczny dialekt BASIC-a jest sporym kawałem historii rozwoju pecetów i doskonałym dowodem na to, jak przypadkowym sukcesem, nierozumianym nawet przez twórców, był sam IBM PC.

Microsoft udostępnił źródła środowiska GW-BASIC (fot. phreakindee)
Microsoft udostępnił źródła środowiska GW-BASIC (fot. phreakindee)
Kamil J. Dudek

22.05.2020 | aktual.: 22.05.2020 22:58

Oryginalny "pecet" (5150) uchodzi obecnie za komputer biurowy, podczas gdy wersją domową miał być nieudany wariant PCjr. Jednak już sama nazwa powinna wskazywać, że PC jest komputerem osobistym, który po prostu okazał się sprawdzać najlepiej jako narzędzie pracy biurowej. "Osobistość" komputera PC oraz jego ukierunkowanie na użytek domowy widać w podejściu jego twórców do języka BASIC. Zespół twórców PC twierdził bowiem, że na własny użytek, ludzie będą pisać własne programy, do czego potrzebują prostego języka. Koncepcja oprogramowania komercyjnego dla użytkowników domowych nie uchodziła w 1980 roku za oczywistość.

Magnetofonowy BASIC

Dlatego w komputer PC wbudowany jest ROM. Elektrycznie, pierwszym kodem, który karmiony jest procesor, jest oczywiście BIOS. Ale jeżeli w napędach dyskowych nie znajduje się żaden nośnik z systemem operacyjnym, PC uruchomi kod zawarty w czterech kostkach ROM. Znajduje się w nich język programowania BASIC, autorstwa firmy Microsoft. BASIc nie jest systemem operacyjnym, nie wprowadza obsługi plików i zarządzania pamięcią, pozwala pisać kod sekwencyjny, uruchamiać go i zapisywać na... kasecie magnetofonowej (pierwsze pecety miały dedykowane gniazdo na magnetofon).

Domowe komputery zapisywały programy na kasetach magnetofonowych (Pixabay)
Domowe komputery zapisywały programy na kasetach magnetofonowych (Pixabay)

Szczęśliwi posiadacze systemu MS-DOS także mogli korzystać z "kasetowego" BASIC-a z poziomu systemu operacyjnego, za pomocą narzędzia BASIC.COM. Uruchamiało ono intepreter zawarty w chipach ROM, ale pozwalało zapisywać pliki na dyskietkach, a nie tylko na kasetach. Z kolei bardziej wymagający programiści, zaopatrzeni przy okazji w więcej pamięci, mogli użyć środowiska Advanced BASIC. Zapewniało ono możliwości wykorzystania głośnika PC oraz kreślenia elementarnej grafiki.

BASIC jako produkt

Oba powyższe narzędzia wykorzystywały ROM wbudowany w płytę główną komputera PC. 32 kilobajty BASIC-a były uruchamiane bezpośrednio z ROM-u, a programy DOS nakładały na nie jedynie skromną erratę. Ale rozwój platformy PC sprawiał, że nie dało się rozwijać BASIC-a tylko poprzez dorzucanie erraty do skromnego kodu na płycie głównej. Nowe rzeczy należało dodawać oddzielnie. Ponadto, był cały biznes klonów PC, które nie zawierały BASIC-a na płycie (bo był własnością Microsoftu). Na potrzeby tych scenariuszy, Microsoft stworzył oddzielny, płatny, niewymagający ROM-u język GW-BASIC.

Obraz

Jak pokazują źródła, GW-BASIC jest napisany w całości asemblerze 8086. Microsoft posiadał w owym czasie szereg swoich kompilatorów, do takich języków jak COBOL, Pascal i FORTRAN, ale produkowały one kod o różnej jakości i oczywiście bardziej "spuchnięty". Microsoft poza kompilatorami miał jednak także translator, pozwalający na przetłumaczenie ich implementacji BASIC-a na procesory innych komputerów. Należy bowiem pamiętać, że IBM PC nie był wtedy jedynym graczem na rynku komputerów, a Microsoft wydawał oprogramowanie także dla innych.

Aby zbudować GW-BASIC z GitHuba, potrzebna będzie specjalna wersja Microsoft Macro Assemblera oraz system operacyjny zgodny uruchomieniowo z MS-DOS 2.0 lub nowszym. MS-BASIC żył w Microsofcie jeszcze przez wiele lat, pod postacią następców takich, jak QuickBasic, PDS QuickBasic, QBasic oraz dziwaczny i mało znany "Visual Basic 1.0 for DOS". Następną generacją BASIC-a był Visual Basic, oraz jego warianty skryptowe (VBS) i makropoleceniowe (VBA). Finalne postacie to oczywiście Visual Basic.NET oraz SmallBasic. Nowe wersje Visual Studio dalej będą umożliwiać pisanie w VB, a pakiet Office - w VBA, ale języki te nie będą już rozwijane.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (58)