Notice: Use of undefined constant d - assumed 'd' in /home/admin/domains/katolik.pl/public_html/komputer/showa.php on line 2

Notice: Undefined variable: menu in /home/admin/domains/katolik.pl/public_html/komputer/menu.inc on line 23

Notice: Undefined variable: szczegoly in /home/admin/domains/katolik.pl/public_html/komputer/showa.inc on line 28
 

   Inne
 powrót
Tanie kodowanie

Tanie kodowanie

Firmy zarabiające na produkcji oprogramowania rzeczywiście zaopatrują się zazwyczaj w zestawy wyspecjalizowanych programów, tzw. IDE (Integrated Development Environments) - czyli zintegrowanych środowisk programistycznych. Aplikacje takie oferują często dosłownie wszystko, co jest potrzebne do wyprodukowania gotowego programu, począwszy od edytora kodu źródłowego, poprzez kompilator i konsolidator, aż po narzędzia do testowania i optymalizacji kodu wynikowego. Często udostępniają one gotowe komponenty wizualne, których można użyć do szybkiego tworzenia własnych programów, moduły do szybkiego projektowania aplikacji (CASE - Computer Aided Software Engineering), funckje współpracy z narzędziami kontroli wersji oprogramowania (takimi jak CVS) i inne środki ułat-wiające współpracę wielu programistów przy tworzeniu jednej aplikacji itd.

Te wszystkie składniki dobrego środowiska IDE oczywiście kosztują - i to niejednokrotnie bardzo słono. Czy w związku z tym "zwyczajny" użytkownik peceta jest skazany na programowanie z użyciem Notatnika i jakiegoś archaicznego kompilatora? Wcale nie. Jest przynajmniej kilka powodów, dla których zupełnie niezłe środowiska programistyczne można - jeśli już nie chcemy ich kupić za niewielki ułamek ceny "oryginału" - po prostu pobrać z Sieci lub skopiować z płyt dołączanych do wielu czasopism (m.in. do CHIP-a - patrz: ramka "Więcej informacji" na końcu tego artykułu).
 

Skąd to wziąć?

Pierwsza przyczyna dostępności "niskobudżetowych" narzędzi do tworzenia aplikacji jest prozaiczna. Producenci środowisk IDE/RAD zdają sobie mianowicie doskonale sprawę, że ich produkty nie wyjdą poza niewielki krąg wielkich użytkowników korporacyjnych, jeśli do ich używania nie przyzwyczają się rzesze młodych programistów. Z takiego założenia wychodzi np. Borland, który od dawna udostępnia "domowe" wersje Delphi czy JBuildera. Z kolei Sun współpracuje ze środowiskiem Open Source w tworzeniu otwartych narzędzi programistycznych (patrz: NetBeans), starając się zachęcić wszystkich do programowania w Javie. Inni (np. Microsoft) inwestują w młode pokolenie, sprzedając uczelniom tanie kopie swoich pakietów. Wszyscy zaś liczą pewnie po cichu na szerzące się wokół piractwo, dzięki któremu zyskują tak naprawdę popularność - dlatego prawdopodobnie organizacje zwalczające nielegalne kopiowanie programów długo jeszcze nie wkroczą do naszych prywatnych mieszkań.

Kolejny powód darmowości narzędzi programistycznych to wrodzona niepokorność koderów. Jeśli za coś trzeba płacić, to czemu nie zrobić czegoś podobnego za darmo? W ten sposób powstały takie środowiska, jak DevC++ czy KDevelop. Oba są rozwijane w wolnych chwilach przez programistów pracujących w ramach niezależnych projektów.
 

Ukryte kolce

Nic nie jest idealne - maksyma ta dotyczy, rzecz jasna, również darmowych środowisk programistycznych. Główną wadą pakietów powstałych na skutek okrojenia wersji komercyjnych (Delphi, JBuilder) okazuje się geneza ich powstania. Doskonałe narzędzia pozbawiono bowiem wielu ich zalet, głównie dodatkowych komponentów i innych funkcji pozwalających na łatwe i szybkie tworzenie np. aplikacji bazodanowych czy internetowych. Trzeba jednak przyznać, że to, co pozostało do darmowego użytku, również zasługuje na uwagę, jeśli chodzi o jakość wykonania i wygodę pracy.

