dragonia_nr27.pdf

(11165 KB) Pobierz
Magazyn Dragonia
Numer 27 – 2008
Bash Prompt HOWTO,
czyli czarowanie znaku
zach¦ty
Artykuł przedstawia sposoby na two-
rzenie ciekawych znaków zach¦ty
w konsoli oraz xtermach wykorzystu-
j¡cych powłok¦ Bash. Ciekawych to
mało, ale równie» kolorowych!
Cało±¢ na stronie 7
Z YouTube na dysk
Serwisy typu YouTube miały zawsze
jedn¡ wad¦ – przy słabym ł¡czu ogl¡-
danie czegokolwiek staje si¦ koszma-
rem. Pró»no szuka¢ opcji umo»liwiaj¡-
cych zapisanie filmów na dysku, takie
działanie jest bowiem sprzeczne z in-
teresami wła±cicieli serwisu. Artykuł
przedstawia kilka sposobów na ±ci¡-
gni¦cie naszych ulubionych filmów.
Cało±¢ na stronie 35
Pdftk – PDF Toolkit
O tym jak ł¡czy¢ i dzieli¢ pliki PDF; jak
je zaszyfrowa¢, odszyfrowa¢; jak do-
da¢ znak wodny lub zał¡cznik do pli-
ku PDF za pomoc¡ narz¦dzia Pdftk.
Cało±¢ na stronie 23
115001973.005.png
Wst¦pniak
Drodzy Czytelnicy
Spis tre±ci
System
Cyfrowa farma, czyli co wybra¢? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Bash Prompt HOWTO, czyli czarowanie znaku zach¦ty . . . . . . . . . . . . . . . . . . . . . 7
Wst¦p do Debiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Zarz¡dzanie pakietami w Debianie. . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Przekazujemy do Waszych r¡k ±wi¡teczny
numer Dragonii. To ju» trzeci taki numer
w naszej historii. Dzi¦ki Wam chcemy wci¡»
pisa¢ dla Was, z Was rekrutuje si¦ nasza re-
dakcja. Dzi¦kuj¦ Wam, »e jeste±cie.
W numerze dwa artykuły o Debianie,
czyli jak dobrze zacz¡¢, by nie móc z nim
sko«czy¢. Dla pewno±ci b¦dziemy w tym
utwierdzani w kolejnych numerach.
Obok innych artykułów polecam prze-
gl¡d edytorów do L A T E X-a, tak by±cie mogli
wybra¢ który± dla siebie. Niebawem wracaj¡
artykuły o nim, a wiosn¡ pora na oddawanie
prac czy przygotowywanie prezentacji.
Z okazji nadchodz¡cych wi¡t Bo»e-
go Narodzenia oraz Nowego Roku, wraz
z całym zespołem redakcyjnym »ycz¦ Wam,
Drodzy Czytelnicy, wszystkiego najlepszego,
spełnienia marze«, miło±ci oraz chwili wy-
tchnienia, by±cie mieli siły zaszale¢ w sylwe-
strow¡ noc.
Do Siego Roku!
Konkurs
Software
L A T E Xowanie w GTK+ – krótki przegl¡d edytorów. . . . . . . . . . . . . . . . . . . . . . . 20
Pdftk – PDF Toolkit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
System dla pocz¡tkuj¡cych u»ytkowników Olá! Dom 6.06
– odtwarzanie muzyki i filmów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
JPC – Java PC (x86) Emulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Z YouTube na dysk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Felieton
Wikipedia – encyklopedia czy wybór haseł? . . . . . . . . . . . . . . . . . . . . . . . . 39
Sprz¦t
Drukarka HP DeskJet 5740 w Linuksie . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Literatura
Ksi¡»ki wydawnictwa PWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Ksi¡»ki wydawnictwa HELION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Tomasz Łuczak
zast¦pca redaktora naczelnego
Piotr Krakowiak – redaktor naczelny, zało»yciel, koordynacja, skład,
Tomasz Łuczak – zast¦pca redaktora naczelnego, skład,
Paulina Budzo« – korekta, skład,
Rafał Domeracki – sekretarz redakcji, opieka nad hostingiem,
Karol Kozioł – redaktor oraz koordynator redaktorów i artykułów,
Piotr Szewczuk – opieka nad hostingiem,
Krzysztof Biskup – opieka nad www, redaktor,
Krzysztof Ołowski – korekta,
Keyto, Łukasz Ciesielski, Łukasz Wojno, Andrzej Warzy«ski.
Współpracuj¡cy: Krzysztof Lichota, Przemek Kalicki, Radek Krakowiak
Wszystkie publikowane materiały s¡ obj¦te pra-
wem autorskim na zasadach licencji Creative
Commons CC-BY. Nie ponosimy odpowiedzial-
no±ci za tre±¢ ogłosze«. Nazwy firm, nazwy han-
dlowe i znaki towarowe, u»yte w publikacji jedy-
nie w celach informacyjnych i s¡ własno±ci¡ po-
szczególnych podmiotów.
Skład za pomoc¡ systemu L A T E X fontami TeX Gyre i Latin Modern
Pierwowzór layoutu Dragonia Magazine przygotował m4c
numer 27 – 2008
2
115001973.006.png
System
Cyfrowa farma, czyli co wybra¢?
ŁukaszCiesielski
Ka»dego dnia wykorzystujemy dziesi¡tki najró»niejszych progra-
mów komputerowych, bibliotek i plików nagłówkowych. Miliardy
elektrycznych ładunków przepływaj¡ co sekund¦ przez poszcze-
gólne podzespoły komputera tworz¡c co±, co nazywamy syste-
mem operacyjnym. Zapewne nikt podczas standardowych czyn-
no±ci nie zastanawia si¦, jak to jest zrobione, na bazie czego po-
wstała dana aplikacja, w jakim j¦zyku została napisana i dlaczego
nie w innym? W niniejszym tek±cie spróbujemy przebrn¡¢ przez
g¡szcz dost¦pnych dla programistów ±rodków, czyli j¦zyków pro-
gramowania. Nasze rozwa»ania obejm¡ zarówno te u schyłku
swojego »ywota, jak i te, które dopiero co „wykluły si¦” i ujrzały
±wiatło dzienne.
programowania funkcyjnego. Pewnie zastanawiacie si¦ – co z tego wynika?
Otó», wła±nie dzi¦ki swojej elastyczno±ci jest on dosy¢ intensywnie wykorzy-
stywany w pracach dotycz¡cych przede wszystkim sztucznej inteligencji. Wad¡
Lispa jest zajmowanie wi¦kszej ilo±ci pami¦ci podczas działania programów,
ni» ma to miejsce w przypadku oprogramowania napisanego w innych j¦zy-
kach. Po latach, w których pracowano nad rozwojem Lispa, jego popularno±¢
niestety nieodwracalnie spadła.
Wi¦kszo±¢ współczesnych j¦zyków programowania, np. Pascal, wywodzi si¦
od j¦zyka Algol. Powstał on na bazie Fortana w 1958 roku. Je±li chodzi o skład-
ni¦, nale»y przyzna¢ twórcom, »e dokładnie przemy±leli krok po kroku form¦,
która b¦dzie najwygodniejsza dla programistów. Nie był to jednak j¦zyk prosty
do opanowania, a trudno±ci wynikaj¡ce z braku raportowania bł¦dów przez
kompilatory stały si¦ dodatkowym utrapieniem przyszłych twórców oprogra-
mowania. W dalszej kolejno±ci powstawały Algol 60, Algol 68 oraz nowe j¦zyki
– np. Simula czy Ada. Nie nale»y tak»e zapomina¢ o mocarzach, takich jak C
i C++. Jest to jednak troch¦ inna historia, wi¦c opowiem o tym w dalszej cz¦±ci
tekstu. Prze±led¹my zatem histori¦ oraz specyfikacj¦ dziesi¦ciu najpopularniej-
szych w ostatnich latach j¦zyków programowania.
Jak to si¦ zacz¦ło?
Jednym z najstarszych j¦zyków programowania jest Fortan, wyst¦puj¡cy w swo-
jej burzliwej karierze w kilku wersjach, np. Fortan II, Fortan IV, Fortan 77
i współczesna wersja Fortan 90. Nast¦pnie powstały takie j¦zyki, jak Basic (który
miał słu»y¢ do nauki programowania) czy Algol.
Cho¢ trudno w to uwierzy¢, przez długie lata królował Fortan i jego odmia-
ny, poniewa» udost¦pniał do±wiadczonym programistom mnóstwo procedur.
Jednak twórcy Basica (John G. Kemeny i Thomas E. Kurtz) nie poddawali si¦
i w roku 1963 w Darmouth College ogłoszono powstanie pierwszego j¦zy-
ka programowania skierowanego dla pocz¡tkuj¡cych. Pomimo »e j¦zyk Basic
zastosowano na komputerach domowych (np. Commodore), co umo»liwiało
bezproblemow¡ komunikacj¦ z maszyn¡, tak naprawd¦ j¦zyk ten nigdy nie
wyszedł poza sfer¦ edukacyjn¡. Uniemo»liwiała to ubogo±¢ procedur i funkcji
oraz (a mo»e przede wszystkim) brak strukturalno±ci, przez co rozwi¡zanie
niektórych problemów stało si¦ prawie niemo»liwe.
Drugim, obok Fortana, najstarszym j¦zykiem programowania był oczywi-
±cie Lisp. Został stworzony w 1958 roku przez Johna McCarthy’ego. Co ciekawe,
Lisp jest tak naprawd¦ wykorzystywany do dzisiaj. Jego forma została zmie-
niona (albo raczej od±wie»ona), w konsekwencji czego powstało co±, co mo»na
by nazwa¢ rodzin¡ j¦zyka Lisp. Dlaczego programi±ci i naukowcy nadal wyko-
rzystuj¡ ten pozornie przestarzały ±rodek komunikacji z maszynami? Najpraw-
dopodobniej dlatego, »e jest to jedyny j¦zyk zorientowany tak bardzo w stron¦
Pocz¡tek prawdziwego programowania
Dopiero gdy powstał j¦zyk C, programista miał szerokie pole manewru i mógł
stworzy¢ niemal»e dowoln¡ aplikacj¦. Wcze±niejsze j¦zyki wysokiego poziomu
zawsze stwarzały problem, który był trudny do przeskoczenia, a niekiedy nawet
niemo»liwy. Ju» samo zało»enie twórcy – Dennisa Ritchiego – było imponuj¡ce.
Chciał on bowiem stworzy¢ taki j¦zyk, aby mo»na było programowa¢ w nim
systemy operacyjne. Jak wiemy, to wła±nie w C powstało pierwsze j¡dro Unixa
(1973 rok). Od lat siedemdziesi¡tych jest to podstawowy j¦zyk programowania
w systemach Unix. Równie» pierwsze wersje systemu Windows oraz program
antywirusowy Norton powstawały w C.
Ka»dy program napisany w j¦zyku C składa si¦ z funkcji, które odpowiadaj¡
za wykonywanie poszczególnych czynno±ci programu. Tłumaczenie gotowego
kodu na j¦zyk maszynowy odbywa si¦ w kilku fazach. Pierwsz¡ jest tzw. pre-
processing, podczas którego kompilator wycina z kodu ¹ródłowego komenta-
rze, a nast¦pnie przyst¦puje do analizy dyrektyw preprocesora. Kolejn¡ faz¡ jest
ju» kompilacja, czyli przetłumaczenie kodu do tzw. kodu obiektowego, b¦d¡-
numer 27 – 2008
3
115001973.007.png 115001973.008.png
System
cego czym± po±rednim pomi¦dzy kodem ¹ródłowym a gotowym programem
wykonywalnym. Ostatni¡ faz¡ jest konsolidacja, czyli ł¡czenie plików z kodem
obiektowym, bibliotek standardowych itp. w jedn¡ cało±¢, czyli nasz program.
W latach osiemdziesi¡tych Bjarne Stroustrup stworzył j¦zyk C++, który
wprowadzał mo»liwo±¢ programowania obiektowego. Poniewa» C++ (po nie-
wielkich modyfikacjach kodu) pozwala na adaptowanie programów napisa-
nych pierwotnie w j¦zykach Fortan, Algol czy Pascal, stał si¦ on podstawowym
narz¦dziem wykorzystywanym w pracowniach fizycznych. Zacz¦to rezygno-
wa¢ z przestarzałego ju» Fortana wła±nie na rzecz C++ i – pó¹niej – Javy.
W odró»nieniu jednak od Javy, C++ nie jest własno±ci¡ »adnej instytucji czy
firmy. Du»ym plusem jest fakt, »e programy napisane w tym j¦zyku mo»na
uruchamia¢ na dowolnej platformie sprz¦towej i w dowolnym systemie opera-
cyjnym. Oczywi±cie najpierw nale»y skompilowa¢ kod ¹ródłowy na sprz¦cie,
na którym ma zosta¢ on uruchomiony. C++ pozwala na stały i bezpo±redni do-
st¦p do istniej¡cych zasobów sprz¦towych, mo»liwo±¢ korzystania z gotowych
bibliotek lub tworzenia nowych, co najbardziej przemawia za tym j¦zykiem.
Jak pewnie zauwa»ył ka»dy, kto chciał nauczy¢ si¦ programowania i wybrał do
tego C++, nie jest to j¦zyk najprostszy do nauki (głównie przez rozbudowan¡
składni¦), jednak oferuje programi±cie ogromne mo»liwo±ci.
Tak naprawd¦, nie jest nigdzie okre±lone, do czego dany j¦zyk si¦ nadaje,
a z czym b¦dzie miał problemy. Programuj¡c jednak przy pomocy konkretnego
j¦zyka, mo»na dostrzec, »e niektóre czynno±ci mo»na dzi¦ki niemu wykona¢
stosunkowo łatwo, natomiast inne raczej trudno. Kiedy mamy zamiar napisa¢
program, zawsze nale»y dokładnie przemy±le¢ jego konstrukcj¦ i na tej pod-
stawie odpowiednio dobra¢ j¦zyk, w którym b¦dziemy go pisa¢. W progra-
mowaniu nie istnieje co±, co mo»na by nazwa¢ uniwersalizmem. Wszystko ma
swoj¡ cen¦. W przypadku C i C++ sprawa nie jest skomplikowana, poniewa»
ze wzgl¦du na popularno±¢, zostały one bardzo rozbudowane, co zaowocowało
ogromnymi mo»liwo±ciami. Wła±ciwie, wykorzystuj¡c ich mo»liwo±ci, mo»na
napisa¢ zarówno prost¡ aplikacj¦ – np. Kalkulator – jak i skomplikowany sys-
tem operacyjny.
Universum
Marzeniem ka»dego programisty jest stworzenie takiego programu, którego
binarn¡ form¦ u»ytkownik mógłby uruchamia¢ na ka»dym systemie operacyj-
nym. Wyobra¹my sobie, »e napisali±my doskonał¡ ksi¡»k¦ adresow¡, wpisa-
li±my do niej wszystkich znajomych i mo»emy z niej korzysta¢ zarówno na
Windowsie, jak i Linuksie. Oczywi±cie, jest to jedynie prosty przykład, ale tak
naprawd¦ w gr¦ wchodzi tu te» rozbudowane oprogramowanie, w tym tak»e
niezb¦dne do prowadzenia bada« naukowych.
Po wielu latach prób i bł¦dów – przy czym tych drugich było znacznie
wi¦cej – udało si¦ osi¡gn¡¢ cel. Tak powstała Java. Doskonały j¦zyk, stworzony
przez grup¦ programistów z firmy Sun Microsystems, kierowan¡ przez Jamesa
Goslinga. W rzeczywisto±ci, jest to poł¡czenie tego, co najlepsze w Smalltalk
(maszyna wirtualna) oraz C++ (składnia).
Jest kilka cech, które doskonale oddaj¡ charakter Javy, jej zalety i wady. Na
pocz¡tek, warto wspomnie¢ o problemie zwi¡zanym z tzw. siln¡ typizacj¡, która
jest nierozerwalnie zwi¡zana wła±nie z tym j¦zykiem. Problem polega na tym,
»e typizacja pozwala na wykrycie bardzo du»ej ilo±ci bł¦dów, jednak czasami
zdarzaj¡ si¦ sytuacje, w których za bł¡d jest uznane co±, co bł¦dem nie jest. Dla
przykładu, podam tutaj stosowanie jednocze±nie liczb zmiennoprzecinkowych,
jak i całkowitych. O ile bł¦du nie popełni sam programista, to wszystko b¦dzie
semantycznie poprawnie. Niestety tam, gdzie spotykamy si¦ z siln¡ typizacj¡,
z niewiadomych do ko«ca przyczyn uznawane jest to za bł¡d. Twórcy Javy okre-
±laj¡ j¡ jako j¦zyk obiektowy, niezawodny i bezpieczny, a ponadto działaj¡cy bez
wzgl¦du na architektur¦, na której uruchamiany jest jej kod binarny (np. PC,
telefon komórkowy). Obiektowo±¢ zdecydowanie odró»nia Jav¦ od C++, który
ma charakter strukturalno-obiektowy. Tutaj, najpro±ciej mówi¡c, wszystko jest
obiektem, a dokładniej – zgrupowan¡ klas¡ obiektów. Ka»dy obiekt jest cz¦±ci¡
jakiego± nadrz¦dnego obiektu, który sprawuje kontrol¦ nad cało±ci¡. Ponadto
w Javie zmienna lub pole wprowadzane do programu zawsze musz¡ mie¢
z góry okre±lony typ danych, który b¦d¡ przechowywa¢. Metody natomiast
musz¡ deklarowa¢ jakiego typu dane zostan¡ zwrócone.
Nowo±ci¡, oferowan¡ przez ten j¦zyk, s¡ interfejsy. Ich wprowadzenie zwi¡-
zane jest mi¦dzy innymi z faktem zrezygnowania przez twórców Javy z tzw.
dziedziczenia wielobazowego, które jest dost¦pne np. w C++. Spowodowało to
w pewnym stopniu spadek funkcjonalno±ci lub mo»e raczej elastyczno±ci. In-
terfejsy maj¡ zatem charakter pewnej rekompensaty. Skracaj¡c terminologi¦ do
minimum, przypomn¦ jedynie, »e interfejsy pozwalaj¡ na nadawanie nazew-
nictwa pewnym okre±lonym zbiorom operacji. To wła±nie dzi¦ki interfejsom
wiemy, »e dany obiekt posiada taki, a nie inny, zestaw operacji.
Przejd¹my teraz do sedna sprawy, czyli wieloplatformowo±ci Javy. Jak ju»
wspomniałem, programy napisane w tym j¦zyku mog¡ zosta¢ uruchomione na
dowolnej platformie. Jak zawsze, jednak, jest pewne – „ale”. Aby uruchomi¢
taki kod binarny, niezb¦dne jest urz¡dzenie, które b¦dzie potrafiło go rozszyfro-
wa¢ (oczywi±cie poza komputerem). Mowa o maszynie wirtualnej, czyli zesta-
wie oprogramowania, które tworzy co± w rodzaju podsystemu operacyjnego.
Ka»dy program napisany w Javie musi by¢ uruchomiony w takim wła±nie
±rodowisku. Zastanówmy si¦ przez chwil¦, czy to ma w ogóle sens. Skoro do
numer 27 – 2008
4
115001973.001.png 115001973.002.png
System
uruchomienia programu niezb¦dna jest maszyna wirtualna, to Java wcale nie
jest taka przeno±na. Otó» nie do ko«ca. Wystarczy bowiem jeden raz zain-
stalowa¢ ±rodowisko wirtualne i b¦dziemy mogli uruchamia¢ dowoln¡ liczb¦
skompilowanych programów. Gorzej byłoby (zwłaszcza dla u»ytkowników, któ-
rzy si¦ na tym nie znaj¡) kompilowa¢ kod ¹ródłowy. Niestety metoda taka ma
jedn¡, kluczow¡ wad¦ – jest bardzo wolna. Uruchomienie takiego programu
trwa najcz¦±ciej – przynajmniej – dwukrotnie dłu»ej, ni» w przypadku np. ko-
du napisanego w C++. Ten drugi jest uruchamiany bezpo±rednio w systemie
operacyjnym, natomiast w przypadku Javy, wygl¡da to w taki sposób, »e naj-
pierw wła±ciwy system operacyjny musi uruchomi¢ maszyn¦ wirtualn¡, która
nast¦pnie uruchamia plik binarny. Trzeba przyzna¢, »e nie jest to rozwi¡zanie
doskonałe, jednak póki co lepszego nikt nie wymy±lił. Pisz¡c o Javie, nie mo»na
pomin¡¢ bardzo wa»nej koncepcji przy±wiecaj¡cej autorom j¦zyka, czyli bez-
piecze«stwo i funkcjonalno±¢. Stworzono doskonały system wyj¡tków, dzi¦ki
któremu trudno jest popełni¢ bł¡d w kodzie, poniewa» szereg mechanizmów
natychmiast o tym poinformuje.
Podsumowuj¡c, Java jest doskonałym j¦zykiem programowania, oferuj¡cym
szerokie mo»liwo±ci. Ze wzgl¦du na korzystanie z maszyny wirtualnej, progra-
mista mo»e tworzy¢ oprogramowanie z pełn¡ ±wiadomo±ci¡ jego multiplatfor-
mowo±ci. Minusem, którego łatwo si¦ domy±le¢, jest szybko±¢ uruchamiania
skompilowanego kodu. Aktualne wersje Javy coraz skuteczniej eliminuj¡ ten
problem, jednak w najbli»szej przyszło±ci Java nadal b¦dzie wolniejsza, ni» inne
j¦zyki programowania. Drugim, równie» dosy¢ uci¡»liwym kłopotem, jest pro-
gramowanie czasu rzeczywistego, np. rezydencja. Niestety, korzystaj¡c z Javy,
raczej nie napiszemy szybkiego, całkowicie rezydentnego programu. Nie ozna-
cza to, »e jest to całkiem niemo»liwe, jednak post¦puj¡c w my±l przesłania tego
artykułu nale»y powiedzie¢, »e do tego celu lepsze b¦d¡ inne j¦zyki. Podobnie,
jak np. C++ czy Assembler, Java jest typowym przykładem j¦zyka ogólnego
przeznaczenia.
Dynamiczne strony
Trzy magiczne litery – PHP. Chyba ka»dy, kto miał styczno±¢ z pisaniem stron
internetowych, doskonale zna ten j¦zyk. Pierwsza wersja została stworzona
przez Rasmusa Lerdorfa. Z zało»enia, PHP miało by¢ obiektowym i skryp-
towym j¦zykiem programowania, umo»liwiaj¡cym tworzenie dynamicznych
stron WWW. Aktualna stabilna wersja została opatrzona numerem 5 (wersja
6 jest w dalszym ci¡gu w fazie projektów). Po niedługim czasie od momentu
wydania pierwszej wersji, PHP odniósł ogromny sukces. W 2007 roku około
21 milionów domen korzystało z dobrodziejstw tego j¦zyka. To wła±nie w PHP
powstała wi¦kszo±¢ internetowych aplikacji, które do dzisiaj funkcjonuj¡, np.
fora dyskusyjne, systemy zarz¡dzania tre±ci¡ oraz programy klienckie, obsłu-
guj¡ce bazy danych.
Przyjrzyjmy si¦ wadom i zaletom towarzysz¡cym temu j¦zykowi. Lista za-
let jest długa, jednak postaram si¦ przedstawi¢ je w mo»liwie skondensowanej
formie. Przede wszystkim, obsługa protokołów sieciowych. PHP daje progra-
mi±cie mo»liwo±¢ działania na takich protokołach, jak np. SSL, IMAP, SMTP czy
IRC. Ponadto, zapewnia doskonałe wsparcie dla obsługi plików XML. Wspiera
usługi sieciowe, takie jak SOAP i XML-RPC. Z mniej istotnych zalet mo»na
wymieni¢ obsług¦ ró»norodnych systemów zarz¡dzania bazami danych, przy
wykorzystaniu jednego interfejsu. Istnieje tak»e mnóstwo funkcji pozwalaj¡-
cych na dowolne operacje na tek±cie i grafice. Jest to zaledwie ułamek tego, co
aktualnie potrafi PHP. Istnieje wiele funkcji, które maj¡ mniejsze znaczenie, lecz
s¡ dopracowane i wygodne w u»yciu, np. funkcje kryptograficzne, algorytmy
kompresji itp.
Je±li chodzi o minusy, to nale»y tu wspomnie¢ o dwóch rzeczach. Pierw-
szym problemem jest wła±ciwa kompilacja kodu, a wła±ciwie jej brak. Chodzi
mianowicie o to, »e interpreter PHP, podczas ka»dego uruchomienia wykonuje
cał¡ prac¦ od pocz¡tku. Oczywi±cie, do pewnego stopnia kod jest skompilowa-
ny, ale nie na tyle, aby sta¢ si¦ całkowicie samodzielnym. Drug¡ kwesti¦ stanowi
problem zachowania wstecznej kompatybilno±ci. Stopniowo wprowadzane s¡
pewne zmiany, maj¡ce na celu ujednolicenie cało±ci.
Chocia» z pozoru j¦zyk ten nakierowany został na obsług¦ Internetu, mo»na
tak»e pisa¢ programy działaj¡ce w systemie operacyjnym, zarówno te dedyko-
wane dla konsoli, jak i posiadaj¡ce graficzny interfejs.
Je»eli masz zamiar pracowa¢ po stronie serwera, to PHP jest doskonałym
rozwi¡zaniem. Idealnie nadaje si¦ do tworzenia oprogramowania wspomaga-
j¡cego obsług¦ stron internetowych.
Co w tek±cie piszczy?
Czy zastanawiali±cie si¦ kiedy±, który j¦zyk programowania pozwoliłby w pro-
sty sposób, niemal»e dowolnie analizowa¢ tekst? Ka»dy na pewnym etapie
tworzenia programu dochodzi do momentu, w którym nale»y stworzy¢ raport
z działania, a nast¦pnie go przeanalizowa¢. Przy pomocy C++ czy Pascala, nie
jest to jednak przesadnie proste a czasami nawet dosy¢ skomplikowane. Wła±nie
dlatego programi±ci stworzyli j¦zyk skryptowy, który bez problemów potrafi
dokona¢ z tekstem wszystko, czego tylko zapragnie twórca programu. Mowa
oczywi±cie o Perlu. Nie oznacza to jednak, »e nie pozwala on na tworzenie tzw.
oprogramowania u»ytkowego.
Pocz¡tek kłopotów z przetwarzaniem tekstu ma miejsce w momencie rozpo-
cz¦cia programowania. Jednak dopiero w 1987 roku powstał w pełni przysto-
numer 27 – 2008
5
115001973.003.png 115001973.004.png
Zgłoś jeśli naruszono regulamin