Autor Wątek: Symfonia c++  (Przeczytany 4369 razy)

Offline bartis

  • Użytkownik

# Październik 02, 2012, 20:01:41
Kolejne moje pytanie o książkę czy Symfonia c++ dobra jest do douczenia się c++ po dość długiej przerwie postanowiłem powrócić do programowanie ale musiałbym odświeżyć trochę informacje i je poszerzyć książkę dostałem od brata i moje pytanie czy warto ją czytać czy nie ?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline flexi

  • Użytkownik

# Październik 02, 2012, 20:10:18
To zalezy, ogolnie nie jest zla, ale z neta tez duzo mozna sie nauczyc - kursy, dokumentacje :)

Offline Xender

  • Użytkownik

# Październik 02, 2012, 21:17:02
Uczy programować, ale też złych praktyk - pytanie, czy tylko Symfonia, czy każda książka / tutorial dla początkujących w programowaniu.

Jeśli dopiero uczysz się programować - jakikolwiek tutorial + Thinking in C++. Jeśli już ogarniasz programowanie, samo Thinking.
« Ostatnia zmiana: Październik 02, 2012, 23:25:27 wysłana przez olo16 »

Offline IgI

  • Użytkownik

# Październik 02, 2012, 21:18:39
Moim zdaniem opłaca się przeczytać.

Offline bartis

  • Użytkownik

# Październik 03, 2012, 14:48:47
@olo16

jak pisałem to po 2 mieśiącach przerwy w programowaniu chce znów zacząć i musze sobie po przypomonać

wcześniej uczyłem się  z cpp0x.pl

Offline pluton

  • Użytkownik

# Październik 03, 2012, 22:07:02
Do przypomnienia sobie składni jest dobra. Sam trzymam ją zawsze obok komputera i zaglądam do niej jak czegoś nie pamiętam.

Offline gotji

  • Użytkownik

# Październik 04, 2012, 12:05:38
Uczy programować, ale też złych praktyk

Mógłbyś podać jakiś przykład? Swego czasu przeglądałem tą książkę i nie widziałem w niej "złych praktyk".

Offline Xender

  • Użytkownik

# Październik 04, 2012, 13:19:27
@up - chociażby nieścisłości projektowe - stwierdzenia, że "OOP jest 1:1 ze światem rzeczywistym", przykłady klas głównie na zwierzętach i pralkach. Nic o wykorzystaniu biblioteki standardowej.

Za to z "Pasji C++" pamiętam groteskowy przykład zastosowania wyjątków - rzucanie z zagnieżdżonych pętli. Dodatkowo, omówienie kontenerów sprowadzało się do ich reimplementacji, zamiast wskazania jak korzystać z biblioteki standardowej.

Niektóre z tych wad mają wszystkie tutoriale - problem jest taki, że po przeczytaniu książki dla newbie/tutoriala delikwent ma mózg zapchany uproszczeniami, ale o tym nie wie. Dlatego właśnie książki takie jak "Thinking in C++" po tutorialu przeczytać trzeba. Symfonia lub tutorial dla początkujących nauczy klepać koszmarnie słaby kod i da podstawę do zrozumienia książki, która nauczy programować.

Offline socket

  • Użytkownik

# Październik 04, 2012, 13:57:19
@up - chociażby nieścisłości projektowe - stwierdzenia, że "OOP jest 1:1 ze światem rzeczywistym", przykłady klas głównie na zwierzętach i pralkach. Nic o wykorzystaniu biblioteki standardowej.

Za to z "Pasji C++" pamiętam groteskowy przykład zastosowania wyjątków - rzucanie z zagnieżdżonych pętli. Dodatkowo, omówienie kontenerów sprowadzało się do ich reimplementacji, zamiast wskazania jak korzystać z biblioteki standardowej.

Niektóre z tych wad mają wszystkie tutoriale - problem jest taki, że po przeczytaniu książki dla newbie/tutoriala delikwent ma mózg zapchany uproszczeniami, ale o tym nie wie. Dlatego właśnie książki takie jak "Thinking in C++" po tutorialu przeczytać trzeba. Symfonia lub tutorial dla początkujących nauczy klepać koszmarnie słaby kod i da podstawę do zrozumienia książki, która nauczy programować.
Symfonia jest dobra do nauki teorii. Te przyklady sa tak smieszne i glupie ze ja nawet ich nie przerabialem. Code style w symfonii to jedna wielka PORAZKA.

Offline gotji

  • Użytkownik

# Październik 04, 2012, 14:21:16
olo16
To nie są "złe praktyki". Z tego co napisałeś wynika, że nie podoba Ci się tylko sposób w jaki autor przekazuje wiedzę. Jestem w stanie to zrozumieć.

Ta książka jest dobrze przyswajalna przez osoby nie posiadające bladego pojęcia o programowaniu. Te wszystkie przykłady na zwierzątkach, samochodach etc. ułatwiają pojęcie zagadnienia. Dużo łatwiej uczyć się czegoś co można przenieść do świata rzeczywistego niżeli czystej abstrakcji.

Reimplementacja kontenerów pozwala dobrze przyswoić sobie temat wskaźników co często jest problemem dla początkującego programisty.

Offline hfjh

  • Użytkownik

# Październik 04, 2012, 14:57:35
Nie czytałem "Symfonii", ale po krytyce ola16 wypadałoby zaproponować jakąś alternatywę. Oto i ona...
Uczyłem się z książki "Język C++. Pierwsze starcie" (Zbigniew Koza, wyd. Helion). Konkretnie napisana i unikająca uproszczeń. W zasadzie po paru latach programowania nie mogę książce nic zarzucić*. Uczy STL (np. std::vector jest wprowadzony jeszcze przed tablicami, są też dwa rozdziały poświęcone standardowym kontenerom, algorytmom), jest też przykład implementacji wektora. Bardzo dobry podręcznik, zdecydowanie warty polecenia. I można bez wyrzutów sumienia spiracić, bo Helion już go nie sprzedaje ;)

EDIT: Jednak sprzedaje, jako e-book, za 32 zł.

* poza używaniem Dev-C++
« Ostatnia zmiana: Październik 04, 2012, 15:00:01 wysłana przez hfjh »

Offline Xender

  • Użytkownik

# Październik 04, 2012, 14:59:35
@gotji - Nie chodzi o sposób przekazywania wiedzy. Stwierdzenie, że OOP jest 1:1 ze światem rzeczywistym jest po prostu błędne. Dostarczanie zupełnie bzdurnych przykładów zamiast takich przynajmniej odrobinę sensownych nie pomaga odbiorcy w wyobrażeniu sobie zastosowania dla tego wszystkiego. Pamiętam, że po przeczytaniu Symfonii pytałem "Ale na co mi te klasy?".

Dodatkowo ledwo liźnięta tematyka projektowania - tak, że lepiej już byłoby nic nie wspominać.

Nic o wykorzystaniu biblioteki standardowej.

O Pasji tylko wspomniałem, że to jeszcze większy syf:
Implementacja kontenerów ma niewiele do wskaźników. Rozpisywanie się na kilka rozdziałów o wszystkich kontenerach i ich implementacji, zamiast pokazać wykorzystanie istniejących i standardowych. Zwłaszcza, że wskaźniki są z pierwszej części Symfonii, czyli o wiele wcześniej.

Offline gotji

  • Użytkownik

# Październik 04, 2012, 15:38:51
olo16
Poprosiłbym o jakiś cytat popierający zarzuty. Autor nawiązuje do świata rzeczywistego prawdopodobnie w przypadku dziedziczenia i  to jest podejście praktycznie każdej książki, artykułu etc. próbującego wytłumaczyć to zagadnienie.

Ta książka nie jest o projektowaniu. Na ten temat jest masa innych książek nie związanych stricte z danym językiem.

O Pasji tylko wspomniałem, że to jeszcze większy syf
Używasz bardzo mocnych słów. Może trochę pokory? To że książka nie trafia w twój gust nie znaczy, że jest "syfem".

Offline pluton

  • Użytkownik

  • +2
# Październik 06, 2012, 04:14:48
Widzę, że wywiązała się zaciekła dyskusja, ale myślę, że każdy kto już trochę programuje przyzna rację, że po przeczytaniu jednej książki nikt programowania się nie nauczy. Większość z tych książek trzeba chociaż przejrzeć a potem jeszcze często wracać do którejś z nich.
A co do złych praktyk to w każdej książce coś takiego się znajdzie, ale im więcej materiałów się na dany temat przeczyta tym lepszy pogląd można sobie o nim wyrobić. Tak więc trzeba czytać, czytać i jeszcze raz czytać ;)