Na inne istotne ograniczenie natkną się programiści szukający darmowego narzędzia służącego do zarobkowania. Tylko niektóre bezpłatne środowiska IDE umożliwiają bowiem ich komercyjne wykorzystanie - i po raz kolejny wynika to z dokładnie przemyślanej polityki ich producentów. 


Licencje są ważne!

Na pierwszy rzut oka wszystko jest w porządku - dostajemy darmowe narzędzie, możemy pisać takie programy, jakie sobie tylko wymarzymy... Po dokładnym przyjrzeniu się licencji na użytkowanie danego produktu może się jednak okazać, że programów tych nie wolno nam np. sprzedawać.

Spośród omawianych środowisk dotyczy to przede wszystkim Delphi. Możemy go używać tylko do celów prywatnych - pisząc za jego pomocą komercyjną aplikację, zobowiązujemy się automatycznie do kupienia wersji Professional środowiska. JBuildera 6 Personal możemy wykorzystać do dowolnego celu, o ile nie używamy go w firmie. Z kolei w przypadku Kyliksa Open Edition producent postanowił chyba wspomóc środowisko Open Source - każdy program napisany za pomocą tego narzędzia musi zostać udostępniony na licencji GPL (Gnu Public Licence).
 

Na początku było Delphi

Jeśli sięgnąć pamięcią wstecz, pierwszym darmowym środowiskiem IDE/RAD z prawdziwego zdarzenia, przeznaczonym dla Windows, było Delphi. Niewątpliwie udostępnienie bezpłatnej edycji programu przyczyniło się do jego sukcesu. Mając do wyboru drogie, niezbyt wygodne środowisko Microsoftu i tanie, łatwe w użyciu oraz pozwalające na szybkie tworzenie aplikacji korzystających z baz danych narzędzie Borlanda, wielu programistów wybrało to drugie - mimo że Object Pascal w początkowej fazie istnienia nijak się miał do C++.

Aktualnej (czyli siódmej już) wersji Delphi nie ma wprawdzie (i najprawdopodobniej nie będzie) na serwerach FTP producenta, jest jednak dostępna na płytach CD (m.in. na krążkach dołączonych do CHIP-a 4/2003). Wystarczy darmowa rejestracja na stronie WWW Borlanda, w wyniku której otrzymamy odpowiedni klucz, i możemy cieszyć się korzyściami płynącymi z używania Delphi 7 Personal. Te zaś są niemałe - doskonały edytor kodu z szybką funkcją autouzupełniania poleceń, wygodny edytor interfejsu użytkownika, świetny kompilator, debuger i dobra dokumentacja powinny zadowolić każdego. Smutkiem napawa jedynie pustawy pasek komponentów. Chcąc napisać aplikację bardziej ambitną niż przeglądarka bitmap, będziemy musieli nieźle się namęczyć. Z pomocą przyjdą nam z pewnością rzesze programistów korzystających z Delphi - w Sieci znajdziemy sporo stron WWW z gotowymi komponentami i bibliotekami oraz grup dyskusyjnych z zawsze chętnymi do pomocy fachowcami. Dodatkowy plus to możliwość łatwego przeniesienia napisanych aplikacji do Kyliksa i uruchomienia ich pod Linuksem. 


W JBuilderze inaczej

JBuildera dotyczą w zasadzie wszystkie zalety i wady Delphi, choć sposób pracy z użyciem tych narzędzi jest zupełnie inny - tak jak różnią się języki Object Pascal oraz Java. Dlatego też zapewne JBuilder ma chyba tyle samo rozkochanych w nim zwolenników, co zaciekłych przeciwników.

