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]