Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.

wtorek, 1 marca 2011

Recenzja: Język C - Prata vs King


Autor: Dondu


Niniejsza recenzja dotyczy dwóch książek.



Język C. 
Szkoła programowania. 
Wydanie V

Autor: Stephen Prata
Wydanie: 2006
Stron: 976
Status:

Format: 244 x 170 x 49
Oprawa: twarda
Waga: 1,46kg

Na stronie Helion'u: Opis,spis treści, przykład rozdziału ... itp.


Język C. 
Nowoczesne programowanie. 
Wydanie II

Autor: K. N. King
Wydanie: 2011
Stron: 936


Format: 230 x 170 x 41
Oprawa: miękka
Waga: 1,37kg

Na stronie Helion'u: Opis,spis treści, przykład rozdziału ... itp.



Wstęp

Języka C można uczyć się z dostępnych dokumentów standardu (o ile znasz angielski), licznych internetowych kursów, czy też książek. O ile do całkowitych podstaw wystarczą kursy internetowe (jak chociażby ten dostępny na blogu) i ewentualnie dokumenty standardu, o tyle dogłębnej znajomości C nauczysz się tylko z książek takich jak te.

Języki tworzone są z różnych powodów:

Prata:
Większość języków została stworzona z myślą o użyteczności, lecz nie zawsze właśnie ta cecha była głównym zamierzeniem ich twórców.

Na przykład głównym celem stworzenia języka PASCAL było zapewnienie bazy do nauczania właściwych zasad programowania. Z kolei BASIC został zaprojektowany tak, by przypominał język angielski i mógł być łatwo przyswajany przez uczniów, którzy nie mieli styczności z komputerem.

C został pomyślany jako narzędzie pracy programistów, a więc jego podstawowym celem jest użyteczność.


Ta cecha powoduje, że język C jest podstawowym językiem budowania systemów operacyjnych oraz programowania mikrokontrolerów. Ma istotne zalety, ale także i zagrożenia:


Prata:
Język C daje programiście więcej swobody, ale i obarcza go większą odpowiedzialnością.


Ta swoboda jest kolosalną zaletą w przypadku programowania mikrokontrolerów.



O książkach

Niektóre książki określane są mianem biblii. Te książki zasługują na to, by tak właśnie je określać. Są tak kompleksowe, że ważą prawie 1,5 kg każda. Tak, tutaj wiedzę można śmiało liczyć w kg :-)


Dlaczego dwie książki w jednej recenzji?

Przyczyna jest prosta:

To dwie pozycje, które zawierają wszystko, co jest niezbędne do pisania programów na wysokim poziomie. Innymi słowy warto kupić tylko jedną z nich.

Skoro, więc są „bibliami” i warto kupić tylko jedną z nich uznałem, że powinienem je porównać niż dokładnie opisywać tym bardziej, że ceny nieco się różnią.

Porównałem, więc jeden z najważniejszych tematów, jakim są wskaźniki.

I niestety nie mam zastrzeżeń do żadnej z tych książek :-)
Obie przedstawiają ten temat bardzo obszernie i dokładnie, pokazując podstawy jak i zaawansowanie wykorzystanie tak istotnych właściwości języka C, jakim są wskaźniki.

No nie mam się czego „czepić”. :-)
I tak jest z każdym omawianym tematem w obu książkach.


Przykłady na FTP

Załącznikami do książek są pliki kodów źródłowych dostępne na serwerze FTP Helion’u. Autorzy wyszli ze słusznego założenia, że powinny to być proste fragmenty kodów, które realizują jakiś omawiany temat, podobnie jak ja to robię w kursie C na blogu.

Właściwie różnica w tym zakresie ogranicza się do ilości przykładów (u Prata’y jest ich ponad 230, u King’a niecałe 70). W przypadku Prata’y są dodatkowo umieszczone w katalogach odpowiadających numerom rozdziałów.

Możesz pobrać pliki nawet przed zakupem książki:



Wykonanie

