Z niemiecką precyzją

Coraz częściej stopka rozbudowanych witryn WWW zawiera informację: “powered by Linux, Apache and Embperl”. Tożsamość dwóch pierwszych nie pozostawia wątpliwości, ale czym jest ostatni z wymienionych?

Osobom obserwującym w ostatnich latach rozwój technologii i rozwiązań internetowych może nasunąć się spostrzeżenie, że dotychczas prym wśród programistów bezpłatnie rozpowszechniających swoje dzieła na podstawie licencji GPL (General Public License) i pochodnych wiedli Skandynawowie. Twórcą Linuksa jest wszakże Fin Linus Torvalds, języka PHP – Norweg Rasmus Lerdorf, a serwera baz danych MySQL – Szwed Michael Widenius. Monopol ten jest jednak czasem łamany – stało się tak np. dzięki naszym sąsiadom zza Odry, a dokładniej mówiąc – twórcy języka Embperl, Geraldowi Richterowi. Dlaczego zdecydował się on na opracowanie osobnego dialektu, mając do dyspozycji wiele rozbudowanych narzędzi?

Z lenistwa

Jak przyznaje sam autor, główną motywacją towarzyszącą powstaniu Embperla było… lenistwo. “Potrzebowałem narzędzia, które wykona za mnie możliwie jak najwięcej pracy, pozwalając mi ograniczyć się jedynie do absolutnie koniecznych czynności” – opowiada Richter na łamach miesięcznika “Perlmonth”. Podobnie jak wielu webmasterów opiekujących się rozbudowanymi serwisami WWW, potrzebował narzędzi pozwalających maksymalnie zautomatyzować proces częstej aktualizacji witryn.

W tym celu zogniskował on uwagę na rozwiązaniach opartych na szablonach HTML, dających możliwość “oddzielenia” interfejsu strony WWW od mechanizmów programistycznych koordynujących jej przetwarzanie po stronie serwera i sposób wyświetlania w przeglądarce. Tego typu separacja pozwala rozgraniczyć obowiązki projektantów graficznych i osób generujących treść dokumentów HTML od działań programistów i uczynić ich pracę niejako niezależną od siebie.

Do polskich witryn WWW stworzonych za pomocą języka Embperl należy m.in. strona domowa Urzędu Miasta Łódź.

Jest to możliwe dzięki wykorzystaniu jednego z popularnych języków programowania, należących do grona technologii server-side – wspomnianego już PHP (Personal Home Page Tools), stworzonego przez programistów firmy Sun JSP (Java Server Pages), microsoftowego ASP (Active Server Pages) czy też innych rozwiązań. Jako doświadczony programista, Richter zdecydował się jednak na stworzenie własnego, opartego na strukturach Perla języka. W ten sposób w roku 1996 narodził się Embedded Perl – w skrócie Embperl.

W peletonie

Zaznaczam, iż moim celem nie jest jakakolwiek próba wykazania wyższości tego języka nad innymi technologiami server-side, a jedynie przedstawienie jego najważniejszych cech i zastosowań. Wszystkie wymienione wcześniej rozwiązania to bowiem potężne środowiska programistyczne przezna- czone do tworzenia nawet najbardziej wyrafinowanych aplikacji internetowych. Co więcej, pomiędzy nimi wskazać można właściwie więcej analogii niż różnic. Do najważniejszych podobieństw należą m.in. integracja z najpopularniejszym obecnie na rynku serwerem HTTP – Apache, szybkość wykonywania kodu dzięki wykorzystaniu interpretera zawartego w module stanowiącym część serwera (mod_php dla PHP, mod_jk dla JSP czy też mod_perl w przypadku Embperla), czy wreszcie łatwość projektowania nawet najbardziej rozbudowanych witryn WWW opartych na popu- larnych systemach bazodanowych, takich jak MySQL czy PostgreSQL.

Trudno byłoby zatem jednoznacznie wskazać bezpośredniego konkurenta języka Embperl, choć pod wieloma względami zasadna wydawałaby się próba porównania go do Java Server Pages. Oba rozwiązania oparte są bowiem na strukturach niezależnych od środowiska sprzętowego i systemowego języków Perl i Java, uznawanych za platformy programistyczne dominujące w zastosowaniach internetowych. Języki te reprezentują jednak zbyt odmienne koncepcje, a każdy z nich ma wystarczająco różny zakres możliwości i zastosowań, by móc mówić o istnieniu między nimi jakiejkolwiek konkurencji.

Nie ma zatem sensu obwoływanie języka Embperl “nową nadzieją” wśród technologii server-side, nie jest on również jedynym sposobem gwarantującym udany mariaż kodu Perla i HTML. Do pozostałych rozwiązań należą bowiem ePerl, HTML::Mason, Template::Toolkit, AxKit czy też Apache::ASP, moduł przeznaczony dla serwera Apache, działającego w środowisku Windows z zainstalowaną w systemie biblioteką ActiveStatePerl. Jakie więc szczególne cechy języka Embperl decydują o potrzebie skoncentrowania uwagi właśnie na nim?

Info
Domowa strona Embperla:
http://perl.apache.org/ Embperl/
Bardzo dobry samouczek języka:
http://freenet.msp.mn.us/ help/Embperl/
Artykuły dotyczące Embperla:
http://www.wdvl.com/ Authoring/Languages/Perl/ Perlfortheweb/index19.html
http://www.perlmonth.com/ features/Embperl/ Embperl.html?issue=11&print=1
Przykład polskiej strony opartej na języku Embperl:
http://www.uml.lodz.pl/ miasto/index.html
Na płycie CD-ROM dołączonej do numeru, w dziale Internet | Embedded Perl znajdują się narzędzia i dokumenty uzupełniające artykuł.
Więcej:bezcatnews