[C++] Jakie książki i kompilator na dobry początek


(uszaty_pl2) #1

Jakie książki/ książkę, a także jaki kompilator polecacie do nauki C++? Wiem, że ten temat byl poruszany wiele razy, ale większość z tematow ma ponad 2 lata.

P.S. Jeżeli nie ten dział to proszę o przeniesienie.


(Szala90) #2

najlepiej jakbyś robił na visual studio programy ewentualnie polecam dev c++ a książkę hmm w necie jest coś takiego jak "c++ od zera do gier kodera" w miare dobrze opisane i nie musisz wydawać pieniędzy :smiley:


(Zulowski) #3

Visual Express C++ (darmowe, również komercyjnie)

Jerzy Grębosz - Symfonia C++

Bardzo wielu od tego zaczynało, nikt złego słowa nie powie.

DevCPP stanowczo nie polecam , porzucony, nie rozwijany, błędnie kompilujący ...

"od zera do gier kodera", kiedyś ściągnąłem ten kurs, zawiera błędy, które skutecznie zniechęcają do dalszej nauki (przepisujesz wszystko, nawet nic nie zmieniasz, a nie działa).

Nie mówię, że kurs jest zły, ale na prawdę warto zainwestować w wersję papierową, przyjemniej i wygodniej.


(uszaty_pl2) #4

Czyli jednak Synfonia, ale Standart tak??


(Zulowski) #5

Raczej tak, ja mam tą starszą, 3 tomową wersję, teraz jest 2 tomowa, ale myślę, że to to samo :slight_smile:

Ta pozycja spokojnie wystarczy, żeby mieć solidne podstawy i zrozumieć "o co chodzi".

Wiadomo, polimorfizm czy wskaźniki nie są aż takie proste do zrozumienia, ale to to już doczytasz chociażby na 4programmers.net


(kijek) #6

Od kiedy Visual Studio, Dev-C++ są kompilatorami? Jeśli chodzi o kompilator, to gcc (g++). A jeśli o środowisko, to polecam Code::Blocks. Dev-C++ ogólnie odradzam, ponieważ jest już nieaktualny, ma problemy ze składnią i brak mu kilku rzeczy.


#7

Dev ma braki kilku rzeczy ? No chyba coś ci się pokiełbasiło. Dev'owi brakuje wszystkiego łącznie z co najmniej miernym kompilatorem nie mówiąc już o debuggerze. Siedzi tam stara wersja MiniGW oparta na gównie zwanym gcc( o tym za chwile ). Toto coś przepuszcza rozmiar tablicy jako zmienną ( i to nie przez new . Jak zaczniesz wskaźniki stosować to to to coś losowo generuje kod, cholernie trudny do debuggowania a czasami niemożliwy bo z niewyjaśnionych powodów nie dział a( gdzie na dobrych kompilatorach działa - o tyj też za chwile ). Debugger od deva zna chyba jeden błąd - "brak średnika prze czymś tam ... ". Generalnie dev to zuo !

Co do gcc - no cóż, o ile wspiera dobrze C (z tego co wiem to Ansi nie wiem czy KnR też ), jednak c++ to tragedia. Już dawno nie wspiera standardu, generuje niewydajny kod, a czasami zle działa. Gcc jest archaiczne i niepoprawne, trwają prace nad zgodnością z C++ 98 (lol) gdzie po drodze był 03 i trwają prace nad 20xx( chociaż nie wiadomo czy wyjdzie to na dobre).Gcc nie dorasta do pięt żadnym dobrym kompilatorom pod względem zgodnosci z ISO, szybkości i jakości kodu.

Jeśli chcemy jakiś dobry kompilator to polecam od visual studio - MS zrobił swietny kompilator c++/cli. Niemal ze w całości wspiera ISO no i dodaje dodatkowe funkcjonalności swojej implementacji języka np. słówko array i wiele innych ale o tym to MSDN wam powie. Jest darmowy i świetny( zresztą jak całe VS ). Dalej to jeszcze intel ma swój kompilator i też podobno zgodny aczkolwiek nie testowałem go.

Co do ide to nie ma innego lepszego od Visual Studio. Nie mówię to z jakiejś mody, ale popiszesz parę naprawdę dużych projektów to zobaczysz, że opcje debuggingu w visualu czy piaskownica to coś wspaniałego, nie mówiąc o podpowiedziach, czy kolorowaniu błędów w nowej wersji. Mam zamiar potestować netbeansa więc na jego temat jeszcze sie nie wypowiem, jednak eclipse to krowa która raz na godzine przerzuci ogon, turbo c++ taki sobie , c++ builder 6 - tragedia. Oczywiście polecam wszędzie ładować kompilator micsrosoftu.

Co do książki - symfonia ale nowa. Stara zawiera błędy i techniki przestarzałe które wyszły. Z tym, ze jest trywialnie napisana naprawdę. Polecam również "Inżyniera oprogramowania c++ " z serii core lepszym językiem , a dla ludzi co wiedzą coś o programowaniu ( a raczej dużo wiedzą ) to "Język c++" twórcy c+ czy Bjarna Stroupstupa. Książka zawiera pełen opis języka jednak jest napisana w czysty profesjonalny sposób bez jakichkolwiek wzmianek na temat programowania ogólnie. Z tego powodu polecam również drugą jego książkę traktującą o programowaniu , technikach, jak to ogranąć, a c++ używa jedynie jaklo narzedzia implementacji swoich "nauk"czyli "Programowanie. Teoria i praktyka z wykorzystaniem C++".

Moim zdaniem optymalnym zestawem są trzy ostatnie ksiażki. Symfonie polecił bym każdemu kto nie ma zielonego pojęcia o programowaniu, w przeciwnym razie się nudzisz, ja przynajmniej się nudziłem i irytowałem jak mi Grębosz tłumaczył na około trzy razy pod górkę idee wskaźnika.

Dlaczego właściwie jedynie 3(Intel, Visual Studio, Borland Builder 2010) kompilatory szczycą sie zgodnością ISO ? A no bo c++ jest posrany. Usłyszałem pewną opinieo tym - każdy programista c++ kocha go i nienawidzi na raz. Podpisuje się pod tym w całej rozciągłości. Do momentu jak uczysz się podstaw ( a właściwie podzbioru C )jest ok, jednak potem dochodzą kolejne elementy. Trudne operowanie na abstrakcji jest dodatkowo utrudniane przez toporny język. C jest mały i zwinny, a c++ obrósł, starając się być kompatybilny z C i jednocześnie wnieść się na wyższy poziom. Teraz idą słuchy ze w nowym ISO będzie GC co może pomów jednak język wysoko-niskopoziomowy dostanie takie narzędzie to będzie totalny mikser, aczkolwiek chciał bym zapomnieć co znaczy delete ;p

Tak czy siak przez to mała ilość kompilatorów wspiera ISO, a na pewno nie gcc i MiniGW. Ansi C to inna bajka.


(Zulowski) #8

lukas_gab <- napisałeś to, czego mi by się na prawdę nie chciało pisać, porządny post.

PS: nie podobały Ci się "Gwiazdoloty" Grębosza?:d