Informacje | Kultura | Rozrywka | Nauka

Perl, lenistwo i językoznawstwo – niezwykły świat Larry’ego Walla

Więcej od tego autora

Czas czytania: 4 minuty

Człowiek od języka, który przypadkiem został programistą

Larry Arnold Wall urodził się 27 września 1954 roku w Los Angeles i jest jedną z tych postaci historii informatyki, których nie da się sensownie zamknąć w szufladce z napisem „programista”. Owszem, stworzył język Perl, napisał program patch i czytnik grup dyskusyjnych rn, ale jego sposób myślenia wyrósł z miejsca dość niespodziewanego – z językoznawstwa. Studiował między innymi języki naturalne i sztuczne, a później tę fascynację przeniósł wprost do świata komputerów.

I tu zaczyna się rzecz ciekawsza od samej historii kolejnego języka programowania. Wall doszedł do wniosku, że skoro człowiek może powiedzieć tę samą rzecz na kilka sposobów i nadal zostać zrozumiany, komputer również nie musi zmuszać programisty do jednej jedynie słusznej formuły. Z tej filozofii wyrosło słynne perlowskie „There’s more than one way to do it” – istnieje więcej niż jeden sposób, żeby coś zrobić. Perl nie miał wychowywać programisty. Miał dawać mu narzędzia.

Perl, czyli język zbudowany z potrzeby

W połowie lat 80. Wall pracował jako administrator systemów i miał przed sobą bardzo przyziemny problem: trzeba było przetwarzać tekst, zestawiać informacje pochodzące z różnych źródeł i produkować raporty. Istniejące narzędzia – między innymi awk, sed, powłoki Uniksa czy język C – potrafiły zrobić poszczególne rzeczy, ale brakowało czegoś, co sprawnie posklejałoby je w jedną całość. Wall zrobił więc rzecz charakterystyczną dla dobrych programistów: zamiast wykonywać tę samą niewygodną pracę wielokrotnie, napisał narzędzie, które zrobi ją za niego.

Tak narodził się Perl. Pierwsza wersja została udostępniona 18 grudnia 1987 roku. Początkowo był językiem do przetwarzania tekstu i raportów, lecz bardzo szybko zaczął żyć własnym życiem – trafił do administracji systemami, baz danych, bioinformatyki, programowania sieciowego, a później także do rodzącego się World Wide Web.

Perl stał się jednym z języków, na których budowano pierwszą epokę dynamicznego internetu. Dziś jego pozycja jest już inna, bo programiści mają do wyboru Pythona, JavaScript, Go, Rust i cały legion młodszych konkurentów, ale przez lata Perl był czymś w rodzaju cyfrowej taśmy klejącej: może nie zawsze eleganckiej, za to potrafiącej połączyć elementy, których nikt wcześniej nie projektował z myślą o współpracy.

Lenistwo jako zawodowa cnota

Wall miał również szczególny talent do tworzenia powiedzeń, które wykraczały daleko poza sam kod. Najbardziej znane są jego trzy cnoty programisty: lenistwo, niecierpliwość i pycha. Brzmi jak katalog wad, których należałoby unikać, ale sens był przewrotny.

Lenistwo ma sprawić, że zamiast wykonywać żmudną czynność sto razy, napiszemy program, który zrobi ją za nas. Niecierpliwość powoduje, że drażni nas maszyna działająca zbyt wolno albo wymagająca niepotrzebnej obsługi, więc próbujemy ją poprawić. Pycha zaś sprawia, że chcemy napisać program tak dobrze, aby inni nie mieli powodów źle o nim mówić. Wall zamienił więc trzy klasyczne przywary w pochwałę automatyzacji, efektywności i odpowiedzialności za własną pracę.

Jest w tym coś znacznie większego niż żart dla informatyków. Cała historia techniki właściwie opiera się na takim właśnie „lenistwie”. Koła nie wymyślono dlatego, że ludzie kochali ciężką pracę, tylko dlatego, że mieli już serdecznie dość noszenia wszystkiego na plecach.

Język programowania jak język człowieka

Wall mówił wprost, że przy projektowaniu Perla korzystał ze swojej wiedzy o językach naturalnych. Dlatego programista mógł używać tylko niewielkiego fragmentu możliwości języka, tak jak człowiek może porozumieć się prostym słownictwem, nie znając całego słownika. Kto chciał, mógł pisać rzeczy bardziej złożone, budować własny styl i wykorzystywać wieloznaczność.

Ta wolność miała oczywiście cenę. Perl zdobył reputację języka potężnego, lecz czasami piekielnie trudnego do czytania. Sam Wall nigdy szczególnie nie przejmował się zarzutem, że programowanie powinno być uporządkowane według jednej estetycznej doktryny. Człowiek też nie mówi zawsze zdaniami podręcznikowymi, a mimo to język działa.

Później Wall stał również za projektem Perl 6, który rozwijał się tak daleko od Perla 5, że w końcu stał się odrębnym językiem. W 2019 roku, za aprobatą Walla, oficjalnie przyjął nazwę Raku. Perl i Raku przestały więc udawać kolejne wersje tego samego języka i zaczęły funkcjonować jako krewni należący do jednej rodziny.

Larry Wall i Gloria Wall

Dlaczego warto o nim pamiętać?

Larry Wall przypomina, że programowanie nie jest wyłącznie matematyką i technologią – jest również sposobem opisywania świata. Jego największym osiągnięciem nie było więc tylko stworzenie Perla, ale przemycenie do informatyki pewnej bardzo ludzkiej idei: różni ludzie mogą dochodzić do tego samego celu różnymi drogami i wcale nie trzeba wszystkich wtłaczać w jeden schemat.

W czasach, gdy coraz więcej decyzji oddajemy algorytmom, ta myśl brzmi nawet ciekawiej niż w 1987 roku. Być może dobra technologia nie powinna przede wszystkim uczyć człowieka posłuszeństwa wobec maszyny. Może to maszyna powinna nauczyć się odrobiny elastyczności od człowieka.

Ciekawostki

  • Larry Wall jest twórcą nie tylko Perla, lecz także programu patch, którego sama nazwa weszła na trwałe do języka informatyków jako określenie poprawki oprogramowania.
  • Napisał także program rn, popularny niegdyś czytnik grup dyskusyjnych Usenetu.
  • Perl został po raz pierwszy publicznie udostępniony 18 grudnia 1987 roku.
  • Wall jest współautorem książki Programming Perl, nazywanej przez programistów „Camel Book”, czyli „książką z wielbłądem”.
  • Język Raku był pierwotnie rozwijany jako Perl 6, lecz w 2019 roku oficjalnie zmieniono jego nazwę.

Koniecznie przeczytaj

Najnowsze

RADIOAwangarda.Informacje / Kultura / Rozrywka / Nauka

Radio ludzi ciekawych.

Włącz muzykę. Zostań dla opowieści.