Amiga MinusEskarina
<<  Spis treści  >>
PUREBASIC 2.05
Dla wielu początkujących programistów nauka C++ czy AmigaE jest nie lada wyzwaniem. Brak polskojęzycznej dokumentacji i amigowej literatury odstrasza na tyle, że w środowisku amigowym umiejętność programowania stała się cechą nielicznych użytkowników. Wraz z przejściem do historii "niesystemowego" oprogramowania uruchamianego z jednej dyskietki odszedł do lamusa najpopularniejszy niegdyś język programowania - Amos. W ten sposób język, którego podstawy znało większość użytkowników Amigi stał się bezużyteczny. Od niedawna możemy jednak śledzić rozwój kolejnego rozwinięcia języka Basic. Pakiet nosi nazwę PureBasic, jest produktem komercyjnym, a stopień trudności jego opanowania konkuruje z legendarnym już Amosem. Wersję 2.05 PureBasica otrzymaliśmy do testów od jego autora, Frederica Laboureura z francuskiej firmy Fantaisie Software.

Mimo że same podstawy programowania można szybko i bez trudu opanować, problem może stanowić składnia i metody korzystania z zasobów systemu. Do niedawna najprostszym i najpopularniejszym do opanowania językiem był Amos, będący rozbudowaną odmianą języka Basic. Nie było czasopisma, które nie prowadziło kursu programowania dla użytkowników Amosa, a w kraju ukazywały się liczne książki - kompendia wiedzy dla amosowych programistów. Mimo że Amos był pakietem komercyjnym a tworzone przy jego pomocy programy nie współpracowały bezpośrednio z systemem, nie zaważyło to na jego sukcesie i rynek zapełnił się mniej lub bardziej poważnymi programami napisanymi w tym języku. Wkrótce jednak oprogramowanie uruchamiane na gołej A500 bezpośrednio z dyskietki przeszło do historii ustępując programom pisanym "pod system". Temu zadaniu nie sprostał Amos.

Pierwsza wersja PureBasica pojawiła się we wrześniu 1999 roku, a wersja przekazana nam do testów opatrzona jest numerem 2.05 (obecnie jest już dostępna wersja 2.32). Język wywarł na mnie olbrzymie wrażenie.

PureBasic posiada własny edytor, z poziomu którego można testować programy, kompilować i bezpośrednio uruchamiać. Nic jednak nie stoi na przeszkodzie, by do pracy wykorzystać jakikolwiek inny edytor, np. CED czy GoldED, gdyż samej kompilacji można dokonać z wiersza CLI, a źródła programów mają postać zwykłych plików ASCII.

Instrukcje PureBasica dzielą się na dwie grupy. Pierwsza to główny trzon języka, składający się z instrukcji podstawowych, znanych chociażby z Amosa. Należą do nich pętle: For-Next, Repeat-Until, While-Wend; warunki: If-Endif, Select-Case-EndSelect; skoki: Goto, Gosub-Return (obsługa etykiet); czy ustalanie procedur Procedure-EndProcedure. Instrukcje podstawowe uzupełniają komendy do obsługi znanych z AmigaE list: NewList, AddElem czy podział programu na struktury: Structure-EndStructure.

Jak przystało na Basic nie zmieniły sie metody przypisywania zmiennym wartości (a=10, b=b+7), definiowanie tablic obsługuje instrukcja Dim, a warunkowe operatory to znane z każdej odmiany Basica kombinacje znaków <, > i =. Dodajmy, że PureBasic obsługuje zmienne typu bajt (8 bitów), słowo (16 bitów), długie słowo (32 bity) oraz struktury definiowane przez programistę, pozwalając na operowanie wartościami zmiennych jako liczbami w postaci dziesiętnej, szesnastkowej i binarnej. Samo programowanie wspomagane jest procedurami, funkcjami i zmiennymi o charakterze globalnym i lokalnym.

Drugą grupę instrukcji stanowią komendy zamknięte w 35 zewnętrznych bibliotekach PureBasica. Biblioteki te służą do wykorzystywania zasobów systemowych i każda z nich odpowiada za obsługę innej części systemu.

