Wszystko czego potrzebowałem się dowiedzieć o programowaniu, nauczyłem się z BASICa

Oryginalny post: Everything I Needed to Know About Programming I Learned from BASIC

Autor: Jeff Atwood

Na temat Beginner's All Purpose Symbolic Instruction Code Edsger Dijkstra miał to do powiedzenia:

Nauczenie studentów dobrego stylu programowania jest praktycznie niemożliwe, jeśli byli oni wcześniej wystawieni na szkodliwe działanie BASICa; jako potencjalni programiści są umysłowo okaleczeni bez nadziei na regenerację.

Jestem pewien, że wyolbrzymiał dla efektu; o ile podziwiam jego referat z 1972 roku pod tytułem "Pokorny programista", o tyle trudno jest zrównać tę pokorę z pomysłem, iż wybór złego języka programowania uszkodzi umysł programisty. Mimo iż języki programowania ciągle się rozwijają, największym problemem jaki zauważam, nie jest wybór języka, ale fakt, że programiści mogą pisać stylem FORTRANowym w dowolnym języku. Cytując Poga, poznaliśmy wroga i on jest nami.

Odrzucenie BASICa wydaję się być pompatyczne. Tak jak wielu programistów w pewnym wieku, wychowałem się na BASICu.

Wspomniałem we wcześniejszym wpisie o ciekawym zderzeniu początków grania na konsolach i programowania, jakim był kartridż Atari 2600 BASIC Programming. Musiałem zobaczyć to na własne oczy, tak więc kupiłem jeden na eBayu.

Kupiłem także zestaw klawiaturek do Atari 2600. Nakładki zostały dostarczone razem z kartridżem, a klawiaturki dają się połączyć tak, by tworzyły prymitywną klawiaturę. (Tak więc jeśli zastanawialiście się jakiego rodzaju rzeczy robię ze swoimi przychodami z reklam, to kupowanie badziewia takiego jak to, jest jedną z nich, niestety.)

O dziwo, podręcznik nie jest dostępny nigdzie w Internecie, więc sam go zeskanowałem. Tylko spójrzcie. Jest zabawny. Jest dostępny w wersji HTML, ale nie ma tej przyjemności czytania bez obrazków i diagramów.

Odpaliłem kopię Basic Programming ROM w emulatorze Atari 2600 -- Stella, następnie podążając za podręcznikiem napisałem mały program w BASICu.

Zauważcie, że w Internecie w zasadzie nie ma innych zrzutów ekranu z programowania w BASICu na ATARI 2600. Jest tak, ponieważ prawdopodobnie jestem jedyną na tyle szaloną osobą, by faktycznie próbować programowania w tym czymś. Może to wyglądać na bolesne, ale nie przekonacie się dopóki nie spróbujecie popracować z tym niechlujnym "IDE". Jest rozśmieszająco fatalne. Nie mogłem powstrzymać się od śmiechu podczas, gdy stukałem w moje klawiaturki. Ale muszę przyznać, po napisaniu swojego pierwszego "programu" poczułem ten sam wewnętrzny dreszczyk zmuszania maszyny do swojej woli, który zawsze miałem.

Paczka, którą dostałem z eBaya zawierała kilka ręcznie napisanych notek programistycznych, które zakładam, iż pochodzą z lat 80-tych.

Czy w BASICu -- nawet w tej okropnie ułomnej, paskudnej wersji BASICa z Atari 2600 -- nie o to chodzi? Aby odkrywać podstawowe pojęcia programistyczne?

Oczywiście, jeśli byliście kiedykolwiek zainteresowani komputerami, nie zawracaliście sobie głowy programowaniem na słodkim Atari 2600. Były dostępne o wiele lepsze opcje dla grania oraz programowania pod postacią domowych komputerów. I przez dłuższy czas, każdy komputer, który można było kupić, miał BASICa wypalonego w ROMie. Niezależnie czy był to Apple //, Commodore 64, czy Atari 800, odpalało się go, aby być przywitanym przez znak zachęty BASICa. Stał się on natywnym językiem hobbystycznego programisty.

