Download: SpolecznoscAlrauna

Transkrypt

Download: SpolecznoscAlrauna
Alrauna
Wolne Oprogramowanie w edukacji
PROGRAMOWAĆ
KAŻDY MOŻE
Narzędzi do tworzenia programów, zwłaszcza w świecie Wolnego Oprogramowania, jest całe mnóstwo. Począwszy od klasycznego niskopoziomowego C, poprzez języki wyższego rzędu jak C++ czy Pascal, na językach
skryptowych klasy Pythona czy Perla kończąc. Ta mnogość, cenna niewątpliwie, jest jednak również przyczyną dylematów, przed jakimi staje nauczyciel wybierający język i narzędzia na zajęcia z programowania.
PRZEMYSŁAW ADAM ŚMIEJEK
P
ython! Tylko Python! – wołają zwolennicy
tego języka. „Łatwy, prosty, nie zaprząta
głowy szczegółami takimi jak przydzielanie pamięci. Można skupić się na algorytmach”.
„C. Tylko C. Niskopoziomy, pozwala poznać
sprzęt. System jest w nim pisany” – oponują inni.
„A może jednak C++? Obiektowy, kontrola
błędów. W nim tworzone są największe programy pod Windows” – namawiają kolejni.
„Java! Tylko Java da przenośność”.
Wystarczy? Pewnie tak, bo większość Czytelników zna zapewne różne argumenty. Zanim
jednak zaczniemy wybierać język i środowisko
dla nauczyciela, należy przyjrzeć się komunikatom Centralnej Komisji Egzaminacyjnej. Ta bowiem decyduje o tym, jaki język i jakie oprogramowanie można wykorzystywać na maturze. Nie
każdy uczeń maturę zdawać będzie, ale też i ciężko wybrać Pythona, mając świadomość, że nie
został (w tym roku przynajmniej) do niej dopuszczony. Wybór zawęża się więc do Pascala
i C/ C++ (i jeszcze języków środowiska.
Net, ale tego nie będziemy, oczywiście, brać pod
uwagę).
Zacznijmy od Pascala. To język z tradycjami edukacyjnymi i choć przez wielu programistów lekceważony, wciąż pozostaje ważnym językiem zarówno
w szkołach jak i w przedsiębiorstwach (pod postacią
Delphi). W księgarniach znajduje się sporo książek
na jego temat. Również podręczniki szkolne na nim
bazują (lub na Visual Basic). Na pewno więc nauczyciele zainteresowani są Pascalem. Popatrzmy więc, jakie wolne implementacje Pascala mogą się przydać.
SPOŁECZNOŚĆ
i skompilować”. Ponieważ jednak w dokumentacji znajduje się opis, że takie środowisko dostępne
jest w wersjach windowsowej i linuksowej, mam
nadzieję, że to nie pomyłka i że już niedługo program dogoni dokumentację.
GNU Pascal
GNU Pascal jest składnikiem kolekcji kompilatorów GNU (GNU Compiler Collection) i w systemach linuksowych będzie wymagał instalacji
odpowiedniej paczki (np. w Mandrakelinux jest
to gcc-gpc). W przypadku Windows, GNU Pascal
jest składnikiem środowisk linuksopodobnych,
takich jak Cygwin [3] czy Mingw [4].
Na swojej stronie [2] autorzy wymieniają następujące standardy i pseudostandardy, z jakimi
produkt jest zgodny: ISO 7185 Pascal, większa
część ISO 10206 Extended Pascal, Borland Pascal 7.0 oraz częściowo Borland Delphi, Mac Pascal and Pascal-SC (PXSC).
Lazarus – składanie z klocków
Free Pascal – lider matury
Pierwszym, ponadplatformowym i chyba najlepszym wyborem jest Free Pascal. Jak piszą autorzy na stronie projektu [1]: „Free Pascal to 32-bitowy kompilator Pascala. Jest dostępny na różne
procesory (Intel 80386 oraz kompatybilne, a także Motorola 680x0) i systemy operacyjne (Linux,
FreeBSD, NetBSD, DOS, Win32, OS/2, BeOS,
SunOS (Solaris), QNX oraz Amiga)”.
Dodatkowym atutem Free Pascala jest kompatybilność składni z Turbo Pascalem 7.0 (można
nawet znaleźć implementację Turbo Vision dla
tego języka) rozszerzona o wiele elementów pochodzących z Object Pascala (będącego podstawą
Delphi), takich jak przeciążanie funkcji i operatorów czy obsługa wyjątków. Otrzymuje się, co
prawda, produkt niezgodny z samą specyfikacją
języka, ale za to bogaty w możliwości i świetnie
nadający się do zastosowania przez osoby wykorzystujące do tej pory produkty Borlanda.
Ważne jest również to, że aktualny komunikat CKE przewiduje dopuszczenie do matury
właśnie Free Pascala w wersji 1.0.10 (zarówno
dla Windows jak i Linuksa).
Pakiet można pobrać z jednego z serwerów lustrzanych wymienionych na stronach producenta
[1]. Obecnie dostępna jest wersja 1.0.10, która
w wydaniu windowsowym zawiera już funkcjonalne IDE (środowisko programistyczne) bardzo
podobne do tego znanego z Turbo Pascala. Niestety, wersja linuksowa na razie tego środowiska
jest pozbawiona i konieczne jest bardziej uniksowe podejście: „napisać w dowolnym edytorze
WWW.LINUX-MAGAZINE.PL
Osoby przyzwyczajone do środowisk IDE (Integrated Development Environiment) i RAD (Rapid Application Development) mogą skorzystać
z Lazarusa (Rysunek 1), programu będącego
zbliżoną do Delphi nakładką na Free Pascala.
Wymaga on jednak dość sporo miejsca na dysku, gdyż potrzebny mu jest nie tylko sam Free
Pascal (i to nie w oficjalnej wersji 1.0.10, ale
nowszej, testowej 1.9.6), lecz także jego źródła.
Delphi to nie tylko środowisko, ale również
ogromny zbiór dodatkowych komponentów dostępny w Sieci. W przypadku Lazarusa w domyślnej instalacji znajduje się, poza typowymi kontrolkami, znany z Delphi zestaw SynEdit umożliwiający budowę edytora tekstu. Dodatkowo na stronach projektu, w części Download jest dział Components, gdzie gromadzone są właśnie dodatkowe
biblioteki powiększające możliwości środowiska.
Na razie ich liczba nie jest może imponująca, ale
pewnie będzie się systematycznie zwiększała.
Lazarus do matury dopuszczony nie został,
jednakże jej zakres to w zasadzie algorytmy, więc
Rysunek 1: Lazarus niczym Delphi.
NUMER 15 KWIECIEŃ 2005
105
SPOŁECZNOŚĆ
Alrauna
użycie Lazarusa na zajęciach, jako nakładki na
Free Pascala, wymaga jedynie późniejszego przećwiczenia z przyszłymi maturzystami sposobu
korzystania z „gołego” kompilatora.
Dev-Pascal
Kolejnym IDE, tym razem działającym pod
Windows, jest Dev-Pascal (Rysunek 2). To narzędzie bazuje na Free Pascalu lub na GNU
Pascalu. Wydaje się być świetnym wyborem ze
świata Wolnego Oprogramowania dla nauczy-
cieli chcących lub muszących jednak pozostać
w świecie systemu Windows.
Dev-Pascal posiada między innymi wbudowany
system odpluskwiania (ang. debugger), kolorowanie składni, wygodny edytor kodu, zarządcę projektów, edytor zasobów oraz szablony projektów.
GNU Compiler Collection
Tym sposobem wkraczamy w świat języków C/
C++. Co prawda, w kolekcji znajdują się nie tylko te dwa języki, ale także Objective-C, Fortran,
Java i Ada, jednakże CKE do matury zatwierdziła
tylko C/ C++ (GCC 3.4 C/ C++ dla Linuksa).
Ten klasyczny produkt można znaleźć w dowolnym systemie linuksowym, a także w Windows jako część środowisk Mingw oraz Cygwin.
Rysunek 6: Anjuta.
Dev-C++
Rysunek 2: Dev-Pascal.
Bliźniaczy dla Dev-Pascala (Rysunek 2) produkt to pełnowartościowe środowisko IDE
(działające pod Windows) dla C/ C++. Bazuje
na GCC, wchodzącym w skład Mingw, ale przy
odrobinie dobrej woli może być również użyte
z Cygwinem. Interesujące cechy to: wbudowane
odpluskwianie, zarządca projektów, wygodny
edytor z kolorowaniem składni i uzupełnianiem
kodu, przeglądarka klas i funkcji oraz obsługa
systemu kontroli wersji (CVS).
Środowisko zostało również zatwierdzone jako maturalne (Dev C++ 5.0, Rysunek 3).
Glade, QtDesigner
Rysunek 3: Dev-C++.
To dwa wizualne środowiska służące do projektowania interfejsów aplikacji. Same w sobie nie
są środowiskami programistycznymi, pozwalają
jednak zaprojektować wizualnie elementy aplikacji. Glade (Rysunek 5) przeznaczone jest dla
biblioteki GTK+ oraz GNOME. QtDesigner
(Rysunek 4) natomiast zapewnia wsparcie dla
elementów biblioteki Qt oraz KDE. Oczywiście,
mogą być one wykorzystane także do zaprojektowania wyglądu dla aplikacji pisanych w innym
środowisku z użyciem tych bibliotek. W szczególności QtDesigner występuje zarówno w wersji
linuksowej, windowsowej, jak i na MacOS.
Rysunek 4: QtDesigner.
Anjuta, KDevelop
Rysunek 5: Glade.
106
NUMER 15 KWIECIEŃ 2005
Tak jak Dev-C++ dla Windows, tak Anjuta
i KDevelop w uniksach stanowią wygodne IDE
wspierające C/ C++ oraz wiele innych języków.
Anjuta (Rysunek 6) przeznaczona jest głównie dla
GNOME i GTK+, natomiast KDevelop (Rysunek 7) dla KDE i bibliotek Qt. Obydwa są środowiskami ułatwiającymi pisanie i odpluskwianie
programów, ale współpracują również dość ściśle
z Glade (Anjuta) i QtDesignerem (KDevelop),
dzięki czemu można dość prosto projektować linuksowe aplikacje także w sposób wizualny.
WWW.LINUX-MAGAZINE.PL
Rysunek 7: KDevelop.
Podsumowanie
Programowanie z użyciem narzędzi ze świata
Wolnego Oprogramowania to, oczywiście, temat
na wielotomową książkę. My staraliśmy się tylko
przybliżyć najpopularniejsze narzędzia, które nauczyciel może wykorzystać w swojej szkolnej pracowni bez płacenia opłat licencyjnych za Microsoft Visual Studio czy Borland Delphi. Narzędzia,
które w dodatku może śmiało polecić uczniowi,
bez wyrzutów sumienia, że zmusza go do instalacji nielegalnego oprogramowania.
■
INFO
[1] Free Pascal www.freepascal.org
[2] GNU Pascal www.gnu-pascal.de
[3] Cygwin http://cygwin.com/
[4] MinGw http://www.mingw.org/
[5] Lazarus http://www.lazarus.freepascal.org/
[6] Dev-C++ http://www.bloodshed.net/devcpp.html
[7] Dev-Pascal http://www.bloodshed.net/
devpascal.html
[8] Glade http://glade.gnome.org/
[9] QtDesigner http://www.trolltech.com/
products/qt/designer.html
[10] Anjuta http://www.anjuta.org/
[11] KDevelop http://www.kdevelop.org/
AUTOR
Autor jest nauczycielem w II LO w Zabrzu, a także
propagatorem Wolnego Oprogramowania. Koordynuje niektóre działania Śląskiej Grupy Użytkowników Linuksa oraz współtworzy skierowany do nauczycieli projekt Alrauna (www. alrauna. org). Gorąco protestuje przeciwko wojnie i zabijaniu oraz
przeciwko patentom na oprogramowanie. Kontakt
z autorem: [email protected]