Środowisko w wersji Personal prezentuje się na tle innych jego edycji bardzo skromnie - ale jest to przede wszystkim wrażenie wywołane bogactwem możliwości JBuildera Developer i Enterprise. Z "lepszych" wersji pozostawiono, jak zwykle, znakomite edytory kodu i GUI, debuger, podstawowe komponenty i rozbudowaną Pomoc. Dostępne są, rzecz jasna, takie elementy, jak szablony projektów, rozmaite kreatory, narzędzie kontroli wersji (CVS) itd. JBuilder nie będzie natomiast ani trochę pomocny, gdy zechcemy napisać np. skrypt JSP czy moduł EJB - tego typu możliwości zostały zarezerwowane dla użytkowników środowiska, którzy są w stanie wyłożyć spore pieniądze za jedną z wersji komercyjnych. Narzędzie wykorzystuje kompilator i maszynę wirtualną Suna (J2SDK).
 

Wspólnymi siłami, czyli NetBeans

Interesująco przedstawia jest projekt zapoczątkowany przez firmę Sun. Oprócz sprzedawania narzędzia programistycznego Sun ONE Studio wspiera ona opensource'ową inicjatywę o nazwie NetBeans IDE. Jest to środowisko przeznaczone głównie do tworzenia programów w Javie (choć obsługuje również C/C++, a edytor podświetla dodatkowo składnię XML i HTML/CSS), napisane w... Javie. Dzięki tej ostatniej właściwości NetBeans można uruchomić w systemach Windows, Linux, Solaris i Mac OS X - jest więc niezłym rozwiązaniem dla osób wymagających od swoich narzędzi dużej przenośności. Nie należy jednak liczyc na porażającą szybkość pracy programu, szczególnie na nieco starszych maszynach.

NetBeans jest stosunkowo zaawansowanym środowiskiem, zwłaszcza jak na produkt darmowy. Pomaga programiście w wykorzystaniu takich technologii, jak XML, RMI, CORBA, JINI, a nawet - co nie jest zbyt często spotykane - JDBC, Java Servlet oraz JSP. Przydają się do tego odpowiednie szablony, kreatory, przeglądarki klas, możliwość łatwego wykorzystania zewnętrznych kompilatorów i obsługa narzędzi do kontroli wersji (CVS, Ant).
 

Dev-C++ - cud natury

Wśród środowisk IDE dla Windows znadziemy istną perełkę. Jest nią aplikacja powstająca w ramach projektu firmy Bloodshed Soft-ware - Dev-C++. Ciekawy jest już sam fakt, że narzędzie napisano w... Delphi (możemy pobrać źródła i skompilować je przy użyciu Delphi 6). Program wykorzystuje opensource'owy kompilator GCC (w edycji windowsowej, znanej jako MinGW) i w związku z tym jest rozpowszechniany na licencji GPL. Istnieje bliźniaczy projekt Dev-C++, a jego efektem jest środowisko Dev-Pascal, korzystające z kompilatora FreePascal lub GNU Pascal.

Dev-C++ oferuje zadziwiająco duże możliwości - m.in. wygodny edytor kodu źródłowego z uzupełnianiem poleceń, przeglądarkę klas, nakładkę na debuger (GDB), szablony często używanych aplikacji itd. Program korzysta z portu GCC o nazwie MinGW (można go pobrać w pakiecie z Dev-C++) i współpracuje z serwerami CVS (narzędzie kontroli wersji). Dostępnych jest sporo dodatkowych pakietów, takich jak API do bibliotek GTK+, WxWindows, FLTK, SDL oraz DirectX 8.x, biblioteki do obsługi obrazków (Imagelib) czy parser XML-a (LibXML 2).
 

RAD-y w krainie pingwinów

W tabelce u góry strony można znaleźć dwa środowiska IDE przeznaczone dla programistów linuksowych. Pierwsze to Kylix - czyli słynny swojego czasu "port" Delphi do systemu z pingwinem w herbie. Obecna, trzecia już wersja Kyliksa oprócz języka Delphi kompiluje również programy napisane w C++. Co ciekawe, niewielkim nakładem pracy można przenieść pod Linuksa aplikacje windowsowe - Delphi i C++Builder oprócz "historycznych" komponentów VCL oferują również bazujące na bibliotece Qt widgety CLX. Ograniczenia Kyliksa 3 Open jako żywo przypominają niedostatki Delphi 7 Personal - ale mimo to warto się zainteresować tym narzędziem, zwłaszcza że pozwala ono już pisać w C++.

Drugi z opisywanych programów to KDevelop 3.0, czyli opensource'owy produkt promowany przez firmę TrollTech, twórcę biblioteki komponentów Qt (podstawę środowiska KDE). KDevelop wspomaga programistów piszących w C++ i jest równie elastyczny w konfiguracji, co wygodny podczas pracy - o ile, rzecz jasna, zdecydujemy się pisać programy korzystające z Qt. KDevelop udostępnia (lub wykorzystuje dostępne w systemie) wszystkie potrzebne narzędzia, takie jak solidny edytor kodu (oparty o KWrite), narzędzie do tworzenia GUI (QtDesigner), kompilator (GCC), moduł współpracy z narzędziem kontroli wersji (CVS), a nawet takie dodatki jak programy wspomagające tłumaczenie interfejsu użytkownika (QtLinguist, KBabel). Jednym słowem - klasyka linuksowego programowania w okienkowej oprawie.
 

Komu to potrzebne?

Zanim zaczniemy korzystać z jakiegoś IDE, warto się zastanowić, czy rzeczywiście jest nam potrzebne zintegrowane narzędzie do tworzenia aplikacji. Być może wystarczą dobry edytor kodu źródłowego (a takich jest naprawdę mnóstwo dla dowolnego języka programowania) i darmowy kompilator. Temu ostatniemu rozwiązaniu powinny się przyjrzeć zwłaszcza osoby rozpoczynające przygodę z programowaniem - IDE robi wiele rzeczy za nas, co nie sprzyja zbytnio nauce.

Jeśli już zdecydujemy się używać zintegrowanego środowiska, polecam projekty w miarę niezależne (tzn. NetBeans, DevC++, KDevelop) - były one tworzone z myślą o wygodzie programisty, a nie na zasadzie okrajania "pełnej" wersji. Moim zdaniem środowiska Borlanda powinni mimo to wybrać te osoby, które chcą się w krótkim czasie "przesiąść" na produkty komercyjne.


Niewielkim nakładem sił IDE można zrobić samemu

Czy do napisania programu potrzebujemy koniecznie środowiska IDE ze zintegrowanym kompilatorem, debugerem, edytorem GUI...? Okazuje się, że - wbrew powszechnie panującym opiniom - nie zawsze. W wielu przypadkach możemy pójść śladem tysięcy programistów uniksowych i samodzielnie skompletować zupełnie funkcjonalny zestaw potrzebnych narzędzi.

Wystarczy w zasadzie zastanowić się, jakie elementy środowiska są nam konieczne. Edytorów tekstowych z funkcją podświetlania słów kluczowych dowolnego języka znajdziemy w każdym systemie operacyjnym pod dostatkiem. Kolejny krok to kompilator (a zazwyczaj również konsolidator, czyli popularny linker). Użytkownicy Uniksów mogą z powodzeniem wykorzystać nieśmiertelne GCC, osoby korzystające z Windows - darmowe kompilatory C++ (Suna, Borlanda, IBM-a bądź tzw. porty GCC - Cygwin lub MinGW), Javy (J2SDK Suna) czy Pythona i Perla (ActiveState Python/Perl).

Nieco więcej kłopotów może sprawić znalezienie (a właściwie używanie) debugerów, profilerów itp. - te działające w konsoli tekstowej nie są najwygodniejsze. Można się jednak do nich albo przyzwyczaić, albo użyć graficznej nakładki (np. Insight - patrz: ramka "Więcej informacji").

 Kolejny przydatny element to edytor GUI, czyli "kompozytor okienek". Użytkownicy Linuksa mają do wyboru Glide'a (GTK) i QtDesignera (Qt). Pod Windows jest również dostępnych kilka narzędzi, takich jak GUI Loft (Perl), Zaval GUI Designer (Java AWT/Swing), istnieje też odpowiednia wersja wspomnianego już QtDesignera (C++/Qt).

Grzegorz Dąbrowski

Artykuł pochodzi
z CHIP-a nr 03/2004


 

 

Kontakt i o nas | Wspomóż nas | Reklama | Księga Gości

Copyright (C) Salwatorianie 2000-2011