Obie książki wykonane na najwyższym poziomie. Papier śnieżnobiały lekko prześwitujący, ale nie sprawia to problemów z czytaniem, ze względu na duży kontrast tekstu i papieru.

Różnią się natomiast techniką wykonania:

Prata

Książka wydana jest w twardej oprawie papierowej i w technologii szycia nićmi. Zapewnia to trwałość oraz co najważniejsze możliwość swobodnego jej otwierania na dowolnej stronie. Okładka jest powleczona matową folią.

Książkę szytą można spokojnie otwierać. Język C - Szkoła programowania - Stephen Prata



King

Książka klejona, a oprawa powleczona folią. Wprawdzie wydawca dba o mocne klejenie i pod tym względem nie można mieć żadnych zastrzeżeń, to można jednak mieć obawy, że książka (która z założenia ma służyć wiele lat) w końcu może nie wytrzymać próby czasu i nastąpi jej uszkodzenie (złamanie kleju), co może w konsekwencji powodować wypadanie stron.

Z techniką klejenia jest związany jeszcze jeden problem – brak możliwości swobodnego rozłożenia książki na dowolnej stronie, bez przyciśnięcia jej jakimś przedmiotem. Ten problem w szczególności występuje w tak grubych książkach jak ta.

Książkę klejoną trudniej otwierać. Język C - Nowoczesne programowanie. King.

Ale jeżeli to rozumiesz i dbasz o książkę, to nie musisz obawiać się o jej przyszłość. Mam sporo klejonych książek sprzed wielu lat i są w dobrym stanie :-)



Bestseller

Na moment pisania tej recenzji (koniec 2012r.) książka Prata’y jest bestsellerem (ponad 3000 egzemplarzy w Polsce). Podobnie jest z ilością opinii na stronie Helion’u.

Jednakże porównując obie książki nie należy się tym kierować, ponieważ książka Prata jest z 2006 roku, a King’a z 2010.



Którą książkę wybrać?

Odpowiedź nie jest prosta i sam będziesz musiał zadecydować.

Moim zdaniem przy wyborze jednej z tych książek powinieneś kierować się jedynym istotnym i różniącym te książki kryterium, jakim jest sposób pisania (zrozumiały język).

Obie książki są pisane w sposób, który moim zdaniem zapewnia łatwe zrozumienie omawianego tematu. Jednakże każdy czytelnik ma inne preferencje stąd, o wyborze powinieneś zadecydować czytając dostępne dla obu książek przykładowe rozdziały. To pozwoli Ci zorientować się, w stylu pisania i wybrać ten bardziej przyjazny dla Ciebie.

Uważam także, że książka King’a ma jedną dodatkową zaletę. Jest nią skład tekstu, a konkretnie wykorzystywanie marginesów do zaznaczania ważnych informacji oraz odsyłaczy do innych rozdziałów na dany temat, a także częstsze korzystanie z wytłuszczania i wypunktowywania informacji. To znacząco ułatwia wzrokowe poruszanie się po tekście.

Wykorzystanie marginesów oraz czytelny skład. Język C - Nowoczesne programowanie. King.


Ja wybrałbym King’a, ale Ty kieruj się stylem pisania, a w ostateczności ceną lub rzuć monetą :-)

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

