Wpis z mikrobloga

Z racji tego, że w końcu przyszła mi wypłata i od miesiąca sumiennie, nadal z ochotą uczę się #cpp, to stwierdziłem, że warto by było zabrać się za to już troszkę bardziej profesjonalnie (w sensie za naukę) i przeczytać jakąś książkę.

Wiedzę jakąś już posiadam, a przynajmniej podstawy. Na dany moment mam problem na pewno ze zrozumieniem:

- Wskaźników (wiem, że przyśpieszają pracę programu i zawierają adres bezpośrednio np. do konkretnej zmiennej w tablicy, ale pasowało by to rozbudować);

- Pamięci (ogólnie podstawy pamięci, zarządzania nią... w sumie wszystko by się przydało, bo temat u mnie leży);

- Zabezpieczeń (tutaj znowu czasem mi się zdarzają pomyłki z poprawnym określeniem warunku);

- Przekazywania danych pomiędzy funkcjami (też by się nieco przydało rozbudować wiedzę, bo korzystać umiem, ale nie zawsze jest dla mnie zrozumiałe, dlaczego coś działa lub nie);

- Ogólnej optymalizacji kodu;

No i teraz pytanie. Jaką książkę kupić, by te informacje uzupełnić? Typy mam dwa: Symfonia C++ lub Thinking in C++ T. 1 Co wy byście polecali? Która z tych dwóch lepsza? Ew. coś innego, lepszego?

#naukaprogramowania #pytanie
  • 17
@Lux_Aeterna: Szczerze mowiac zadnej. Na tym etapie zadna ksiazka Tobie nie pomoze a jedynie praktyka. Rzeczy, z ktorymi masz problemy wynikaja glownie z braku doswiadczenia. Zamiast marnowac pieniadze na ksiazki zainwestuj w redbulle i pisz pisz pisz. Potem Efective Modern C++ sobie kup i ogladaj YT z wykladami z CppCon itd.
@simia: Symfonia akurat pomoże, a przynajmniej wyjaśni gdzie robi problemy.

@Lux_Aeterna: Wskaźniki na razie zostaw, tak samo zabawę pamięcią. Ogarnij najpierw klasy, STL, template'y i wszystko inne co podstawowe. Dopiero wtedy wskaźniki i pamieć.
@simia: Mam obie ksiażki które wymienił @Lux_Aeterna i na samym początku faktycznie pomagają. Później faktycznie tracą sens, i lepsze stają się inne źródła o tym jak pisać kod. Weź pod uwagę że op ma problem z przekazywaniem zmiennych. Metoda prób i błędów nie jest tu najlepszym rozwiązaniem. Znacznie lepiej dostać informacje jak to w teorii działa a potem samemu wszystko dokładnie sprawdzić niż odkrywać to "po omacku".
@Hiranus: Zeby dowiedziec sie jak przekazywac zmienne nie potrzeba wydawac 100 zl na ksiazke liczaca 1200 stron. Cala potrzebna wiedze mozna uzyskac szybciej, lepiej i taniej w internecie. Ksiazki sa dobre do systematyzowania wiedzy, wyjasniania zaawansowanych tematow itd. Nauka podstaw programowania nie wymaga ksiazek.
@simia: Tyle że właśnie symfonia jest od poziomu podstawowego do średnio-zaawansowanego. Poza tym kto każe mu kupować nówkę? używka, nawet podniszczona za połowę tej ceny nada się dokładnie tak samo.
A co do tego że nauka podstaw nie wymaga książek (dodatkowego źródła informacji)- tu się nie zgadzam. Nie każdy ma taki zmysł (dar?) do tego że wystarczy pokazać mu 5 przykładów, dać dokumentację techniczną i poradzi sobie. Niektórzy potrzebują dodatkowego źródła
@Lux_Aeterna: Na 64bit maszynie address będzie miał te 64bity czyli 8 bajtów. Stosowanie zwykłego 4 bajtowego inta będącego indeksem wektora z obiektami jako elementu często przeglądanego kontenera zamiast wskaźnika do docelowego obiektu może być w wielu przypadkach dużo szybsze.

@KrzaQ2: świetna prezentacja https://www.youtube.com/watch?v=vElZc6zSIXM
ale ta odpowiedź prowadzącego że niektórych tych pomysłów nie sprofilowali trochę ją niszczy.