Co się dobrze zaczyna, niekoniecznie równie dobrze się kończy, a więcej nie znaczy lepiej — przekonali się o tym zapewne nabywcy nowego wydania „Podstaw języka C++”.
Poprzednia edycja autentycznie przypadła mi do gustu i przez długi czas była dla mnie materiałem referencyjnym. W przyzwoitej objętości autor nie spiesząc się omawia kolejno wszystkie (ówcześnie) aspekty języka — zaczynając od wprowadzenia pojęć stałych i zmiennych, przez klasy jako takie, do dziedziczenia, polimorfizmu, wzorców. Z racji daty powstania, brakuje opisu wielu mechanizmów dzisiejszego C++, ale mimo to ten tytuł nadal uważam za odpowiedni dla początkujących (i to za przyzwoite pieniądze) — w dalszych rozdziałach irytujące jedynie staje się wprowadzenie zbyt długich i zawiłych przykładów.
Ale jak to mawiają — nic nie trwa wiecznie. O ile do tej pory autorowi udawało się uaktualniać treść bez utraty lekkości, to tym razem (wespół z p.J.Lajoie) ta sztuka nie powiodła się. Książka raptem 600-stronicowa przeobraziła się w cegłę o dwukrotnie większej objętości. Złożona została w zapierający dech piersiach sposób — potężne, grube okładki, elegancka i skromna zarazem szata graficzna, piękna typografia (nie wiedzieć czemu w listingach zrezygnowano z pogrubienia tekstu). Tyle, że w tak przykładnie oprawionym morzu tekstu czytelnik może utonąć — wszystko tu dzieje się jednocześnie. Autorzy chcieli być tak bardzo obiektowi, iż wprowadzili np. już na wstępie klasy „vector” i „complex”, żeby później odwołać się do nich jako do pewników. Wymieszanie informacji klasycznego C z mechanizmami STL dało taki nawał wiadomości, że czytelnik może poważnie wystraszyć się „trudnego C++”, a co dopiero ma myśleć, kiedy dotrze do rozdziałów oznaczonych jako zaawansowane? Fragmenty przykładowego kodu wręcz zalewają tekst główny, co przy rozrzuconych tematach, dodatkowo utrudnia znalezienie danej informacji — sytuację ratuje tylko indeks, bowiem spis treści jest zbyt dosłownie przetłumaczony (można się zaszukać „namespace”, czy „queue”, a przecież takimi nazwami i tak trzeba operować).
Werdykt — najnowsze wydanie 2 (oberwało się także za morderczą cenę), poprzednie, mimo, że nieco nieaktualne, 3.
Humorystycznie natomiast rozwiązał problem spisu treści autor książki „Język C++” — kasując co tylko możliwe, a pozostawiając sam szkielecik podający ogólniki typu „wzorce”, co niby ma wyczerpywać temat za 32 strony. Rzecz równie ładnie wydana (jednak odrobinę zbyt ponuro), lecz jaka różnica w treści — bez gładzenia czytelnika po główce ostra jazda dla zawodowców. Chcecie pozycję stanowiącą Α (czy ktoś mógłby wydać wreszcie „Unicode — leksykon kieszonkowy”?) i Ω świata C++? Właśnie o niej opowiadam — od podstaw na poziomie czystego C do najbardziej perwersyjnych konstrukcji obiektowych plus… STL! Tak jest, nie trzeba już ślęczeć przy monitorze, w blisko 1000 stron zawarto skondensowany dynamit wiedzy. Przykłady są wyłącznie ilustracją omawianego tematu, a nie symulacją ruchu na lotnisku, choć właśnie w tym miejscu będą mieli powody do narzekania (i to niewąskie) początkujący adepci sztuki programowania — uważam jednak, iż lepiej pomyśleć chwilę na własny rachunek, niż zmagać się z gadulstwem piszącego. Mimo wszystko, niezależnie od prezentowanego przez Was poziomu i tak i tak sięgniecie po tę książkę, więc lepiej zrobić to od razu — może okazać się, że odpowiada Wam ascetyczny typ wykładów i niepotrzebne będzie obkładanie się stosem literatury „dla opornych”, „dla średniozaawansowanych”, „następne 24 godziny”.
To wspaniałe dzieło zawodzi w kwestiach najprostszych — skandalicznie ubogi spis treści (i próbująca to rekompensować bezużyteczna lista zagadnień na początku każdego rozdziału) co horrendalnie utrudnia wyszukanie czegokolwiek oraz proporcjonalny krój czcionki w listingach. Bardzo wysoka, jak na polskie warunki, cena (solidna oprawa kosztuje) może odstraszać, ale warto dać się skusić — to prawdziwa biblia programisty.
Werdykt — dolne stany 5.
Info:
Podstawy języka C++, Stanley B.Lippman, WNT, 1997 (Addison-Wesley, 1993).
Podstawy języka C++, Stanley B.Lippman, Joée Lajoie, WNT, 2001 (Addison-Wesley, 1998).
Język C++, Bjarne Stroustrup, WNT, 2000 (Addison-Wesley, 1997).
Legenda:
1 — szkodzi zdrowiu, zalecana do obiegu wtórnego,
2 — w celach zniwelowania luzów w biblioteczce w sam raz,
3 — poprawna, ale lepiej rozejrzeć się za czymś ciekawszym,
4 — dobra rzecz, docenia się ją każdego dnia z wyjątkiem świąt,
5 — boska, można kupić i czerpać natchnienie z samej okładki.
Archiwalny news dodany przez użytkownika: MACiAS.
Kliknij tutaj by zobaczyć archiwalne komentarze.
Share →
Ostatnie komentarze
- Zaufana Trzecia Strona - MAiC proponuje polskie "Raporty o przejrzystości"
- fantomik - Backdoorów PRISM nie ma. Pełnej informacji w Transparency Reports też.
- rumcajs - Backdoorów PRISM nie ma. Pełnej informacji w Transparency Reports też.
- KMP - Permanentna inwigilacja – również w Polsce
- KMP - Permanentna inwigilacja – również w Polsce