Dydaktycy wieszali na nim psy - że uczy programować
chaotycznie. Musi być jednak coś wart, skoro przetrwał ponad 40 lat i ma się
dobrze.
W "Bajtku" kiedyś napisano o nim
"Basic dla poetow" i było w
tym dużo racji. Dla zasiadających u nas do ośmiobitowców w latach 80. był - w
odróżnieniu od takiego np. Pascala -
narzędziem rozmowy z maszyną. Prawie normalnej, ludzkiej. Wystarczało
jakiekolwiek otrzaskanie z angielskim.
Zapewne wielu zaczęło swój
romans z komputerem od wpisania komendy
PRINT "brzydkie słowo"
którą ten potulnie
wykonywał. Niezorientowanym udowadniało się, że w komputerze 2 * 2 = 5:
100 INPUT A, B
110 IF A=2 AND B=2
THEN PRINT 5 ELSE PRINT A*B
120 GOTO...
Owo GOTO właśnie było tak
zaciekle atakowane. Co nie zmienia faktu, że nie poznałem języka, w kórym by go
- choćby jako "wytrycha" - nie było.
We wczesnych Basicach bez
GOTO niewiele dałoby się zrobić. Obsługiwało wszelkiego rodzaju pętle i
"obejścia" (przy obejściach zalecane przez
"strukturalistów" GOSUB nie było już tak wygodne i, miast rozjaśniać,
zaciemniało kod). Prawda - można się było w tym pogubić. Za to we współczesnym
Basicu pogubić się można w mnogości oferowanych przez język gotowych pętli
strukturalnych...
W "poważnych"
podręcznikach zalecano ortodoksyjnie: najpierw algorytm! Następował rozdział o
sieci działań przedstawionej graficznie, dopiero po tym omawiano kod. Tymczasem
redaktor z "Bajtka"
odpowiadał czytelnikowi na pytanie "Jak zostać programistą?" tak
mniej więcej: Nie studiować matematyki. Nie
kończyć politechniki. PISAĆ PROGRAMY!
Piszący - nie tylko w
Basicu -podzielili się z grubsza na dwa odłamy. Ci o matematycznych umysłach
szli zgodnie z literą ksiąg. Inni - poeci? - z tych, co to pisząc, nie
wiedzieli do końca co im wyjdzie (jak mnie - ten tekst...) po prostu
entuzjastycznie pisali. Szukali potem błędów w swych programach i jedni, i
drudzy...
Sądzę, że to drugie
podejście przysporzyło nam równie wielu błyskotliwych programistów, tworzących
spontanicznie w atmosferze przygody, bez mozołu kujoństwa.
Prostych
"pchełek" w rodzaju tej powyżej mógł spróbować każdy; wystarczała
znajomość kilkunastu zaledwie komend. Fakt, że większość ówczesnych Basiców to
interpretery, pozwalał od razu zobaczyć efekty.
"Radosna
tworczość" wraz z nabywaną wprawą dochodziła w końcu do miejsca, w którym
autor zaczynał się w swej pisaninie gubić. Tu był punkt zwrotny. Jedni zapewne
nie przekraczali go ("To się robi zbyt trudne..."). Pozostali chcąc
nie chcąc musieli zestrukturalizować chaotyczny zrazu program.
Dlaczego interpretatory są
tak sympatyczne? Stare dialekty Basica, z numerowanymi wierszami, pracowały
liniowo. Nasze myślenie też jest liniowe. Pamiętam zaskoczenie stwierdzeniem,
że większość życia myślałem strukturami Basica, nie znając tego języka.
Liczbę mnogą trzeba tu
mocno podkreślić - nie istnieje jeden Basic. W czasach gdy PC miał 8-bitowy
procesor i 65 KB pamięci, a tzw. domowe komputery - jeszcze mniej, powstała
spora gromadka dialektów, każdy dopasowany do konkretnej maszyny. Przekład z
jednego na drugi nie zawsze był możliwy - przynajmniej nie do końca. Wymieńmy
tu dla przykładu: MBasic, GW-Basic (obydwa z Microsoftu), Atari Basic,
Applesoft Basic, Commodore-Basic, dialekt z ZX Spectrum, Turbo Basic Franka
Ostrowskiego dla Atari 65-130XE, określany jako lepszy od Microsoftu i
rzeczywiście - w 1988 r. oferował już kilka pętli strukturalnych i odwołania do
etykiet (mimo zachowania numeracji linii), co Microsoft zrealizował dopiero w
QBasicu na początku lat 90.
Jakiekolwiek psy nie
wieszalibyśmy na firmie Microsoft, sądzę, że przyczyniła się walnie do
rozpowszechnienia i przetrwania Basica. Każdy ich DOS był wyposażany w jego
interpreter. W wersjach 5 i 6 polecenie EDIT korzystało ze wspólnego z nim
mechanizmu (nie działało bez pliku Qbasic.exe). Obecnie mamy bardzo rozbudowany
Visual Basic (już nie darmowy) - i Visual Basic Script jako język
makrodefinicji MS Office. Skończył się czas prostoty pierwotnych języków - ale
gdzież jej dziś szukać w tym zinformatyzowanym na wskroś świecie...
To prawie namacalne
obcowanie z wnętrzem maszyny [ jeszcze bliżej jest asembler - ale to dla
masochistów ;-) ] można znowu dziś przeżyć, sięgając po stare wersje Basica. Są
za darmo. I nie "gryzą się" z Windows (przynajmniej do wersji 98SE,
nowszej nie mam). Z powodzeniem pracują w oknie. Można sobie napisać rozmaite
rzeczy. Zamiast studiować opasłe tomisko "Jak to zrobić w Excelu" lub
mozolnie wycinać w Notatniku wielokrotnie powtarzający się fragment tekstu -
wystarczy kilkanaście linijek kodu. Basic forever!
Damian Gawrych,
2005.08.10