Dzisiaj na WebKrytyku znowu recenzja książki. Tym razem coś bardziej enigmatycznego, czyli Tomasza Sochackiego JavaScript. Wyrażenia regularne dla programistów.
Dość długo przymierzałem się do tej recenzji, ale w końcu nadeszło kilka chwil wolnych, dzięki czemu udało mi się przeczytać nową książkę Heliona o wyrażeniach regularnych i… powstała z tego najbardziej nietypowa recenzja na WebKrytyku.
Książka jest podzielona na pięć rozdziałów. Pierwszy poświęcony jest teoretycznemu wstępowi do wyrażeń regularnych, drugi to dokładne omówienie składni wyrażeń regularnych w JavaScripcie, trzeci to z kolei omówienie metod pozwalających na pracę z wyrażeniami regularnymi, czwarty zawiera liczne praktyczne przykłady pracy z wyrażeniami regularnymi, a piąty opisuje możliwe kierunki rozwoju dla wyrażeń regularnych. Wydaje się niedużo, ale w praniu wychodzi, że to naprawdę spora dawka wiedzy.
Pierwszy rozdział to szybkie spojrzenie na standard Unicode oraz kodowania, które najczęściej są z nim – nie do końca prawidłowo – utożsamiane. I, prawdę mówiąc, pierwszy raz zdarzyło się, abym w książce poświęconej wyrażeniom regularnym zobaczył materiał na temat tego, jak różne znaki są zapisywane. Choć wiedza ta wydaje się na pierwszy rzut oka niezwiązana z wyrażeniami regularnymi, to okazuje się tak naprawdę kluczowa do faktycznego zrozumienia tego, co dzieje się za kulisami. I osobiście jestem pewien, że gdybym sam zaczynał naukę wyrażeń od tego typu teorii, dzisiaj byłbym o wiele lepszym ich użytkownikiem.
Rozdziały drugi i trzeci to encyklopedyczna wręcz wiedza o wszelkich możliwych kombinacjach składniowo-metodowych. Jest tu chyba absolutnie wszystko, co przyda się do sensownego (i nie tylko) używania wyrażeń regularnych. Gdybym miał coś tym częściom zarzucić, to chyba wyłącznie to, że… są za dokładne (i przez to odrobinę nudne). Jestem pewien, że część z tej wiedzy nie przyda się większości programistów w czasie ich kariery ani razu. Z drugiej strony: są tutaj ciekawostki, na które sam bym nie natrafił, jak np. używanie String.prototype.match
do dzielenia ciągów tekstowych.
Rozdział czwarty to z kolei garść praktycznych przykładów wykorzystania wyrażeń regularnych. Nie mogło oczywiście zabraknąć klasyków, takich jak walidacja e-mailów czy zaklęcia zakazane. Niemniej są tutaj też przykłady pokazujące, czemu wyrażenia regularne nie powstrzymają wojny nuklearnej i warto je czasami wymienić na coś innego albo wpleść w większy mechanizm walidujący dane. I za to duży plus, bo widziałem już książki – i to na zupełnie inny temat niż wyrażenia regularne! – w których wyrażenia regularne ratowały świat. Mimo to – parsowanie HTML-a, naprawdę?
Ostatni rozdział to rzut oka na to, jak będzie wyglądać najbliższa „przyszłość” wyrażeń regularnych. No właśnie – „przyszłość”, bo w momencie wydania tej książki była to już po prawdzie teraźniejszość. Wszystkie wymienione w książce rzeczy weszły do standardu ECMAScript 2018. Tym samym cała zawartość tego rozdziału powinna znaleźć się w poprzednich rozdziałach, a w tym powinno się znaleźć np. String.prototype.matchAll
. No ale to bolączka chyba każdej książki związanej z JS-em i webdevem: deaktualizują się jeszcze przed wydaniem.
No bardzo chciałbym się do czegoś przyczepić (w końcu to WebKrytyk), ale nie bardzo mam do czego. Jedyne błędy, jakie udało mi się wypatrzeć, są typowymi literówkami, a zbytnia dokładność w tego typu pozycjach jest wręcz zaletą, a nie czymś, co należałoby ganić. Chyba po raz pierwszy w historii tej strony muszę z bólem serca stwierdzić: jest dobrze. Ba, jest bardzo dobrze.
A teraz szybko po nitroglicerynę, żeby mi serce nie pękło…
Dzięki za recenzję!