Thinking in c++ - jestem rozczarowany!

Thinking in c++ - jestem rozczarowany!
DZ
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 10 lat
  • Postów:66
0

Oczywiście pozytywnie.
Zaskoczył mnie sposób w jaki autor wprowadza czytelnika do obiektowości.
Schematy UML, dokładne opisania dziedziczenia, funkcji wirtualnych etc...
jestem po pierwszym tomie Symfonii c++ Standard i muszę stwierdzić, że informacje zawarte właśnie w niej są jakby... zwykłym laniem wody w porównaniu do Thinking in c++.
Przyznam, że książkę czyta się ciężko ale dużo można się nauczyć.... Bardzo podobają mi się zadania na końcu rozdziałów :)


Programista uczy się całe życie....
Bartosz Wójcik
jak można być rozczarowanym pozytywnie, bierzesz coś? dobre SEO robisz autorowi :)
sephirot8608
krytykuje Grębosza a już mu się przyjęły techniki "zakazanego owocu" ;)
DZ
Dlaczego zakazanego?
sephirot8608
"Nie czytaj tego!" - Twój temat działa podobnie :D
DZ
Aj nawet o tym nie myślałem tak naprawdę.
0

mam podobne zdanie. Wiele osób na moim kierunku uczyło się z Symfoni (Ja jej nigdy nie czytałem) i wydaje mi się że symfonia opisuje jakiś inny standard(bądź po prostu starszy). Tak że według symfonii wielu rzeczy w c++ się nie da zrobić, a Eckel twierdzi co innego (jako przykład prywatny konstruktor i tworzenie instanji takiego obiektu). Takich rozbieżności było sporo i czasami czułem się jak heretyk na zajęciach do momentu pokazania fragmentu z "tej okropnej książki".

Natomiast drugi tom faktycznie Mnie rozczarował.

Zobacz pozostałe 7 komentarzy
DZ
I nie myślę, że na jednej publikacji. Lubię czytać....;]
LG
Wiesz. Ja naukę C++ zacząłem od jakiegoś tam kursu w sieci (notabene przyniosłem go na dyskietce z kafejki internetowej), potem symfonia, Inżynieria prog. c++,pasja c++, 3/4 manuala gcc, z tone MSDN'a ( przy czym jest to jego promilowa część ) i dalej się uczę, mimo, że mam parę większych projektów za sobą, nawet komercyjnych.
LG
Powiem, że według mnie łatwiej nauczyć się ASM i dobrych technik pisania w nim, niż c++. ( co innego c )
DZ
Przecież programista się ciągle uczy... :) To całkiem zrozumiałe co piszesz. Ale to nie znaczy, że trzeba dziesiątki ksiązek kupować.
LG
ech ... sam zobaczysz ;p Wesołych Świąt - nie programuj w wigilie. Kurde , jak mi się nie chce ...
DZ
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 10 lat
  • Postów:66
0

Nie może Symfonia opisywać innego (starszego) standardu a szczególnie dlatego, że została później niż Thinking napisana...


Programista uczy się całe życie....
edytowany 1x, ostatnio: Dr Zielu
0

pierwsze wersje symfoni wychodziły pod koniec lat 90 i nie jestem pewien czy nie było to ansi c. Chociaż Ja się tym zajmowałem jakieś 5 lat temu więc mogę co nieco niepamiętać.

DZ
Nie było... bo wtedy by się to nie nazywało "Symfonia C++" :)
LG
Nie. Może myślisz, o książce twórców C ? Ona miała właśnie taki tytuł ( język ansi c ). Grębosz napisał książkę o c++ a potem ją uaktualnił do standardu i wydał jako symfonia standard i zaleca nie czytania starej wersji. Jakby nie mówić, o jego kiepskim stylu, infantylności, etc. etc. to mówienie, że wiedza tam przekazana jest nierzetelna jest po prostu kłamstwem. Opisywany materiał w starej jest zgodny z językiem z przed standaryzacji, natomiast nowa wersja jest w standardzie. To, że były rozbieżności z kursem i kolegami to tylko wina dobrania złych książek a nie autora.
DZ
lukas ja nigdzie nie powiedziałem, że materiał w niej zawarty jest nierzetelny... ;)
LG
Nie widziałem Twojego komentarza - odnosiłem się do postu @Moskitka
MO
lukas_gab - tak masz rację. Z tym że kiedy Ja to czytałem symfonia opisywała trochę starsze rzeczy więc może stąd thinking wydawało mi się bardziej poprawne. btw. po prostu nie wiedziałem że symfonia c++ a symfonia c++ standard to dwie różne książki (w sensie jedna jest po prostu nowsza).
Johnny_Bit
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 8 lat
  • Lokalizacja:Kielce
