BASICBASIC (Beginner’s All-purpose Symbolic Instruction Code[1]) – język programowania wysokiego poziomu, opracowany w 1964 przez Johna George’a Kemeny’ego i Thomasa E. Kurtza w Dartmouth College na bazie Fortrana i Algola-60. Jego pierwsza wersja znana była później pod nazwą Dartmouth BASIC, pierwszy program w BASIC-u został uruchomiony 1 maja 1964 na komputerze General Electric GE-225 typu mainframe[2]. HistoriaZałożenia projektantów BASIC-a uwzględniały łatwość użytkowania, wszechstronność zastosowań, interaktywność i dobrą komunikację z użytkownikiem poprzez jasne komunikaty błędów. ![]() BASIC wybił się na czoło języków do zastosowań amatorskich i półprofesjonalnych po wprowadzeniu na rynek mikrokomputera Altair 8800. Twórcami dialektu BASIC-a dla tej maszyny byli Bill Gates i Paul Allen, był to pierwszy produkt firmy Microsoft. BASIC szybko zaimplementowany został przy budowie serii komputerów Apple, a później (jako GW BASIC) w IBM PC (początkowo w ROM, a po pojawieniu się DOS-a – na dyskietce). Następcą GW BASIC-a dla komputerów PC został QB, później rozprowadzany komercyjnie jako QuickBASIC, który w końcu wyewoluował w Visual Basic for Windows. Istnieją też alternatywne interpretery i kompilatory tego języka dla platformy win32 (Power BASIC, DarkBASIC itp.) Do najbardziej znanych dialektów można zaliczyć: Altair BASIC, AMOS (Amiga), Applesoft BASIC, Atari BASIC, BASICA, Blitz Basic, Commodore BASIC (CBM BASIC), EBASIC (dla Elwro 500), GW BASIC, Locomotive BASIC (dla Amstrad CPC), QBasic, QuickBASIC, Sinclair BASIC, TeleBASIC używany w grze Telehack[3], Turbo Basic, Visual Basic, Visual Basic .NET, sBasic (dla komunikatorów Nokia), Jabaco (Java Bytecode BASIC; Open Source), PureBasic, KBasic, DarkBasic, FreeBASIC, PowerBASIC, G-BASIC (dla konsoli Famicom), GFA Basic (rodzina Atari ST, później Amiga i PC). W Polsce najbardziej znane są dialekty BASIC-a napisane dla popularnych komputerów ośmiobitowych – Commodore’a, Amstrada CPC, Atari i Sinclaira ZX Spectrum. Istnieją też odmiany BASICa, które powstały w Polsce. Przykładem jest Warsaw BASIC, napisany przez Bogusława Radziszewskiego i Krzysztofa Gajewskiego z Instytutu Podstawowych Problemów Techniki PAN, który powstał dla 8-bitowych komputerów Commodore[4]. Współcześnie (2018) BASIC istnieje w wersjach na smartfony (np. Linuxa Androida) – przykładowo RFO Basic pozwala na tworzenie kodu bezpośrednio na smartfonie, w trybie interpretera lub kompilowanym albo np. na stacjonarnych komputerach uruchamiających inne dystrybucje Linuxa. Poza poleceniami znanymi z innych wersji BASICA ma wiele dostosowanych do smartfonów - jak obsługa ekranu dotykowego czy połączeń sieciowych, aparatów fotograficznych etc.[5] SemantykaPonieważ istnieje ponad 200 różnych dialektów języka BASIC, poniższa charakterystyka dotyczy najpopularniejszych rozwiązań. Programy w BASIC-u składają się z kolejno wykonywanych instrukcji, które zebrane są w wiersze. Wszystkie dialekty oprócz najprymitywniejszych dopuszczają kilka instrukcji w jednym wierszu, rozdzielonych zazwyczaj znakiem dwukropka. Starsze wersje wymagały numerowania wierszy (maksymalny numer wynosił zwykle 9999, 16384, 32767, czasami 65535, jak to miało miejsce w Meritum). Zmienne mogą mieć dowolnie długie nazwy zaczynające się od litery. Nazwy zmiennych łańcuchowych zakończone są znakiem dolara, np. BASIC w sprowadzonej do wspólnego mianownika wersji posiada bardzo proste mechanizmy sterowania przebiegiem programu – instrukcję skoku bezwarunkowego Niektóre dialekty posiadają także instrukcje pętli warunkowej Inne typowe instrukcje:
W niektórych wersjach dostępne były skróty najczęściej wykorzystywanych instrukcji, np. Ponadto w większości dialektów dostępne są funkcje matematyczne: części całkowitej PrzykładPoniższy program został napisany w duchu paradygmatu imperatywnego, promowanego przez wczesne implementacje języków z rodziny BASIC. 10 PRINT "Witaj"
20 INPUT "Liczba gwiazdek do wyświetlenia: "; ile
30 PRINT "*"
40 LET ile = ile -1
50 IF ile > 0 THEN GOTO 30
Wiersze programu są numerowane, a pętle konstruuje się za pomocą instrukcji skoku 10 PRINT "Witaj"
20 INPUT "Liczba gwiazdek do wyświetlenia: "; ile
30 FOR licznik = 1 TO ile
40 PRINT "*"
50 NEXT licznik
InterpreteryPodejmowano różne próby ułatwienia pisania programów przez osoby nie robiące tego zawodowo (czyli większość posiadaczy komputerów domowych). Najbardziej oryginalne rozwiązanie było zastosowane w komputerach ZX Spectrum, gdzie do każdego klawisza przypisana było słowo kluczowe bądź nazwa funkcji wbudowanej języka Sinclair BASIC (tak, aby nie było potrzeby wpisywania ich znak po znaku). Miało to znacznie ułatwić i przyspieszyć pisanie programów. Rozwiązanie to w praktyce oznaczało niemałe trudności (na początku) w pisaniu programów, gdyż język dostępny dla tego komputera miał na tyle dużo instrukcji, że każdemu klawiszowi przypisane było ich wiele. Dostęp do nich był możliwy po kłopotliwym przełączaniu trybów edytora[6]. Jednak w rzeczywistości po dłuższym użytkowaniu klawiatury ZX Spectrum i nabraniu wprawy pisanie programów okazywało się dużo wygodniejsze, szybsze i łatwiejsze niż w innych rodzajach klawiatur. Zobacz teżPrzypisy
|