Jedną z najważniejszych bibliotek jest biblioteka Window. Zawiera ona komendy pozwalające na pełną obsługę okien pod AmigaOS, a więc ich otwieranie czy ustalanie parametrów (InitWindow, OpenWindow, CloseWindow, SizeWindow, WindowWidth czy WindowHeight). Obsługę okien rozszerzają komendy z biblioteki Menu, które odpowiadają za tworzenie i przypisywanie poleceń poszczególnym opcjom rozwijanych menu okien AmigaOS. Biblioteka Screen jest odpowiednikiem Window, z tym że odnosi się nie do okien, lecz całych ekranów (czyli InitScreen, OpenScreen, CloseScreen itd.), File odpowiada za otwieranie dowolnych plików i obsługę ich zawartości (OpeFile, CloseFile, ReadByte, WriteString, WriteWord, RenameFile czy DeleteFile). Inne biblioteki odpowiadają za obsługę dźwięku (Audio), sprajtów (Sprite) czy czcionek (Font). Warto jeszcze wspomnieć o bibliotece Drawing, zawierającej komendy do tworzenia graficznych obiektów w obrębie otwartych okien czy ekranów (np. Plot, Line, Circle, Ellipse, Cls, CursX, CursY), oraz o bibliotece Network, zawierającej pakiet komend do obsługi połączeń internetowych, czyli do łączenia się z serwerami czy ściągania plików (przykładowe instrukcje: OpenNetworkConnection, ReceiveNetworkFile, SendNetworkData), słowem 14 instrukcji wystarczających do pełnej obsługi protokołu TCP/IP, co w zupełności pozwala na napisanie własnej przeglądarki internetowej czy klienta FTP.

Programy pisane w PureBasicu są zgodne z systemem Amigi. Zaletą języka jest szybka kompilacja (30 tys. linii na minutę przy procesorze 030/50) oraz pełna obsługa zasobów systemowych z wykorzystaniem 35 grup instrukcji. Edytor jest wyposażony w debugger, a sam kompilator pozwala na wstawianie do źródła programu poleceń asemblerowych. PureBasic posiada bardzo dobrze napisaną instrukcję w formacie amigaguide. Wymagania programu to Amiga z systemem co najmniej 3.0 i 1 MB wolnej pamięci.

Cena pełnej wersji PureBasica jest europejska i dobitnie wskazuje, że nasz kraj do Europy jeszcze nie należy. Koszt zakupu pełnej wersji wynosi 59 Euro, czyli około 210 złotych. Być może wykażą się tutaj osoby i organizacje negocjujące dla polskich użytkowników specjalne ceny oprogramowania, choć w porównaniu z przeciętnymi cenami amigowych programów 210 zł to kwota niewygórowana. W wersji demo kompilator pozwala na korzystanie tylko z czterech zewnętrznych bibliotek komend (Misc, Linked list, Window i Screen) oraz uruchamianie programów których źródło nie zawiera więcej niż 200 linijek kodu. Ograniczenia są duże, jednak pozwalają na zapoznanie się z wieloma możliwościami języka.

Wśród amigowych programistów piszących w C++ czy AmigaE zdania o PureBasicu są podzielone. Dominują opinie określające PureBasic jako język bez przyszłości, oferujący przestarzałą składnię i nienowoczesne metody programowania. Moim zdaniem osoby te nie mają racji. Uważam że każdy język który pozwala na stworzenie dobrego programu ma rację bytu, a jeśli PureBasic swoją prostotą obsługi daje mi bardziej przystępny dostęp do pisania programów pod AmigaOS, cieszę się z tego tym bardziej. Tak naprawdę nie jest ważne, czy program zostanie napisany w PureBasicu czy AmigaE. Ważne jest, by widoczny był efekt pracy programisty, a jeśli PureBasic pozwala szybciej opanować techniki programistyczne (wraz z umiejętnością tworzenia "pod system"), tym większa jego zaleta. Należy tutaj zaznaczyć, że PureBasic jest rozwijany nie tylko w wersji pod AmigaOS, ale i pod Windowsa, a windowsowy pakiet jest niemal wiernym odpowiednikiem amigowej wersji tego języka.

Mnie osobiście PureBasic przypadł do gustu. Po kilkunastu godzinach spędzonych na kompilowaniu własnych programów opanowałem jego podstawy oraz umiejętność obsługi najpotrzebniejszych bibliotek (czyli rozszerzeń podstawowego zbioru instrukcji). Jeden z moich pierwszych programów wykorzystując połączenie internetowe (utworzone przy pomocy Miami) połączył się ze wskazanym serwerem, ściągnął z niego plik o podanej nazwie i wyświetlił jego zawartość w otworzonym oknie. Jeśli można dokonać czegoś takiego w ciągu kilkunastu godzin od momentu pierwszego uruchomienia PureBasica, to musi to być naprawdę dobry i łatwy do opanowania język.

Strona domowa języka: www.purebasic.com.

Sławomir Wilk
<<  Spis treści  >>