1

odnośnie książek do C++ to przejrzałem sporo, korzystałem z bardzo dużej ilości i mam już kompletnie uformowane opinie:

  • Symfonia C++ standard to książka gruba, acz żałosna pod względem treści i poprawności merytorycznej. Gdyby wyrzucić z niej zbędne treści, bzdury, dopasować kod do standardu zalecanego jak algorytmy w bibliotece standardowej itp, cała księga zmieniła by się z tomiszcza w podręcznik kieszonkowy.
  • Thinking in C++ - dobra pozycja, ale tylko tom 1, tom 2 to głównie brak treści której potrzeba. Tom 1 nie będę się rozczulał, bo jest po prostu dobry. Nie jest w żadnym wypadku bardzo dobry ani wyśmienity, ale dobry. Tom 2 to próba upchnięcia informacji z kilku ksiąg w jeden tomik, a dodatkowo marnowanie miejsca na opis biblioteki zthread. W innych rozdziałach autorzy myśleli że uda im się upchnąć wyjaśnienie wszystkiego na 3/4 strony a5 i to dużą czcionką - wyszło z tego tyle że można się dowiedzieć tyle, że dany element jest, ale do czego słuzy, jak użyć itp to zabrakło miejsca.
  • szkoła programowania język c/c++ - 2 dobre książki od których polecam zacząć naukę programowania w tych językach. każde zagadnienie jest wyjaśnione łopatologicznie, ale nie infantylnie. pozycja dobra do nauki również ze względu na dobre podejście autora do podstaw - wyjaśnia co się dzieje, przez co można dojść do tego, czemu w określonym miejscu określony kod nie robi tego co my chcemy.
  • C++ od podstaw - polecam uzyć jako podstawkę pod nogę krzesła/biurka, pod szafkę z prawdziwymi książkami, jako podpałkę na ognisku... nic ponad to.

tyle książek do C++ mam w języku polskim. po kupnie ostatniej stwierdziłem że nie ma sensu się męczyć z tłumaczami i zabrałem się za pozycje w języku angielskim:

  • Bjarne Stroustrup - The C++ Programming Language - bardzo gruba książka o wszystkim w c++. bardzo dobra, ale trudna w odbiorze w zależności od rozdziału i omawianych elementów.
  • Scott Meyers - wszystkie z serii effective - świetne pozycje uczące języka i wydajności jego stosowania. effective stl daje dużo info odnośnie użycia kontenerów i algorytmów w najlepszy sposób.
  • The C++ Standard Library - A Tutorial and Reference - obowiązkowa pozycja jeśli chce się zrozumieć o co chodzi z wszystkimi elementami biblioteki standardowej.

Ogólnie z doświadczenia wyszło mi że pozycje publikowane przez Addison-wesley są na bardzo wysokim poziomie, a pozycje wydawnictwa Que sa... ogólnie Que nie polecam.

Jeszcze ważny jest rok wydania, najlepiej tak minimum 2-3 lata po wydaniu standardu w jaki celujemy, czyli dla standardu C++11 książki będą dobre do użytki ok 2013roku ;) Do tego dochodzi obsługa w kompilatorach, a z tym jest problem często.


HAKGER - 50% Complete
CI
A co uważasz o "C++ dla każdego. Wydanie II" ? Warto na początek ?
DZ
Jedynie przeglądałem więc dużo nie mogę powiedzieć...ale nawet fajnym językiem jest pisane..zrozumiałe. Bardziej od Thinking jednak na początek pierwszym tom symfonii c++ standard a potem pomyśl o czymś cięższym.
Johnny_Bit
Książki c++ dla każdego nie polecam. jeśli przykłdaowy rozdziała z heliona oddaje to, co jest w całej książce, to lepiej dla Ciebie wziąć szkołę programowania i thinking in c++...
CI
Thinking in c++ mam, tylko widzę, że chyba potrzebuje jeszcze coś przerobić "poziom niżej", żeby zacząć ją. Ta szkoła programowania to to http://helion.pl/ksiazki/jezyk-c-szkola-programowania-wydanie-v-stephen-prata,cpprim.htm ?
Johnny_Bit
dokładnie ta. jak widze nie jest już dostępna...
arasso12
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 5 lat
0

Ja przebrnalem chyba do 250 strony, jakos mi ta ksiazka nie pasuje... Co innego Xion.


non omnis moriar i tyle :-)
0

A co od drugim tomie Thinking myślicie?
Opłaca się go przerabiać czy tego to już można "we własnym" zakresie sie douczyć?

KO
Zawszę opłaca się czytać, wszytko co wpadnie Ci w ręce. Nawet jeżeli uznasz książkę za nieudaną, to będziesz później miał jakiś ogląd, porównanie..
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)