7 komentarzy:

  1. No proszę! King - mistrz grozy, w wolnym czasie programista ;)

    OdpowiedzUsuń
  2. Rozumiem, że wydawnictwo helion sponsoruje to forum. Przecież nie od dzisiaj wiadomo, że książki od nich są słabe (nie z powodu słabości oryginałów). Każdy kto miał z nimi do czynienia wie jak potrafią być frustrujące. Tłumaczone na kolanie przez ludzi, którzy czasem nie mają pojęcia co tłumaczą (takie mam odczucie), bez redakcji technicznej, bez korekty i na coraz gorszym papierze. Wystarczy zerknąć na erraty do recenzowanych książek. U Kinga 61 poprawek, u Praty 15, u Francuza 4. W opiniach u Kinga wpisał się użytkownik, który napisał, że zgłosił ponad 100 poprawek (aż dziwne że mu się chciało). Jak widać wydawnictwo je olewa. Ja sam usiłowałem się uczyć JavaScriptu z jednej z ich książek (JavaScript. Programowanie obiektowe). Czytając przykłady już wiedziałem, że coś jest nie tak. Potem wpadłem na to aby przejrzeć erratę. Zagęszczenie błędów większe niż u Kinga. Potrafi to zniechęcić do nauki... Skutecznie i na długo. Najzdrowiej byłoby polecić jednak Pratę (na podstawie liczby zgłoszonych poprawek) lub poszukać jakiejś pozycji z wydawnictwa, które szanuje czytelnika. Pozdrawiam. Andrzej.

    OdpowiedzUsuń
  3. Twoja opinia jest całkowicie nietrafiona. Nie ma, podkreślam - nie ma książki technicznej, żadnego wydawnictwa, która nie wymagałaby korekty. Każde wydawnictwo udostępnia erraty, jak BTC i nawet tak małe jak Kardaś.

    To, że ktoś wysłał 100 poprawek i o tym napisał nie znaczy, że były one słuszne.

    A erraty, o których piszesz są dostępne na stronie książki - to tak dla tych, co czytają ten tekst (nie dla ciebie, bo o nich piszesz).

    Proponuję zostać autorem, a ja wyżyję się na Twojej książce.

    Pozdrawia przyszły czytelnik twoich dzieł, o ile będą na co najmniej tak dobrym poziomie jak te z Helionu.

    OdpowiedzUsuń
  4. Kolega Anonimowy dwa posty wyżej, kompletnie nie zna rynku wydawniczego i bzdury wypisuje. Każda książka, niezależnie od wydawcy zawiera jakieś błędy.

    Helion, jako jedyny na polskim rynku ma elektroniczny system zgłaszania poprawek, który pozwala na szybkie w porównaniu do innych wydawnictw, opracowywanie errat.

    Do autorów bloga: Wykasujcie ten komentarz Anonimowego, bo jest kompletnie oderwany od rzeczywistości.

    OdpowiedzUsuń
  5. Witam

    Cóż, może wypowiem się na temat mojej nauki języka C/C++. Początkowo uczyłem się C++, bo tak wiele osób mi polecało, iż jest to język bardzo popularny a poza tym będę go miał na uczelni. W moje ręce wpadła wychwalana i "święcona" wręcz "Symfonia" Grębosza. Ja sam nie wiedziałem na czym polega doskonałość tej książki. Pełno w niej niepotrzebnych opisów i lania wody.
    Gdy zacząłem studia okazało się, że omawiany będę miał język C. Całkiem przypadkowo zaznajomiłem się z książką Praty, i muszę przyznać, że właśnie ta "biblia" zasługuje na miano książki doskonałej. Pomimo tego, że poznałem trochę C++, to jednak moja nauka C można powiedzieć zaczynała się od zera. Prata jest pozycją bardzo wciągającą i jej najbardziej wartościową cechą jest to, że autor nie opuszcza żadnego zagadnienia. Naprawdę, nie ma żadnych niedomówień i wszystko jest tłumaczone w najdrobniejszych szczegółach. W przeciwieństwie do książki Grębosza nie ma tutaj kilkukrotnego tłumaczenia czym różni się definicja od deklaracji itp. Z pozycją King'a nie miałem kontaktu, więc nie oceniam.

    Pozdrawiam.

    OdpowiedzUsuń
  6. Polecam obie pozycje, posiadam je i korzystam w sumie zamiennie, w Kingu lepiej moim zdaniem bardziej zaawansowane działania na wskaźnikach są opisane, znowu np. bardziej przejrzyście, szczególnie dla początkującego jest napisany Prata. Ogólnie warto mieć obie pozycje.

    OdpowiedzUsuń
  7. Ja również polecam obie pozycje. Warto poznać punkt widzenia obu autorów. A poza tym wiedzy nigdy dosyć.

    OdpowiedzUsuń

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.