Pragmatyczny programista – recenzja

Kilka już lat temu pomyślałem sobie o tym, że dobrze byłoby się dokształcać w czasie wolnym. Oprócz doświadczenia w kodzie chciałem poznać dobre praktyki, zasady które pozwolą mi być lepszym programistą. Szukałem wtedy jakie książki powinien przeczytać każdy programista. Były tam pozycje takie jak Clean Code, Clean Coder, czy Head First Design Patterns. Różne źródła podawały różne pozycje. Oprócz jednej… Pragmatyczny programista Od czeladnika do mistrza. Ta książka była wszędzie.

Najpierw przeczytałem Clean Code (bo była łatwo dostępna w uczelnianej bibliotece) i byłem zachwycony. Potem przeczytałem Head First Design Patterns i było spoko. Jednak cały czas faktycznie chorowałem na Pragmatycznego. Ta książka strasznie chodziła mi po głowie. Wszyscy o niej mówią więc coś w niej musi być. Żeby zrozumieć wszystko dokładnie chciałem kupić sobie polską wersję, co okazało się nie być takie proste. Akurat jak zacząłem szukać to Helion poinformował mnie, że czekają na dodruk. Pomyślałem sobie, że kurde to naprawde musi być coś skoro po tylu latach nadal bywają problemy z dostępnością.

No ale w końcu się udało i dostałem swój egzemplarz. Niedługo po zakupieniu zacząłem czytać i jakie było moje zdziwienie już na samym początku, że nie czyta się tego tak super jak Clean Code. Nie wiedziałem czy to kwestia przekładu czy tematów na początku, ale strasznie było ciężko przebrnąć. W sumie wyszło, że skończyłem ją jakiś rok później niż zacząłem.
Tak czytałem i czytałem. Czekałem nie wiem na co w tej książce. Chyba na jakąś prawdę objawioną, ale się nie doczekałem. Pierwsze co mnie uderzyło to sporo tematów które są mocno nieaktualne, a zajmują sporą część książki. Na przykład rozdział o generatorach kodu. Autor rozpływa się nad tym, że powinniśmy pisać narzędzia, które zaczną projekt za nas. Napiszą wstępne klasy, widoki, wszystko to co się powtarza przy każdym projekcie. No i faktycznie to jest potrzebne, ale istnieje cała masa sposobów na zrobienie tego bez robienia narzędzi. Visual Studio robi to za nas, frameworki w Javie, PHPie i pewnie wszystkich innych językach są w stanie stronę z CRUDem elegancko nam wygenerować. Takż tak, warto wiedzieć, że generatory są dobre, ale nie ma co się nad nimi rozwodzić za bardzo.

Niestety podobnie było z innymi rozdziałami. Czytałem rozdział za rozdziałem, czekałem na coś czego nie jestem świadomy i… niestety nie doczekałem się. Już miałem odpuścić sobie czytanie jej, ale żeby móc napisać tego posta przemęczyłem się do końca.

Kolejną (i chyba ostanią) rzeczą, która mocno mnie zabolała było to, że wszystkoe przykłady były w Javie. I tu nie chodzi o moją niechęć do tego języka, a bardziej o to, że wyobraziłem sobie sytuację w której siada do tej książki student, który coś już umie, ale w jakimś zupełnie innym języku. Przez to część przykładów mogłaby być dla niego niezrozumiała. Jak już się pisze książkę do wszystkich to użyjmy jakiegoś pseudo-kodu tak żeby był zrozumiały dla wszystkich.

No to w końcu wylałem swoje żale na książkę po której się spodziewałem najwięcej. Teraz pora na kilka przyjemniejszych słów. W sumie myślę, że mogła mnie ona tak odrzucić ze względu na to, że właśnie czekałem na tą prawdę objawioną. Myślałem, że jak ją przeczytam to nagle zacznę być niewiadomo jak zajebisty. Tak się nie stało i częściowo stąd moje żale. I myślę, że wielu doświadczonych devów będzie miało podobne zdanie. Jeżeli programujesz już kilka lat i starasz się to robić ‚świadomie’ to już wszystko co jest tutaj napisane wiesz, wdrożyłeś w życie, albo jesteś świadomy, że danej części tego zawodu nie ruszyłeś. Książkę na pewno mogę bardzo polecić młodym programistom, którzy szukają dobrych praktyk, czy właśnie odpowiedzi kim jest pragmatyczny programista i w jaką stronę powinni iść w swojej karierze. Wiele opisanych zasad, porad jest ponadczasowa i na pewno się nie zdezaktualizuje. Myślę jednak, że przydałaby się w tym wszystkim wersja druga uaktualniona o zdobycze ostatnich kilku lat.

Related posts