Istnieje bardzo wiele nowoczesnych języków programowania, które pozwalają na szybkie wdrożenie i pracę. Takim językiem na pewno nie jest C. Niektóre jego cechy bardzo utrudniają tworzenie bezpiecznego i bezawaryjnego kodu. Warto więc dogłębnie poznać C — przy bardzo prostej składni i niewielkich wymaganiach sprzętowych ma potężne możliwości!

Niniejsza książka jest bardzo dobrym podręcznikiem dla początkujących programistów. Nauczysz się C, wykonując 52 sprytnie skonstruowane zadania zilustrowane kodem i specjalnie opracowanymi klipami wideo. Duży nacisk został położony na dogłębną analizę tworzonego kodu — autor zmusza Czytelnika do zrozumienia znaczenia każdej linii programu, do koncentracji i dokładności. Zachęca też do praktykowania tzw. programowania defensywnego, dzięki któremu możliwe jest podniesienie jakości i bezpieczeństwa tworzonego oprogramowania. Wartościowym elementem książki są wskazówki, jak zepsuć napisany kod, a następnie go zabezpieczyć. Bardzo ułatwia to unikanie wielu poważnych, często spotykanych błędów.

Najistotniejsze zagadnienia poruszone w książce:
  • Podstawowa składnia C
  • Konfiguracja środowiska programistycznego, kompilacja kodu, pliki Makefile i linkery
  • Kontrola przebiegu działania programu, alokacja pamięci
  • Operacje wejścia-wyjścia i pliki, stosy i kolejki
  • Usuwanie błędów, programowanie defensywne i automatyczne testowanie
  • Eliminacja błędu przepełnienia stosu, niedozwolonego dostępu do pamięci itd.
  • Hakowanie własnego kodu utworzonego w C

Zrozum C, programuj starannie — dobrze działać może tylko dobry kod!


Zed Shaw — ceniony programista, którego najbardziej znanym projektem jest serwer WWW Mongrel dla aplikacji Ruby. Jest również autorem wielu artykułów i książek dotyczących technik programowania, jak Learn Python the Hard Way i Learn Ruby the Hard Way, które cieszą się ogromną popularnością — są czytane i dyskutowane przez miliony Czytelników na całym świecie. Shaw posiada niezwykłą umiejętność pisania o trudnych zagadnieniach w sposób przystępny, żywy i interesujący. Potrafi objaśniać najtrudniejsze zagadnienia informatyki jak nikt inny.