SYMFONIA C++ Pasja C++

No właśnie to napisałem, jedynie że po polsku aby wszyscy zrozumieli, trza zdefiniować tą zmienną, bo jak nie to niema funkcji strcpy(). Aby tą zmienną zdefiniować to trzeba o tym przynajmniej wiedzieć, a jak nie wiesz o tym “bajerku” to nie możesz skompilować zgodnego ze standardem programu. Jeżeli nie zdefiniujesz tej zmiennej to w zależności od ustawień innej zmiennej strcpy() albo znika albo zyskuję dodatkowy parametr, w obu przypadkach błąd kompilacji.

Z tego wniosek następujący: osoba czytająca Symfonie, ma mieć ponadprzeciętne IQ oraz podstawową wiedzę o programowaniu jako takim inaczej nie da rady zrozumieć a po przeczytaniu nie dostanie pełnej wiedzy o C++. Z taką opinią o Symfonii absolutnie się zgadzam i właśnie dla tego polecam cokolwiek byle nie Symfonie. :smiley: :smiley: :smiley:

Też tak myślę. :lol: Więc mamy sytuacje proporcja popularności Symfonia/Inne = 50%/50% albo i mniej. Pytania dotyczące niezrozumienia książki na tym forum Symfonia/Inne = 100%/0%. Czy nie wydaje ci się że twoje wytłumaczenie tego zjawiska większą popularnością Symfonii jest niedorzeczne? [-X

Tak a propos, może wiesz o czym mowa w poprzednich postach? Mam na myśli GCC/Visual co to za twór? :o

Mylisz się, pojawi się tylko ostrzeżenie, że ta funkcja jest niebezpieczna. Działa jak powinna.

Nie, ma czytać ZE ZROZUMIENIEM. Jeśli by czytała ze zrozumieniem, nei zadawała by takich pytań.

Symfonia jest uważana za jedną z łatwiejszych książek i kupują je nawet dzieci, które nie mają pojęcia o niczym i do tego nie chce im się czytać książki jeszcze raz i analizować problemu. Te inne już są uważane(przynajmniej te o których wiem) za trudniejsze i je kupują osoby które już mniej więcej wiedzą co i jak. Dlatego twoje tłumaczenie, że ilość pojawiających się pytań nt. niezrozumienia książki jest IMHO niedorzeczna.

Chodzi o post Smercza? Jak tak, to ja nie wiem :stuck_out_tongue:

Może masz zdefiniowana tą drugą zmienną w parametrach kompilatora. Ja miałem z tym duże kłopoty, w DDK był przykład sterownika, ja potrzebowałem akurat czegoś w tym stylu, z tym że musiałem użyć biblioteki wzorców dla tej klasy sterowników. W tym kawałku kodu nie moglem użyć standardowej wersji strcpy - krzyczało o niezgodności typu drugiego parametru i braku trzeciego. Kiedy znalazłem informacje o tej definicji i zdefiniowałem tak aby był strcpy to zaczęło wywalać błędy we wzorcu. W końcu i tak musiałem zrozumieć ten wzorzec i napisać całość po swojemu.

Przecież już ustaliliśmy że czytelnik musi znać to i owo o programowaniu (wg autora) zanim zacznie czytać Symfonie, więc nie może czytać ze zrozumieniem jeżeli nie spełnia tego warunku, zgadza się?

Najłatwiejsza? Kto tak uważa? Przecież nawet sam autor twierdzi że coś już trzeba wiedzieć aby tą książkę czytać. Czy przypadkiem nie chcesz powiedzieć że innych książek dzieci nie kupują?

Tak o to mi chodzi. :? Smercz może poinformujesz nas co to takiego ten GCC/Visual?

Może przy pisaniu sterowników tak jest. U mnie działa i nie widzę nigdzie by było to gdzieś w ustawieniach preprocesora(jak i kompilatora). Visual C++ 2008 EE, Console Application - Empty Project.

#include 

#include 


int main()

{

	char* first = "Test";

	char* second = new char[5];

	strcpy(second, first); //char* strcpy(char*, char*);

	std::cout << first << " - " << second << std::endl;

	delete[] second;

	return 0;

}

Log z kompilacji:

Sprawdziłem w książce, jest tam napisane:

Czyli wystarczą tylko podstawy komputera(źle wtedy napisałem, mea culpa).

Wszystko jest w niej tak napisane, że da się zrozumieć i z pomocą książki rozwiązać wszystkie problemy które ludzie zadają na tym forum(wiem to po sobie, nie raz i nie dwa tak miałem).

Łatwiejsza od niektórych, nie najłatwiejsza. Czy dzieci innych książek nie kupują? Nie wiem, ale śmiem twierdzić, że tak. Część z nich to dzieci którym nie chce się przyłożyć do lektury i walą z najmniejszym problemem który napotkają(np. niezrozumienie tematu i próba go wykorzystania) na forum, przeczytał by drugi raz i by zrozumiał. Problem prawdopodobnie by się “sam” rozwiązał.

Przypuszczam, że chciał napisać “GCC albo Visuala”, ale ręki uciąć sobie nie dam :stuck_out_tongue:

Widzę jedynie ostrzeżenie, więc pewnie ta druga zmienna zdefiniowana w makefile. Większość bibliotek wzorców od microsoft’a już używa strcpy_s() więc nie ma szans użyć jednocześnie tych bibliotek oraz normalnego (zgodnego ze standardem) strcpy(). Denerwujące ostrzeżenia pewnie nie przeszkadzają tobie? Jeżeli tak to pewnie nigdy nie napisałeś większego projektu. Bo kiedy rozmiar samych plików źródłowych dojdzie ci do kilku giga, ilość ostrzeżeń o podejrzanym użyciu strcpy() przekroczy kilkadziesiąt stron i wśród tych stron zagubi ci się ostrzeżenie które jest prawdziwym błędem, stracisz kilka tygodni na poszukiwanie czegoś co zauważyłbyś natychmiast gdyby nie naście stron ostrzeżeń na temat funkcji zgodnej ze standardami, to przeklniesz Visuała, programistę który to napisał, szefa tej firmy i jego matkę też przy tym wspomnisz.

Jednak posty z pytaniami na tym forum bardziej się zgadzają z opinią autora niż z twoją. :slight_smile: :slight_smile:

Nigdy nie twierdziłem że nie da się zrozumieć. Sapienti sat (lat. mądremu wystarczy), twierdzę jedynie że zrozumienie C++ czytając Symfonie jest trudniejsze niż zrozumienie C++ czytając cokolwiek innego. A też przypominam że niektórych aspektów C++ autor nawet nie porusza.

To bardzo śmiałe stwierdzenie. :smiley: Dzieci kupują tylko Symfonie, więc jeżeli dzieckiem nie jesteś to jasno że lepiej tego nie powtarzać. Jednak jeżeli jesteś dzieckiem to nie kupuj bo dzieci tego nie rozumieją. :lol: :lol: Ale się załatwiłeś. :stuck_out_tongue:

Nie wiem czy zauważyłeś, na początku w poście od nr47 też było GCC/Visual a potem się zmieniło, co całkowicie zmieniło sens jego postu.

Więc skoro wylądowały w śmietniku to chyba coś to znaczy (łatwo się domyślić co)…

Ad. strcpy: Od razu je wyłączam jak coś robię z nim. Nie widziałem, żeby coś było zdefiniowane w ustawieniach projektu. Sprawdzę dokładniej i dam znać.

To akurat jest kwestia pochłaniania wiedzy czy coś wystarczy do zrozumienia, czy nie. Większości raczej nie wystarcza takie rozpisywanie się(którego akurat ja nie lubię) i potrzebowali by jeszcze więcej. Większość nowych uważa, że programowanie(i przy tym C++) to bułka z masłem. Lecz prawie zawsze się mylą.

Wiem, że Symfonia i Pasja nie omawiają “całego” C++.

Nie rozumiem czym się załatwiłem. Równie dobrze “dzieci” można zastąpić “osoby”. Dzieckiem jest każdy, czy to mu się podoba, czy nie.

Nie, nie widziałem tego.

Znaczy tylko jedno - skomentowałem stan umysłu kolegi, który bronił swojej tezy duża ilością słów bez użycia logiki i zdrowego rozsądku. Ponieważ kolega nie miał więcej argumentów to zgłosił post do administratora.

Zgadza się :smiley: Musimy tylko pamiętać że książka (przeznaczona do samokształcenia się) ma za zadanie wyjaśnić jak najwięcej i jak najprościej kwestie związane z jej tematyką. Jeżeli książka nie wyjaśnia tematu w pełni lub/oraz (oraz - w przypadku Symfonii) wyjaśnia w sposób taki że nie każdy zrozumie, to nie da się takiej książki nazwać nawet dobrą. A skoro książka nie jest nawet dobra to nie należy jej polecać innym.

Moment, stwierdziłeś, że obecność postów świadczących o niezrozumieniu Symfonii oraz brak podobnych postów świadczących o niezrozumieniu innych książek tłumaczy się tym że wszystkie dzieci kupują Symfonie. Jeżeli twoje założenie jest prawdziwe to: Dzieci kupują tylko Symfonie, więc jeżeli dzieckiem nie jesteś to jasno że lepiej tego nie powtarzać. Jednak jeżeli jesteś dzieckiem to nie kupuj bo dzieci tego nie rozumieją. Jeżeli zaś twoje stwierdzenie nie jest prawdziwe to znowu wracamy do jedynego moim zdaniem słusznego wyjaśnienia anomalii tematyki postów - symfonia jest do bani. “Się załatwiłeś” - dotyczyło tego że nawet przy założeniu że kontrargument który przytoczyłeś jest prawdziwy to i tak teza którą ten kontrargument miał obalić jest poprawna.

Ta książka to wyjaśnia(przynajmniej mi wyjaśniła). Będę ją polecał bo moim zdaniem jest wystarczająca nawet dla laików.

Masz racje, zamotałem się(ale to przez moje niedoświadczenie), mimo to nie widzę sensu Twojego tłumaczenia. Niektóre osoby(dzieci) nie zrozumieją. One równie dobrze mogą nie rozumieć innych książek. Nie każdemu ten styl pasuje(mi też nie pasuje, nie lubię takiego rozwlekania się na dany temat, mimo to, zrozumiałem całą książkę).

No więc argument dowodzący że coś jest nie halo z tą Symfonią ponieważ, na tym forum jest sporo tematów w stylu “… czytam Symfonie i nie rozumiem …” i brak podobnych tematów dotyczących innych niż Symfonia książek nadał zostaje nie obalony. Co do “moim zdaniem jest wystarczająca nawet dla laików” mam dokładnie takie same wrażenie co do większości książek kiedy ich czytam, ale kiedy studenci zaczynają zadawać pytania to często mam myśli w rodzaju: “… ale ten autor kretyn, tak namieszać czytelnikowi we łbie …”, potem osobiście zaglądam do rozdziału którego pytanie dotyczyło i mam myśli w rodzaju: “… jak te kretyni mogli nie zrozumieć, przecież wytłumaczono poprawnie …”. Ci którzy czytają Symfonie, mają z reguły więcej pytań, a to co zrozumieli przeważnie zrozumieli niepoprawnie. Dla tego zawsze i wszędzie odradzam Symfonie. Jeżeli ktoś ma wysokie IQ to wystarczy mu dokumentacji na składnie języka i żadnej książki nie potrzebuje, a jak nie ma wysokiego IQ to Symfonii i tak nie zrozumie.

Tobie Fiołek , polecam D.E.Knuth “Sztuka programowania”, o ile naprawdę chcesz poznać czym jest programowanie. Kiedyś myślałem że nie potrzebuje żadnych książek, potrafię napisać wirusa, trojana, kompilator kto może mnie jeszcze czegoś nauczyć w dziedzinie programowania? Ale się myliłem, uświadomiłem to sobie po pierwszych kilkunastu stronach książki którą polecam.

Jeśli ktoś nie ma wysokiego(ponad przeciętnego) IQ to żadnej książki o programowaniu IMO nie zrozumie.

Nie omieszkam przeczytać.

Z tym się nie zgodzę, wg mnie dla zrozumienia niektórych książek wystarczy przeciętne IQ, Symfonia oraz Sztuka Programowania z całą pewnością do takich nie należą, z tym ze Sztuka Programowania nie omawia jakiegoś konkretnego języka programowania, traktuję o programowaniu jako takim.

Czy może mi ktoś pomóc z GCC, bo ściągnąłem archiwum z masą plików, a instrukcja instalacji jakoś mi nie pomaga :? . ftp://ftp.gwdg.de/pub/misc/gcc/releases/gcc-4.3.1/ Pierwsze od góry.

Smercz , pod jakim systemem instalujesz? W dużej liczbie systemów (BSD, GNU/Linux, Solaris, Unix, Haiku etc. ) GCC jest już zainstalowany lub są dostępne gotowe paczki do ściągnięcia i nie ma potrzeby kompilować ze źródeł (a żeby skompilować, trzeba mieć kompilator…). Jeżeli używasz Windows to zainteresuj się MinGW albo Microsoft Visual C++.

Pod XP, ale dobra, lepiej zainteresuję się Microsoft Visual C++.

Imputowanie, że jakikolwiek moderator wyrzucił Twoje posty zawierające argumenty jest co najmniej nie na miejscu i obraża tych ludzi, którzy pilnują porządku na forum. Masz żal, że dostałeś ostrzeżenie? Było nie łamać regulaminu - tak zresztą zostały skomentowane Twoje posty.

Zachowałem je na wszelki wypadek, aby każdy Twój interlokutor, także ten potencjalny, mógł się zapoznać. Oto one: http://www.somekind.pl/_imagies/_web/smok1.jpg

Ja pisałem o książce, Ty jak widać wolałeś skupić się na przekręcaniu moich słów, oraz nieudolnych próbach obrażenia i sprowokowania - dalszy komentarz zbędny.

Jakkolwiek wiedzy technicznej i specjalistycznej nie sposób Ci odmówić, to poza tym reprezentujesz postawę pseudokibica piłkarskiego - tępisz tych, którzy mają inne zdanie niż Ty, czy też robią coś inaczej niż Ty. Tym się różnisz od większości użytkowników tego forum. Mogę tylko współczuć Twoim studentom.

Symfonia i Pasja to książki bardzo specyficzne. Jeśli ktoś szuka książki, która w lakoniczny sposób przedstawia cały język, lub zawierającej sposoby rozwiązań danych problemów, czy też gotowe projekty, lub zna już jakiś język i chce poznać następny, lub w ogóle czegoś w rodzaju “Poznaj C++ w 5 minut”, to nie są one dla niego. Autor ma bardzo “powieściowy” styl pisania, dużo tam dygresji i “lania wody”. To raczej pozycje dla kogoś, kto potrzebuje bardziej “miękkiego” wejścia w świat programowania, czasu na przyswojenie tej wiedzy, a nie tylko suchej dokumentacji języka.

Sorry, że wtrącę się w temat, ale czytając ostatnią wypowiedź somekind’a, całkowicie go popieram. Szczególnie, jeśli chodzi o symfonię i jej sposób tłumaczenia. Sam z nią zaczynałem przygodę z C++, i muszę powiedzieć, że lepszej książki nie czytałem o C++ (a czytałem jeszcze Thinking in C++ - jej też nie można odmówić skuteczności, jednak według mnie symfonia “ładniej” wszystko tłumaczy, no i czytałem jeszcze “Język C++, to proste”)

Nie lubię Symfonii z bardzo prozaicznej przyczyny, studenci którzy wspomagają swoje uczenie się tą książką mają tak porąbana wiedzę na temat C++ że włos się jeży. Jako jeden z dowodów tego że jest to kiepska pozycja do samokształcenia już przytaczałem fakt:

na tym forum jest mnóstwo postów zaczynających się z “Czytam Symfonie i nie rozumiem …” i brak podobnych postów o niezrozumieniu innej niż Symfonia książki. Więc gates22 , skoro się zgadzasz z somekind’em to może ty podejmiesz się tłumaczenia wyżej upomnianego faktu? Posty których postać graficzną zachował somekind byli odpowiedzią na nieudolne tłumaczenia tego faktu innymi przyczynami niż kiepskie podejście dydaktyczne tej książki.

Somekind już powiedział, dlaczego takie tematy się pojawiają. A to dlatego, że Symfonia uczy także myślenia (poprzez to, że trzeba myśleć co się czyta, a nie tylko dla samego faktu przeczytania). Bo jak isać program nie umiejąc nad nim pomyśleć. A właśnie tego uczy Symfonia - myślenia nad programem, a nie tylko programowania. Niestety wielu czytających tę książkę, po prostu nie myśli co czyta. Czytają aby przeczytać. A potem jak przyjdzie napisać jakiś program, to ci którzy przeczytali symfonię piszą taki temat na forum, ponieważ nie zrozumieli, co przeczytali. Taki jest tego powód. Myślisz że czemu nie ma takich tematów jak “Czytam Thinking in C++ i nie rozumiem…” ? Nie ma ich dlatego, bo prawie wszyscy początkujący w cpp czytają Symfonie, bo dowiedzieli się, że np Thinking… tłumaczy wszystko za “sucho”. Taki jest powód.

  • A może właśnie oni to rozumieją według siebie, a nie według ciebie, i dlatego myślisz, że ich wiedza jest porąbana. Ja myślę, że oni wiedzą wszystko dobrze, tylko inaczej to formułują niż ty, i dlatego uważasz, że to jest złe. Czy nie jest tak?

Chyba nie do końca zrozumiałem co masz na myśli, uważasz że głupki czytają tylko Symfonie czy ilość ludzi uczących się z innych niż Symfonia książek (razem wziętych) jest nieporównywalnie mniejsza niż ilość ludzi uczących się z Symfonii? Co do wypowiedzi somekind’a to żadna z nich nie jest na tyle logiczna żeby ten fakt wytłumaczyć, sądzę że ty też wcześniej czy później zaplączesz się w zeznaniach na ten temat. :stuck_out_tongue:

Gdyby rozumieli to w jakikolwiek sposób: swój, mój, twój czy tez “Symfoniczny” to było by całkiem dobrze. :lol: