Zrozumieć programowanie autora Gynvael Coldwind jest książką, która wyszła w listopadzie 2015 roku. Wg tego, co piszą w intrenecie jest to super pozycja dla programistów wysokopoziomowych, którzy chcą zrozumieć, co się dzieje pod spodem. Nie dawno zrobiłem update na półce z książkami i książka ta wylądowała w moich rękach. Zapraszam do recenzji.
Na początek neutralnie
Książka jest dość spora – 600 stron i nie droga (koło 50PLN), dużo tekstu mało obrazków i pełno przypisów. Na koniec każdego rozdziału są nie trywialne ćwiczenia (szczególnie ostatnie ostanie w książce) i szczegółowa bibliografia. Bardzo dobra okładka, trochę twarda, ale jednak miękka. Wygodnie się to obsługuje czytając na kanapie : ) Zdecydowanie książka sprawia miłe wrażenie.
Co mi się podobało?
Widać, że autor to pasjonat. Są momenty, gdzie porusza bardzo zawiłe tematy, jak na przykład opis specyfikacji formatów graficznych BMP i PNG i stara się pokazać jak tak naprawdę poradzono sobie z ich implementacją. Jest to pouczające, choć przyznam, że po przeczytaniu rozdziału o formacie BMP miałem dość i pominąłem rozdział o PNG.
Książka jest po układana w mądry sposób. Od procesora w górę. Architektura, typy danych, znaki. Później część o procesach, wątkach (w tym najpopularniejsze problemy(deadlock-i, mutexy, spinlock-i)). Bardzo dobra część czwarta pliki i formaty danych, rodział daje przyjemność w poszerzaniu wiedzy o tym jak wygląda struktura danych w plikach. Skąd problemy z końcami linii (CR, LF) itd. Ostatnie część o komunikacji i TCP/IP.
Książkę czyta się lekko. Język jest raczej naturalny i przyjemnie się czyta nawet trudniejsze fragmenty.
W książce przedstawione są podejścia do rozwiązań i dla Windows-a i dla Linux-a. Co prawda po przeczytaniu książki stwierdzam, że na niskim poziomie te systemy są do siebie podobne, jednak warto by się o tym przekonać naocznie.
Są momenty w tej książce, które potrafią uzupełnić braki wiedzy – jakie nie powiem, bo mi wstyd ; )
Więcej mi się jednak nie podobało
Książka ma bardzo dużo dobrych recenzji. Nie wiem, ale mam wrażenie, że chyba nie były to uczciwe recenzje lub recenzenci nie byli wstanie przyznać się samym sobie, że nie potrafią „Zrozumieć programowania”. Książka ta nie jest jak piszą na okładce dla początkujących.
Pan Coldwind jest na pewno zasłużonym programista, ale dawno już nie rozmawiał kimś, kto jest początkującym programistą. Książka na pewno nie jest dla początkującego programisty, w drugiej części, gdzie autor tłumaczy jak działa procesor, rejestry itd. daje 3 stronicowy kod w Pythonie do symulowania procesora. No sorry, ale kto to zrozumie na początku swojej kariery i na początku książki taką ilość kodu. Krzywa wejścia do zrozumienia, co się dzieje w kodzie jest gigantyczna (są opisy to znaczy komentarze w kodzie ale i tak nie za wiele to pomaga). Być może komuś to nie będzie przeszkadzać ale na pewno nie jest to miła lektura na początek.
Mimo, że w intrenecie są same pochlebne recenzje o tej książkę to ja się od nich odcinam. Uważam, że książka jest, co najwyżej średnia. Daje pewne poczucie wiedzy, co się dzieje pod spodem, ale to raczej nic głębokiego i nic, czego w 5 minut googlowania nie da się znaleźć.
Widać wyraźnie, że książka jest pewnym zbiorem wolnych przemyśleń na temat różnych tematów.Coś a la wpisy na blogu, które zostały połączone razem. Jednak takie połączenie nie ma wielu walorów edukacyjnych i nie czuje się w tej książce, że autorowi zależy na tym by przekazać czytelnikom wiedzę.
Kolejnym minusem to przykłady kodu. Pan Coldwind popisuje się umiejętności pisania małych i średnich programów w 4 językach, C, Java, C++ i Pyton. Dla początkującego programisty i pewnie średnio zaawansowanego to chyba trochę duży rozstrzał jak na pierwszy raz. Programuje w tych językach, na co dzień i dla mnie przykłady były czytelne, ale czy dla kogoś, kto dopiero się uczy –będzie to całkowicie nie czytelne. Dodam jeszcze wisienkę na torcie, że często prócz różnych języków programowania, autor używa jeszcze różnych KOMPILATORÓW do C i C++ (łącznie z tym, że jest nawet przykład kodu pisanego dla Visual C++).
Podsumowanie
Książka w ogólnym rozrachunku jest średnia. Dla początkującego jest dość trudna do przebicia się. Dla normalnego gościa zainteresowanego programowaniem będzie to średnia przygoda i po jej lekturze zostanie mu pewnie sporo pytań i mały mętlik w głowie (o ile dotrwa do jej końca). Dla średnio zaawansowanego użytkownika będzie to tylko ciekawostka, na pewno uzupełni swoją wiedzę o kilka elementów, ale na pewno nie będzie to przełom w jego wiedzy.
Warto jednak wspomnieć, że książka jest dla pasjonatów. Podczas jej czytania trzeba usiąść do kompa i przepisać parę programów by w wydobyć czasem esencję z wiedzy, która jest tam ukryta. Warto to zrobić.
Ogólnie nie polecam tej książki początkującym. Dla programistów z 3-6 letnim doświadczeniem, będzie to znośna lektura.
Moje ocena to 5/10.
Jeden komentarz do “Zrozumieć programowanie – Gynvael Coldwind – recenzja”
Możliwość komentowania została wyłączona.