19 grudnia 2013

Perl - język programowania z historycznym 25-letnim garbem

Każdy programista słyszał o zacnym ;-) skryptowym języku programowania Perl. Jego historia sięga 25 lat i doczekała się wersji Perl 5 (przy czym Perl 6 jest w przygotowaniu). Uroczystość świętowania urodzin Pela ;) to tradycja dla kilku wiekowych już fanatyków rozwiązań powstałych w tym języku. Tradycyjnie jak co roku stawiają piwko i tort na stół obgadując nowinki w kolejnych wersjach.
Wszystko byłoby w normie, gdyby nie fakt że grupę programistów języka Perl można policzyć na palcach ... poprawcie mnie jeśli się mylę ?!

Zastanawiam się, czy ta impreza nie powinna być nazywana stypą, kiedy patrzę na statystyki stosowania w nowych projektach oraz wdrażania produkcyjnych rozwiązań. Postanowiłem nieco przyjrzeć się w tym artykule nieco współczesnym wdrożeniom aplikacji w języku Perl.

Zapewne Larry Wall, który jest ojcem tego języka programowania pokładał w swoim projekcie wielkie nadzieje i wierzyny wszyscy, że był to wytwór epokowy. Za co należy oddać szacunek ojcowi Larremu ;-). Tak się składa, że CPAN, jako repozytorium stabilnych modułów do języka Perl utrzymuje się i rozwija w stanie jak 25 lat temu. Aczkolwiek programiści sięgający do tego języka czują jego fenomen a zarazem odrazę patrząc na wiele linii kodu wytworzonego wiele lat temu. Oczywiście nie ma co oceniać algorytmów, które mają swoje pokrycie testami. Na myśli mam zastosowane wzorce architektoniczne w produktach Open Sourcewytworzonych przy pomocy języka Perl. W sumie to ciężko odgadnąć czasmi co autor miał na myśli czytając źródła, ale zastanawiam się często czytają kod Perla, czy musi zawierać nieczytelne komplikacje składniowe. No cóż, okazuje się, że to są właśnie podstawy tego języka: $#, @, $@, &$@ i kilka innych trickow. ...

Chciałbym poruszyć też pewną kwestię historyczną, kiedy ok. 13 lat temu społeczność Perla przegrała z ruchem w językach PHP oraz Python. Tak się skłąda, że obserwowałem jako praktykujący programista ten trend i dzisiaj widzę po wykresach, że czas szykować się na stypę, która może odbędzie się niedługo. Oto zrzut trendów zainteresowania Perlem w porównaniu do alternatywnych języków skryptowych:

Podkreślić należy - bo większość zapomniała - że język PHP wzorował się na Perlu. Dodać trzeba, że jeśli chodzi o przetwarzanie wielkich ilości tekstu oraz stosowanie przy tym wyrażeń regularnych, to inne języki skryptowe mogą się kłaniać, w Perlu działa to na prawdę wydajnie. Znam adminół i devopsów, którzy nie boją się powiedzieć "mamy w du..e pythony, ruby, bash, zsh i inne ... przecież w każdym UNIXie jest Perl i działa od zawsze !". Tutaj nie mogę się kłucić, bo faktycznie od kiedy pamiętam to Perl był zawsze w OSach, od VxWorx, QNX, FreeBSD, UNIX, poporzez Linuxy aż do co ciekawe Androida, których używam na codzień ;-).

Język Perl posiada kilka liczących się na świecie wdrożeń słynnego systemu OTRS, czyli wsparcia dla obsługi klienta (helpdesk). W aktualnej wersji dodano nawet wsparcie dla całego procesu obsługi zgodnego z metodyką ITIL. System wspiera grupy klientów, bazy klientów, obsługę zgłoszeń w systemie kolejkowym z priorytetami i SLA. Od wersji 3.2 posiada skalowalne i konfiigurowalne API, zarówno SOAP jak i REST z bindingami do metod wewnętrznych, dzięki którym w prosty sposób można integrować np: z Call Center, czy obsługą telefoniczną zgłoszeń.

Oto jak autor wypowiada się o swoim ulubionym języku programowania ;-)

Pozdrawiam serdecznie wszystkich z okazji ukończenia 25 rocznicy języka programowania Perl i mam nadzieję, że się nie obrażą na moje wypowiedzi o obumierającej już społeczności tego języka. Z trendów wynika, że pozycja 9 w 2012, 12 w 2013, czyli z pierwszej dwudziestki Perl najpewniej wyleci za kilka lat ... lub stawiam kratę, jeśli okaże się za kilka lat, że jest to język wiecznie żywy;)

Linki:
 * http://adambard.com/blog/top-github-languages-for-2013-so-far/
 * http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html


1 komentarz:

Ermlab pisze...

Bardzo fajnie się czyta takie wpisy, warto też dowiedzieć się czegoś z historii programowania. Na pewno chętnie tu wrócę.