Nawet IBM PC miał interpreter BASICA, GW-BASICa i w końcu QBasica, który był wycofany razem z Windowsem 2000.

To prawda, że jeśli chcieliście zrobić cokolwiek w najmniejszym stopniu nowoczesnego na tych 8-bitowych komputerach Apple, Commodore czy Atari, musieliście nauczyć się asemblera. Nie przypominam sobie żadnego kompilowanego języka do czasów IBM PC oraz DOSa, mianowicie Turbo Pascala. Języki kompilowane były ezoteryczne i drogie do czasów wielkiej demokratyzacji Turbo Pascala po jego niskiej, naprawdę niskiej cenie $49,99.*

Nawet jeśli brakowało Wam umiejętności programistycznych na tyle, by zostać następnym Davidem Cranem czy Willem Wrightem, to nadal istniało mnóstwo interesujących gier i programów, które mogliście napisać w starym dobrym BASICu. Na pewno na tyle dużo, abyście mogli się zorientować czy lubicie programowanie oraz czy posiadacie jakiś talent. Zestawienia Creative Computing były jak programistyczne biblie dla nas.

Przez bardzo długi czas, jeśli w ogóle interesowaliście się komputerami, to programowaliście w BASICu. To było nieuniknione i pewne jak powietrze, którym oddychacie. Za każdym razem gdy odpalaliście komputer, była tam ta linia poleceń, która dawała Wam sygnał. Czemu by nie wpisać paru komend BASICa i sprawdzić co się stanie? A następnie to poczucie cudu, możliwości odblokowania wrzechświata wewnątrz Twojego komputera, którego jesteście w stanie nieskończenie formować. Tak więc kariery milionów programistów się rozpoczęły.

BASIC nie okalecza umysłu, jak twierdził Dijkstra. Jeśli coś, to BASIC otworzył umysły milionom młodych programistów. To był być może najwcześniejszy sprawdziań, aby określić czy byłeś programistyczną owcą czy nieprogramistyczną kozą. Nie wszyscy będą dobrzy, rzecz jasna, ale niektórzy na pewno staną się wspaniali.

Czy ciągle w nim programujemy czy nie, duch BASICa żyje w każdym z nas.

* tak na marginesie, zwróćcie uwagę, że Anders Hejlsberg był autorem Turbo Pascala a następnie Delphi; teraz posiada tytuł Technical Fellow w Microsofcie oraz jest naczelnym projektantem języka C#. To wielki powód, dla którego długoletni maniacy, tacy jak ja, są tak oddani platformie .NET.

Data publikacji oryginału: kwiecień 21, 2008

2 komentarze:

Anonimowy pisze...

Ja też zacząłem swoją przygodę z programowaniem w BASICu na 8 biowym Atari 65XE. Potem miałem krótki romans z asemblerem a pod koniec programowałem w języku Action! Był dostępny ze szpulki albo cartridge. I był to język kompilowalny, posiadał recordy - coś w rodzaju struktur i z tego co pamiętam to był całkiem nowoczesny jak na owe czasy. Następnym moim językiem było już C na Amidze 500 i pamiętam, że nie miałem z nim większych problemów właśnie dzięki Action!

Nie wiem czy powstał ten język przed Turbo Pascalem, ale na pewno był bardzo wcześnie i w podobnym czasie. Na sieci nie udało mi się wyszukać daty powstania, trzeba by zapytać fanów małego Atarii na jakimś forum.

Tak na marginesie, ja też zacząłem od BASICa ale bynajmniej nie jestem maniakiem platformy .NET ;-)

Spacetime pisze...

Well, I think Anders Hejlsberg made a compiler that will live for a long time. Check the beauty of Turbo Pascal compiler source code...

Prześlij komentarz

Related Posts with Thumbnails