SYMFONIA C++ Pasja C++


(Kubal92) #1

Witam.

Czy te 2 książki są pod Buildera 6?

http://allegro.pl/item410127040_symfonia_c_pasja_c_komplet_4_ksiazek_wys_0.html


(Fiołek) #2

W Pasji programy działają pod Builderem, z Symfoni C++ niektóre nie, ale jest wyjaśnione dlaczego. Ogólnie, radzą zmienić IDE bo ono używa "trochę zmienionej" wersji C++, lepiej Visual C++ lub Eclipse + GCC. Osobiście polecam Visuala.


(Bartoszlenar) #3

potwierdze po czesci wypowiedz kolegi powyzej.

jurek grebosz o ile pamietam wszysko kompilowal w gcc 3.x oras visual studio 6.0


(Orsonpel) #4

Polecam: http://www.intercon.pl/~sektor/cbx/

I niech cię ręka Boska broni od Builder'a. Ino gcc :slight_smile:


(Kubal92) #5

Czyli najlepiej przerzucić się na gcc lub visuala?


(Fiołek) #6

Tak, Builder ma własne standardy i dlatego jest zły.


(Orsonpel) #7

Najlepiej na gcc. Zgodność z wszystkimi normami, porty na różne platformy etc.


(Fiołek) #8

Ciekawe skąd masz informacje, że GCC jest zgodny w CAŁOŚCI ze standardami? Visual C++ jest nawet bardziej zgodny(nie dam sobie ręki uciąć, ale wiele razy to słyszałem).


(system) #9

Wszystkie niezgodności gcc są w lepszą stronę, np:

int N;

cin>>N;

double T[N];

to poprawnie skompiluję się tylko w gcc. Natomiast niezgodności Visuala nie wszystkie są w lepszą stronę.

A tak a propos, Fiołek , jak definiujesz lepszą zgodność? :lol:


(Fiołek) #10

Ja wolę to zrobić normalnie, dynamicznie, zgodnie ze standardem(i przy okazji nie narażając się na błędy).

Odwracając Twoje zdanie: nie wszystkie niezgodności GCC z ISO są dobre.

Nie rozumiem pytania("A tak a propos...". Dla mnie "zgodność ze standardami" ma tylko jedną definicje - zgodność z ISO.


(system) #11

Może jakiś przykład?

Dla mnie też. Ale ja pytałem o twoją definicję " lepszej zgodności". :stuck_out_tongue:

Czy to coś w rodzaju bardziej w ciąży... ?


(Fiołek) #12

Ja tylko odwróciłem twoje zdanie.

Jakbyś dobrze zinterpretował zdanie to byś wiedział, że porównywałem do GCC. Lepsza(większa) zgodność ze standardami(Visual C++) od GCC(niepotwierdzone).


(system) #13

Ja podałem przykład potwierdzający moją tezę, ty odwracasz zdanie i uważasz to za argument?

Wiem co porównywałeś jedynie nie rozumiem pojęcia lepsza(większa) zgodność. Zgodność albo jest albo jej niema. Nie istnieje czegoś takiego jak lepsza(większa) zgodność. Co najwyżej możemy mówić o tym jakie to są niezgodności. Jako przykład w poprzednim poście podałem niezgodność gcc która pozwala na coś co w standardzie jest zakazane.

Czy TO nazywasz lepszą zgodnością?

Co do symfonii, to już duuuużo tu pisano o tym, zwolennicy symfonii chwałą tą książkę ale nie mają żadnych argumentów popierających to chwalenie. Podejrzewam że wydali dużo kasy na nie wiadomo co i nie chcą być jedynymi poszkodowanymi. :lol: Wg mnie symfonia jest najgorszą możliwą literaturą do uczenia się C/C++, na co już nie raz podawałem na tym forum argumenty.


(Fiołek) #14

Nie podałeś argumentu na to, że "niezgodności Visuala C++ nie zawsze są w dobrą stronę". Ja nie uważam tego za argumentu, ja tylko zrobiłem dokładnie to samo co Ty.

"Lepsza zgodność" to skrót myślowy. Chodzi o to, że Visual jest zgodny z większą ilością punktów standardu niż GCC. Spróbuje zobrazować: przypuśćmy, że GCC jest zgodny ze standardem w 98% a Visual e 99%. Więc wychodzi na to, że Visual jest bardziej(lepiej, więcej) zgodny ze standardami(z większą ilością podpunktów standardu) niż GCC. Rozumiesz?

Nie mam zamiaru udowadniać, że któryś z tych kompilatorów ma więcej bajerków niezgodnych ze standardem bo nie od tego jestem. Dla jednych te rzeczy mogą być lepsze a dla innych gorsze. To jest kwestia subiektywna(ten przykład akurat mnie nie przekonuje).

Ad. opinia o książce pana Grębosza:

Nie mamy argumentów? A to, że książka bardzo wnikliwie opisuje większość aspektów C++ to nie jest argument? To czy ktoś lubi takie rozpisywanie się to już jego sprawa. Faktem jest, że nawet osoba nie mająca większego pojęcia o programowaniu(autor napisał na początku, że powinno się mieć chociaż znikome pojęcie o programowaniu) powinna poradzić sobie z przyswojeniem wiedzy w niej zawartej. A to, że większość osób z małymi problemami od razu leci na forum to nie wina książki a ich lenistwa. Gdyby lepiej przeczytał książkę, zrozumiał by wszystko i naprawił błąd. Ja tak miałem(znałem PHP, ale nie na tyle by coś mi to pomogło, lepszym określeniem będzie znałem składnie i "bibliotekę standardową" PHP) i jakoś nie leciałem od razu na forum. Problemy rozwiązywałem sam. Większość problemów to problemy logiczne. I z tym ludzie lecą na forum, nie z tym, że książka nie tłumaczy czegoś.


(system) #15

Ja podałem przykład niezgodności gcc, taka niezgodność oznacza że jeżeli masz program napisany w zgodzie ze standardem to gcc skompiluje bez problemów, takie są wszystkie niezgodności gcc. Jeżeli możesz podać jakąś niezgodność gcc ze standardami ISO która by spowodowała kłopoty przy kompilacji to proszę podać przykład. Jak narazie wszystkie twoje argumenty to odwracanie zdań powiedzianych przeze mnie.

Czy możesz poinformować skąd pochodzą te liczby, PI razy drzwi jak mniemam?

A od czego jesteś, od odwracania zdań? Nie może być dla kogoś wadą coś co nie przeszkadza, co najwyżej może być bezużyteczne. Natomiast jeżeli nie mogę skompilować bez poprawek w Visualu to jest to bez żadnych wątpliwości wada.

Powiedz mi Fiolku czy moje pytanie odnośnie niezgodności opisanej pod tym linkiem zignorowałeś umyślnie czy tego nie zauważyłeś? http://palisade.plynt.com/issues/2005Jul/security-enhancements/

To nazywasz argumentem? Takie zdanie można powiedzieć o prawie każdej książce na temat C++, i będzie ono prawdziwe.

No dobra zaczniemy od początku.

Powiedz mi czemu mimo ludzkiego lenistwa na tym forum niema pytań zaczynających się od "Czytam książkę .... (nie Symfonie) i nie rozumiem ...", gdyby pytania na forum odnośnie symfonii byli by kwestią lenistwa to czy nie musi znaleźć się jakiś leń który nie chce poczytać dalej i zrozumieć samodzielnie w przypadku innej niż symfonia książki? A może chcesz powiedzieć że lenie czytają wyłącznie Symfonie? Nie bądź leniem - nie czytaj symfonii. :lol:

PS

Te argumenty na temat symfonii już przetaczałem na tym forum, wylądowali w śmietniku, nie będę tłumaczyć czemu bo ten post też tam wyląduje.


(Fiołek) #16

Nie podam, bo NIE MAM. Nigdzie nie twierdziłem, że GCC jest niezgodny ze standardami. Podobnie Visual. Żaden nie jest w 100% zgodny ale też żaden nie jest na tyle niezgodny, że nie da się w nim pisać kodu zgodnego ze standardami. Próbuje Ci tylko uświadomić, że żaden nie jest w 100% zgodny. Każdy ma małe uchybienia. Oba są podobne w kwestii zgodności. To co podałeś to na pewno nie jedyna niezgodność. Wiele razy słyszałem, że tylko jeden kompilator poprawnie obsługuje słowo "export", ale do czego ono się odnosi i jaki to kompilator to nie wiem, ale na pewno nie GCC.

Dobrze myślisz. Żeby nie było, to było zobrazowanie mojego skrótu myślowego :wink:

A czego nie możesz skompilować?

Zignorowałem bo nie zrozumiałem po co podałeś linka. Zbędne bajerki dodane przez MS(podobnie jak pseudo-dynamiczna alokacja pamięci podana w poprzedniej twojej wiadomości).

Tak? Nawet jeśli książka opisuje pobieżnie główne części języka(zmienne, pętle, warunki, preprocesor, klasy -są, polimorfizm, wyjątki - brak, etc., to tylko przykład)? Ale zauważ, to jest FAKT.

A zauważyłeś może, że Symfonia jest jedną z najczęściej kupowanych książek? Inne książki nie są tak popularne, dlatego tak się dzieje. Znam kilka osób które przeczytały Symfonię i nie zadawali takich pytań. Przypuszczam, że gdyby inna książka była bardziej popularna to ona by była w tytule, nie Symfonia.


(system) #17

Więc podsumujmy. Nie masz pojęcia jakie są niezgodności w Visualu a jakie w gcc ale twierdzisz ze Visual bardziej zgodny? Na jakiej podstawie to twierdzisz, jeżeli mogę zapytać? Owszem to co podałem nie jest jedyną niezgodnością, ale wszystkie niezgodności gcc są właśnie takiego rodzaju, czego nie da się powiedzieć o Visualu. Co do export klauzula dotyczy eksportu funkcji przy pisaniu bibliotek DLL, w gcc obsługiwana zgodnie ze standardem.

Zbędnym bajorkiem można nazwać tylko to o czym mogę nie wiedzieć a i tak sie skompiluje. Natomiast w Visualu o ile nie zdefiniuje

#define _CRT_SECURE_NO_DEPRECATE 1

nie da sie użyć kilku bardzo przydatnych funkcji np. strcpy(). Poczytaj uważnie to się zorientujesz http://palisade.plynt.com/issues/2005Jul/security-enhancements/.

To co teraz napisałeś - owszem fakt, ale to samo można powiedzieć o wielu innych książkach, więc ten fakt nie jest argumentem na to że właśnie ta jest lepsza. Natomiast to co powiedziałeś wcześniej: "A to, że książka bardzo wnikliwie opisuje większość aspektów C++ to nie jest argument?" nie jest faktem, jedynie subiektywną oceną a z tego powodu nie jest też argumentem.

Ja znam kilka osób którzy przeczytali D.E.Knuth "Sztuka programowania" i nie mieli żadnych pytań, a uwierz mi to nie jest lekka lektura, mimo że wszystko podano bardzo klarownie, problem w tym że aby ją czytać ze zrozumieniem potrzebna jest solidna podstawa matematyczna no i IQ nieco powyżej przeciętnego. Podobno jak w Symfonii, aby zrozumieć trzeba już to i owo o programowaniu wiedzieć. Częściej kupowana powiadasz? Częściej niż wszystkie pozostałe razem wzięte? Coś słabo mi się w to wierzy. Poza tym nie wszystko co jest bardziej popularne jest najwyższej jakości, powiedziałbym wręcz odwrotnie. :lol:


(Kubal92) #18

Ale się dyskusja rozwinęła o.O . To czy w takim razie te książki będą mi pomocne, gdy przerzucę się na GCC/Visuala? Może kupić po jednym zestawie?


(Sawyer47) #19

Jedni Ci powiedzą, że Symfonia/Pasja są dobre, inni, że nie. Ja osobiście polecam te książki, chociaż trzeba przyznać że to nie opisują całego C++ i malutką część biblioteki standardowej (praktycznie tylko std::string). Mimo wszystko wg. mnie to dobra pozycja dla początkujących. Jeżeli nie jesteś początkujący i znasz już jakieś języki programowania to chyba lepiej poszukać innej książki która opisuje dokładniej C++ i bibliotekę standardową.

Co do kompilatora, to zgodzę się, że lepiej używać GCC lub Visual C++.


(Fiołek) #20

Masz mnie, nie mam pojęcia, ale zauważ, że nigdzie nie twierdziłem, że mam racje. Jeśli nie zauważyłeś, w moim pierwszym poście nt. standardów zauważyłem, że to TYLKO zasłyszałem!

:wink:

Mógłbym dostać jakieś pewniejsze materiały? Chętnie poczytam.

[/quote=13tySmok]Co do export klauzula dotyczy eksportu funkcji przy pisaniu bibliotek DLL, w gcc obsługiwana zgodnie ze standardem.