Czy zaczęcie nauki od C++03 będzie złym wyborem jeśli jest już C++11 i C++14?

0

Witam,
przeczytałem co nie co o różnych standardach w języku C++. Tak się składa, że sporo materiałów, z tego co przejrzałem, jest jeszcze oparta o C++03. Czy warto w takim razie zaczynać naukę C++ od ostatniego wydania Symfonia C++ Standard Grębosza, które jest napisane jeszcze zgodnie z C++03? Czy byłaby to nieefektywna decyzja z mojej strony? Czy różnice na poziomie początkującego są na tyle duże, że nie warto potem marnować czasu na "przestawienie się" na C++11 i lepiej od razu zacząć z nowym standardem?

Mam jeszcze jedno pytanie - znam język angielski wystarczająco dobrze, by książki po angielsku nie sprawiały mi większych trudności - czy w takim wypadku warto w ogóle brać się za polskie materiały? Po prostu słyszałem dużo dobrych opinii o Symfonii C++.

Pozdrawiam :)

0

Przejrzyj inne wątki, było już wiele razy.

0

Nie widzę nic złego w uczeniu się C++03.
I tak trzeba znać podstawy, a o nowościach to możesz doczytać osobno.

0

@fourfour - Szukałem na forum, ale pod hasłami w stylu C++11, C++03, standard, iso nie znalazłem żadnej odpowiedzi. Nie chcę być źle zrozumiany - nie chodzi mi o wypisanie listy zmian jakie wprowadził nowy standard, to mogę sobie sam znaleźć, jednak dla mnie jako osoby początkującej niewiele one mówią. To co chciałbym się dowiedzieć, to czy są one duże w takim stopniu, że stare materiały stają się nieefektywne, czy wada wynikająca z zaczęcia nauki od C++03 jest mniejsza niż zaleta wynikająca z lepszej jakości i dostępności (moim zdaniem) materiałów?

3

@Bob_W w sumie to odniosłem się do drugiej części Twojego posta - dotyczącej Symfonii i znajomości języka. Jeśli dajesz radę czytać książki po angielsku, to zapomnij o Symfonii. Jeśli nie dajesz rady, to też zapomnij o Symfonii.

0

Rozpatrując tylko polski rynek, uważasz, że Symfonia nie jest wartościowa właśnie przez to, że się "zdezaktualizowała" czy z jakiś innych względów? Jeśli chodzi o angielskie książki myślałem o C++ Primer.

3

Po prostu zacznij się uczyć C++ (niezależnie od standardu). W trakcie nauki sam odkryjesz, że być może warto zamiast funktora użyć lambdy albo jeszcze lepiej napisać generyczną lambdę.

Abstrahując trochę od głównego wątku, na tę chwilę ciężko znaleźć pracę w C++, w której można by pisać tylko w C++11/14.

1

Prawie wszystko ze standardu C++03 jest w standardzie C++14 i trzeba to znać (czyli nie da się uniknąć rzeczy starych ucząc się tylko nowych), więc książki sprzed C++14 czy sprzed C++11 są wciąż wartościowe i można się z nich uczyć.

Do tego, standardy to są tak naprawdę na papierze. Kompilatory obsługują nowe rzeczy w mniejszym albo większym stopniu, a jeśli trafisz gdzieś do pracy to nie spodziewaj się że wszystko tam będzie nowiutkie z kompilatorem włącznie. Bardzo częsta jest sytuacja "no, w C++XXX to by się to dało zrobić tak czy siak, no ale my tutaj tego użyć nie możemy".

0

A czy wy podzielacie zdanie @fourfour o Symfonii Standard Grębosza? Czy wypada ona blado przy angielskich materiałach?

4

Ja bym sugerował uczyć się tylko najnowszych praktyk, a starszych wyłącznie gdy zajdzie taka potrzeba (czytanie muzealnego kodu, interakcja z archaicznymi bibliotekami). Wbrew pozorom, pisząc nowy kod, jest tego bardzo mało (w pracy używam C++14, boosta i Qt).

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