Zenedith's dev blog

Dałem się namówić.., szatanowi chyba..

Jak to było: Nauka cpp część 2

Miałem chwilowy zawrót głowy więc się trochę ten wpis opóźnił. Przejdźmy jednak na powrót do nauki cpp.

Zaczynamy od samych podstaw. Jak już pisałem w jednym z pierwszych wpisów na moim blogu, można rozpocząć od dwóch następujących pozycji:

  1. Symfonia C ++ Standard – mam wersję 3 tomową, wydanie 5 poprawione. Obecnie dostępna jest odświeżona wersja, opisująca i zgodna z obecnymi standardami języka cpp uzupełniona np. o opis i wykorzystywanie klasy std::string. Dokładne informacje można uzyskać ze spisu treści.
    Uważam, że książka jest rzeczywiście „łatwym podręcznikiem”, jak pisze sam autor – zawiera bardzo przyjazne zapoznanie czytelnika z prezentowanym zagadnieniem, odpowiada na szereg pytań które się nasuwają (bądź nie) przy czytaniu kolejnych rozdziałów. Uważam że książka przeznaczona jest dla każdego, kto chce się nauczyć programować. Bardzo dużo przykładów, tłumaczonych czytelnikowi linia po linii.
    Książka ta wprowadzi nas w solidne podstawy języka cpp. Jej uzupełnieniem była kiedyś seria Pasja C++, lecz nie wiem jak to obecnie wygląda.
  2. Thinking in C++ oraz Thinking in C++ Tom 2 – możliwa do pobrania w formie ebook’ów ze strony domowej autora. Autor jest równie niesamowity w cierpliwym i przyjaznym tłumaczeniu zagadnień jak autor wspomniany wyżej. Bardzo dużo przykładów, bardzo dobre wprowadzenie w świat obiektów. Drugi tom wprowadza w bardziej zaawansowane wykorzystywanie cpp. Olbrzymim plusem jest oczywiście inicjatywa udostępnienia wersji elektronicznych swoich (wybranych) książek – jedyną przeszkodę może stanowić znajomość języka angielskiego…

„Nie od razu Rzym zbudowano” i do tematyki programowania należy podejść z olbrzymią dozą samozaparcia i co najważniejsze: przepisywać kod do używanego IDE i kompilować. Zmieniać. Kompilować. Dzięki temu nasza wiedza będzie nie tylko teoretyczna (która nie będzie ugruntowana) ale również praktyczna (wyłapiemy wtedy bardzo szybko błędy składniowe, utrwalimy sobie słowa kluczowe języka, wzorce tworzenia metod, klas – jednym słowem praktyka).

Gdy już mamy ten etap za sobą, warto jeszcze przeczytać kurs Xion’a – Megatutorial „Od zera do gier kodera”. Stanowi on bardzo dobrą powtórkę materiału oraz zwraca uwagę na pewne niuanse, które mają szczególne znaczenie dla programistów gier. Kurs jest podzielony na 3 części:

  1. Podstawy programowania,
  2. Zaawansowane C++,
  3. Windows API.

Dla mnie szczególnie pomocny okazał się rozdział o szablonach (bardzo zaawansowane) oraz cześć 3 kursu (Windows API), ponieważ w jednym miejscu mamy solidną porcję wiadomości na temat programowania okienek.

W tym momencie posiadasz (konkretną) wiedzę na temat szablonów, proponuję zatem ustabilizować swoją wiedzę w temacie kontenerów. Bardzo dobrym punktem wyjścia w tym momencie może być portal cplusplus.com – zresztą wspomniany portal powinien być zawsze „pod ręką” czyli w zakładkach przeglądarki internetowej.
Gdy wiedza o kontenerach jest na odpowiednim poziomie, przeskakujemy na algorytmy – tak naprawdę będziesz używał nielicznych z nich, ale wiedza o istnieniu właśnie „tych” użytecznych musisz przecież mieć.

Jeśli zainteresowany jesteś w ogólności programowaniem gier w cpp (chociaż niekoniecznie) to polecam książkę C++ dla programistów gier lub całą serię Perełek programowania gier, ale to już temat na inny wpis.

Uff. Było tego trochę. Można przez to przejść spokojnie w 3-5 miesięcy. Warto sprawdzić czego się nauczyliśmy oraz poznać niuanse języka cpp przez odwiedzenie strony Guru of the Week. Na stronie tej znajduje się około 90 (w tym momencie 88) zadań programistycznych z różnych zagadnień wykorzystywania języka cpp, które zawierają też poprawne odpowiedzi, z których można się naprawdę dużo jeszcze dowiedzieć. Jeśli chodzi o książkę to polecam Exceptional C++ Style 40 New Engineering Puzzles [Addison Wesley, 2004], oraz trochę starszą Herb Sutter – More Exceptional CPP [Addison Wesley, 2001], które są pisane w ten sam sposób (gdyby ktoś miał problem ze zdobyciem to mogę pomóc).

Bardzo pomocne może się również okazać przeczytania FAQ twórcy języka cpp – Bjarne Stroustrup’s C++ Style and Technique FAQ.

Oczywiście sam język programowania to nie wszystko – warto poświęcić trochę czasu na poznanie struktór i różnych algorytmów. Można wtedy sięgnąć po biblię Wprowadzenie do algorytmów Cormen’a lub trochę „nowszą” książę Algorytmy. Od podstaw.

Cóż, w tym momencie potrafię już tylko wskazać kierunek, którym sam będę podążał (jeśli chodzi o programowanie w cpp i gdy uporam się do końca z niektórymi z wymienionych wyżej):

  • Meyers Scott – Effective C++,
  • Meyers Scott – More Effective C++.

Na koniec jeszcze coś, co mogłem podać na początku…ale nikt by wtedy nie czytał mojego wpisu do końca – Z czego się uczyć (gamedev.pl).

Reklamy

26 Czerwiec, 2008 - Posted by | books, cpp | , ,

Brak komentarzy.

Skomentuj

Proszę zalogować się jedną z tych metod aby dodawać swoje komentarze:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

%d blogerów lubi to: