ksiazki do c++

0

tak, wiem ze jest mnostwo watkow na ten temat, ale chce doprecyzowac pytanie: jakie ksiazki do c++ polecacie teraz, w 2021 roku? oczywscie chodzi o najnowsze wydania. czytalem kawalek opus magnum na stronie heliona, wydaje sie w porzadku, ale sa skrajne opinie na jej temat i bardzo sie waham, szczegolnie, ze cena wysoka, podobno uczy przestarzalych rzeczy i nie wspomina o waznych zagadnieniach, inni zas pisza, ze jest wspaniala i w ogole super.

dodam tylko, ze jestem mega poczatkujacy.

0

@knum103: "Programowanie. Teoria i praktyka z wykorzystaniem C++" - Bjarne Stroustrup

0

Nigdy nie mogłem się przemóc do czytania Grębosza, czy to kiedyś Symfronii, czy teraz Opus Magnum. Zawsze nieodmiennie mnie wnerwiało stosowanie polskich identyfikatorów, w rodzaju class uchwyt { /* ... */};. Wynika to pewnie z tego, że Grębosz jest z backgroundu fizykiem, a nie takim stricte czystym programistą.

A co do książek, spokojnie możesz się sugerować starymi postami z ich listami, ponieważ i tak nauka przeważnie wygląda tak:

  • Uczysz się "starego" języka (C++98)
  • Uczysz cię tego, co dodały/poprawiły nowsze standardy

Sporo nowszych książek do C++11/14/17 jak i wszelkiego rodzaju blogów, prezentacji i materiałów zakłada, że "stary" standard już znasz i tylko wypisują nowości, różnice i usprawnienia. Poza tym czas spędzyon na lekturę "starych" książek nie jest stracony, bo "stary" styl i tak się wszędzie poniewiera, i tak musisz go znać i rozumieć, by skutecznie działać w tym języku. Dla przykładu, nowoczesny C++ zaleca unikać new/delete i zamiast tego stosować tylko sprytne wskaźniki, podobnie zaleca używać wektory/std::array zamiast tablic C, co nie zmienia faktu, że i tak trzeba te "stare" konstrukcje znać, bo dalej się poniewierają wszędzie w kodzie. "Efektywny C++" Meyersa ma już ponad 15 lat, a i tak każdy programista C++ powinien go przeczytać. A podstawowy rdzeń, jakim jest język C, dalej dobrze się uczyć z K&R, które ma już ponad 40 lat. Zatem o ile najnowsze standardy i możliwości języka trzeba poznać z nowszych materiałów, to do podstaw wcale nie trzeba być zafiksowanym na najświeższych wydaniach.

0

@knum103: skoro jesteś początkujący to właśnie te przestarzałe rzeczy jak np. zmienne i wskaźniki są Ci potrzebne

0
Miang napisał(a):

@knum103: skoro jesteś początkujący to właśnie te przestarzałe rzeczy jak np. zmienne i wskaźniki są Ci potrzebne

ja sie tylko boje, ze dana ksiazka nauczy mnie stosowania takiego a nie innego sposobu pisania kodu, który później okaże sie zly i trzeba bedzie to odkrecac. jak to będzie wygladac po opus magnum? Np po fragmencie widze ze ksiazka pisana prostym językiem i dotrze do początkującego jakim jestem

0

Jak mam do Grębosza ogromny szacunek tak jego książki nie trafiają do mnie kompletnie. Nie są jakoś bardzo złe, ale ja ich nie lubię po prostu.

No i pytanie drugie: uczysz się nowego C++ czy starego i pod kątem czego?
Bo imho od standardu C++11 takie rzeczy jak wskaźnik czy new/delete są wręcz szkodliwe i będą przeszkadzać. IMHO: nie kupuj Symfonii.

EDIT: w anglojęzycznym necie ludzie polecają C++ Primer Lippmana, Lajoie, Moo. Nie wiem, nie czytałem, musiałbym chociaż przejrzeć.

0

chce sie uczyc pod katem studiow

alagner napisał(a):

IMHO: nie kupuj Symfonii.

to wiem, bo juz sie naczytalem ze opus magnum to po prostu zaktualizowana symfonia, poza tym bardzo stara

Jestem naprawde kompletnym laikiem, na stronie Heliona znalazlem kilka ksiazek i przeczytalen fragmenty i niektóre nie trafiaja do mnie, jezyk jakis taki za trudny, a Grebosz ponoc (sam tez to sprawdzilem) pisze prostym jezykiem.

Kurde, sam juz nie wiem, napisalem ten watek zeby sie przekonac na 100% do kupna lub nie kupna opus magnum, a tu jeszcze więcej watpliwosci...

0

@MisiekNaLuzie: co polecasz? C++ 98?

0

@knum103: Przeczytałem cały "Opus" razem z 4 tomem ("Misją w nadprzestrzeń") i uważam, że dobrym wprowadzeniem jest 1 tom opusu - nie cały, i lepiej kontynuować czytanie od "Szkoły Programowania" Prata - dlatego że przykłady kodu tam są krótsze i mniej zagmatwane. Książek do c++ na rynku nie ma dobrych według mnie. Stare pozycje po angielsku które przecierały szlaki (Complete guide czy coś w tym rodzaju) mi bardziej odpowiadały niż polskie, jednak są już w dużej mierze nieaktualne. Pamiętaj jednak że przeczytanie książki o języku jakiejkolwiek, nie wiele ci da, jeżeli nie będziesz rozwiązywał zadań i kodował - ale to chyba oczywiste

0

Dobra, przeglądnąłem zajawkę nowego wydania (C++11) C++ Primer Lippmana et. al. Nie wiem jak całość, ale fakt, że po podstawach typu if/for/while omawiana jest biblioteka standardowa (kontenery i <algorithm>) a wskaźniki, new oraz delete pojawiają się daleko za std::vector mnie bardzo przekonuje. Wytłuszczenia "nie używaj new tam gdzie możesz użyć vectora" przekonują mnie jeszcze bardziej (udostępniony jest rozdział poświęcony pamięci: new pojawia się przy "Allocators" w rozdziale "Advanced topics" czy okolicach). @knum103 nie wiem czy chcesz tego C++ nauczyć się tak, żeby zaliczyć, czy wolisz nauczyć się dobrze. Jeśli to drugie: zaryzykowałbym tego Lippmana. A jeśli będą tam uczyć C z klasami, to problem uczelni ;)

EDIT: przeglądam całość, jestem na początku. Wskaźniki jak @Miang słusznie mi zwraca uwagę są też gdzieś na początku książki. Mam uczucia mieszane szczerze mówiąc, bo z jednej strony często w legacy kodzie się pojawiają. Z drugiej: znowu jest im poświęcone imho sporo miejsca.
Ogólnie to się wszystko chaotyczne trochę wydaje, i o ile wskaźniki mogę jeszcze od biedy wybaczyć, ale ładowania decltype do początkowych rozdziałów to ja w ogóle nie umiem zrozumieć.
Arraye w stylu C, a jakże <facepalm>.
EDIT2: przelglądam nowego Primer Plus Praty jeszcze i łapie mnie takie przemyślenie, że autorzy tych podręczników za nic nie chcą opuścić myślenia w stylu starego dobrego C. Prata pisze nawet wprost:
"No discussion of C or C++ functions would be complete without mention of pointers tofunctions." [podkreślenie moje]. Noż jasny gwint, wychodzi na to, że do znajomości C++ trzeba się najpierw nauczyc C a potem go zapomnieć. Ew. mieć wytłuczonym z głowy przez kolegów podczas code review.

0

Dobra czyli podsumowujac - opus magnum warto kupić jak nie szkoda kasy, jak szkoda to lepiej poszukać innych pozycji?

A co powiecie o książce C++ w 24 godziny? Kolega miał taką samą tylko ze do javy i nie narzekal, bardzo mu sie podobala, mówił ze fajnie go wprowadzila do javy a pozniej przesiadl sie na jakies bardziej zaawansowane podreczniki

0

@knum103: Żeby być szczery - to trochę wynudziłem się przy Opusie (specyficzny styl pisania). Nie byłem też zadowolony z braku umieszczenia w nim odpowiedzi do ćwiczeń. Ale są za to na stronie pana Grębosza i chwała mu za to. Przerobienie tych zadań da naprawdę solidną wiedzę jednak trzeba na to poświęcić naprawdę masę czasu - nie każdy tyle ma. Bez przerabiania zadań nie ma sensu czytać Opusu.

0

To moze zadam pytanie inaczej- czy u Grebosza naucze sie jakichs zlych nawykow i jeśli tak, to czym (np. jaką kolejna ksiazka lub źródłami w necie) to skorygowac?

1 użytkowników online, w tym zalogowanych: 0, gości: 1