Avatar billede codemon Nybegynder
03. januar 2002 - 13:08 Der er 13 kommentarer og
5 løsninger

C++ bog for programmører

Hvilke bøger kan anbefales til at lære C++ når man i forvejen er kendt med objektorienteret programmering. Vi er kendt med java igennem 1½ år.

Der er blevet foreslået Dietel & Dietel: C++ how to program.

Er det et godt valg?
Avatar billede chries Nybegynder
03. januar 2002 - 13:13 #1
Jeg er blevet undervist med den bog, jeg synes den er udmærket :-) Men siden du har haft java i 1½ år tror jeg snart at du kan nøjes med tutor og andet ligende gratis på nettet. Java og C++ ligner hinanden meget i sproget opbygning (for, while, erklæring af variable osv ). Det er kun lige pointer gymnastikken der kan blive besværlig.
Avatar billede kasseper Nybegynder
03. januar 2002 - 13:17 #2
hmmm, ikke enig.
C++ er noget mere komplekst når man kommer i dybden med det, lad mig nævne i flæng, ingen garbage collecter, pointere, chararrays(ingen strenge) osv. Så stol ikke på at du kan lære det via gratis tools på nettet. Men jeg kan kun forslå biblen : C++ Primer, den er meget tung, men tilgengæld lærer den dig ALT, der mangler intet.
Avatar billede kamikaze Nybegynder
04. januar 2002 - 15:11 #3
Den bog jeg helst ville have fingrene i (hvis jeg ikke havde den i forvejen) er bogen \"The C++ Programming Language\" af Bjarne Stroustrup (det er ham der har skabt og designet C++ sproget).
Avatar billede kamikaze Nybegynder
04. januar 2002 - 15:13 #4
Avatar billede jonasmr Nybegynder
04. januar 2002 - 16:55 #5
Kasseper:
C++ er ikke helt som du beskriver det.
Ja, der er pointere, dette er for nogen et problem.

Der er ikke nogen garbage collecter som default, men derfor betyder det ikke at man ikke kan bruge en i c++. MS har lavet nogle \"managed extensions\", hvor man programmerer i C++ op mod dotnet platformen, og som derfor automatisk bliver garbage collected.

chararrays noget som man skal prøve at undgå da C++ _har_ strenge..

Måske var det årsag nok til at droppe den bog, hvis den ikke fortæller om noget så simpelt som strenge, så må den være alt for uddateret.

C++ Programming language er ikke nogen god start på sproget, uanset om man har programmeret før.

Køb \"Accelerated C++\", den anbefaler de kloge(inkl bjarne selv), da den skulle give en introduktion til Standard C++ - Inklusive de meget omfattende standard bibliotek.

mvh Jonas
Avatar billede kasseper Nybegynder
05. januar 2002 - 12:33 #6
jonasmr >> Jo C++ er som jeg skriver !
Nej der er ikke nogen garbage collecter, som jeg også skrev \'ingen garbage collecter\' som er et stort problem for folk der har kodet java i noget tid, da Java smider al din allokerede plads væk når du terminere, og hvis du ikke bruger det. Som du så skriver så kan man benytte tredieparts garbagecollectorer, men det er en bedre ide at selv at deallokere.
C++ har som standard ikke nogen strenge, den har et lib der implementere strenge generelt, men det standard bibliotek er lavet ved at opbygge chararrays.....

Så hvis du vil lære sprogets opbygning med fuld kontrol over hvad der er muligt og ikke er muligt, hvilket hjælper i debug situationer, så lær det fra bunden og skip alle de hjælpemidler du overhoved kan.....
Og pas nu på hvad bjarne siger er ikke lov. Bjarne har en meget abstract tankegang, har hørt flere foredrag af manden, der uden videre tror at alt falder på plads første gang man hører det....

Ja det er op til dig selv at vælge bog, men lov mig en ting, at læs det grundigt og lav alle øvelserne, da det er den eneste måde at lære det på.
Go fornøjelse...
Avatar billede codemon Nybegynder
05. januar 2002 - 16:37 #7
OK C++ er ikke helt så enkelt, det er da blevet tydeligt (allerede en debat om sprogets finesser, joo det bliver spændene).

Chris, mener du at Dietel & Dietel er et dårligt valg?

kasseper, jeg kan se i et 69 kroners hæfte af Kris Jamsa, at der er nogle af de forskelle du påpeger, men derfor behøver bogen ikke at gå i dybden med OO principperne som fx hvad bruges arv til hvad er et object osv. (man skal vel bare lære hvordan syntaksen er i C++?)

jonasmr, Accelerated C++ har lidt modsigende kunde reviews på amazon. En siger den ikke er god hvis man har programmeringserfaring, en anden sige det modsatte. Kan du give nogen link til de anbefalinger du nævner.

Jeg kan tilføje at den skal bruges til valgfag på 4.semester på datamatikerudd.

Tak for forslagene, I får point senere, jeg venter og ser om der kommer flere vurderinger og forslag.
Avatar billede kasseper Nybegynder
05. januar 2002 - 21:26 #8
codemon >> Du har jo noget erfaring indenfor OO programering, men jeg har også godt set det omtalte hæfte, men det er altså bare ikke holdbart, da der er tradition for at strukturere sin kode meget anderledes i C++ end i Java.
Men når det så er sagt, så er den go nok for dig til at komme igang, så ville jeg tage fat i en lidt tungere bog som det næste.
Avatar billede jonasmr Nybegynder
05. januar 2002 - 23:51 #9
Hej igen.

Først Kasseper:

Det er noget vås du skriver mht til strenge.
Standard C++ inkluderer strenge, og sådan er det... det er ikke noget der kan diskuteres.
std::string er en del af standarden, og hvis du mener jeg tager fejl, så syntes jeg du skal slå
op i C++ programming language, 3ed, hvor kapitel 20 handler om det.

Du tager grundlæggende _MEGET_ fejl kasseper, det er vigtigt at benytte sig så _meget_ som man kan af standard-bibliotekets egenskaber.
Tror du det er der for sjov?
og ja, bjarne vil også fraråde dig fra at bruge char-arrays(læs hans bog).
Og hvis du tvivler, så spørg i comp.lang.c++, og se hvad folk svarer der.

Mht Bjarnes egenskaber, så skal du tænke på at manden ved meget mere om sproget en du/jeg nogensinde kommer til, det er muligt han har antaget at du vidste mere om c++ en du gjorde, det har sådan nogle professoragtige nogen det med at gøre.

Mange tænker at C++ er noget, hvor man lige lærer at skrive class, public, private og virtual, men det er så meget mere end det.
Det er et multiparadigme sprog, hvor det er muligt at programmer objektorienteret, men det er ikke påtvunget. Du kan også bruge det til at programmere rent imperativt uden at benytte dig af de objektorienterede features, og vil stadig være meget bedre stillet end med C, på grund af det meget omfattende standardbibliotek.

Du har ret i at det er implementeret med char arrays, men det er irellevant, det er det sikkert også i java, der er det bare ikke muligt at få adgang til den underliggende repræsentation..

codemon:
se her engang:
http://groups.google.com/groups?q=stroustrup&start=10&hl=da&group=dk.edb.programmering.c&selm=188b3370.0111041042.1e23876c%40posting.google.com&rnum=14
Der har du bjarnes post hvor han anbefaler bogen.

Det bliver tit og ofte anbefalet i denne nyheds gruppe... det er udelukket på det grundlag jeg anbefaler den, da folk netop beskriver at den lærer dig C++ på den rigtige måde, hvor mange andre bøger har det med at lære dig at kode en blanding af C og C++ kode.

prøv at søge på accelerated i samme gruppe, så vil du se den anbefalet masser af gange.

Kasseper:
Hvis du interesserer dig for sproget, så vil jeg råde dig til at læse Scott Meyers \"Effective C++\" serie, der er tre i rækken, og de kan lære de fleste C++ programmører en hel masse.

mvh Jonas
Avatar billede codemon Nybegynder
06. januar 2002 - 00:13 #10
Jeg siger tak til Jonas for de nyttige oplysninger.

Det ser ud til man skal vælge sit c++ materiale med omhu.

Er der nogen af jer der ved om \"Dietel & Dietel C++: how to program\" lærer os c++ på den \"rigtige\" måde?

kender I eller har hørt om \"C++ for Java Programmers\" af Timothy Budd.
Avatar billede range Nybegynder
06. januar 2002 - 10:54 #11
Når I når over det basale C/C++ og videret til OO delen, så kan jeg varmt anbefale Thinking in C++, 2nd ed. Volume 1, som ligger online på adressen http://www.camtp.uni-mb.si/books/Thinking-in-C++/TIC2Vone-distribution/html/Frontmatter.html Det er noget af det bedste jeg har set. Ellers tag et kig her: http://www.udvikleren.dk/vis_links.php4?kat=3 . Der er en flok ok C++ links.

/range
Avatar billede kasseper Nybegynder
06. januar 2002 - 13:18 #12
jonasmr >> Med hensyn til strenge, så er det DIG der tager fejl. Du kan ikke erklære en streng i C++ unden at inkludere et standard bibliotek, ergo er det ikke inkluderet i det den \'rå\' c++ syntaks. Og hvis du mener noget andet så må du heller ringe til DIKU( Datalogisk institut v. Københavns universitet ) og belære de professorer der er af en anden opfattelse. Og for at forstå hvordan præcis C++ er opbygget, hvordan den lagre sine objecter på stakken, hvordan den kæder en \'streng\' sammen, så er det \'smart\' at lære alle de \'tricks\' du kan uden at bruge standard bibliotekerne. Når det så er sagt, så var det ikke for at sige at man skulle holde sig fra biblioteker og den slags, men at benytte en tredieparts garbage collector, ville jeg mene er skidt, da det er smartere hurtigere og mere lærerigt at selv deallokere sin opbrugte hykkomelse.
Og med hensyn til Bjarne, så vil jeg sige ja, han er muligvis klogere end folk er flest, men at lære sin viden fra sig til nybegyndere i programmerings verdnen det kan han ikke, og det er som sagt ud af hans egen mund....!
Nok om det, codemon, vælg en bog læs den osv. nu gider jeg ikke lave flere indklæg her .
Avatar billede jonasmr Nybegynder
06. januar 2002 - 14:27 #13
kasseper:
At en ting ligger i standardbibilioteket gør det ikke til en ting uden for sproget... hvis du er i tvivl, kan du jo hente standarden og kigge, jeg er sikker på at den er proppet med information om standardbiblioteket.

Men du har ret i, at strenge ikke er en \'inkluderet i den rå syntaks\'.
Men programmeringsprog er så meget mere en bare rå syntaks, og det er nødvendigt at lære det hele for at kunne benytte sproget ordentligt.

mht til diku, så er jeg herinde hver dag for tiden(jeg skal til eksamen på fredag), og hvis du stadig holder fast på det, så syntes jeg du skal skrive præcist hvad du er blevet fortalt af hvilken professor, så må vi jo gå videre med det, hvis det er noget vås.

codemon:
Jeg kender en som var ret glad for D & D bogen...
men igen.. Den accelerated bog koster vist nok kun 280, det er billigt, for en god bog... (tag den :)

og.. pas på med at købe ukendte bøger..
hvis du dog stadig holder på nogen af de andre så se på www.accu.org, hvor der er anmeldelser af de fleste bøger.
Avatar billede codemon Nybegynder
06. januar 2002 - 15:23 #14
Jeg siger tak allesammen.

Kasseper og Jonas, jeres diskussion siger da ihvertfald noget om C++ sprogets værdier. Et så gammelt sprog der er udviklet over flere gange giver nok automatisk forskellige holdninger.

Accelerated C++ bliver rigtigt nok anbefalet mange gange i den nyhedsgruppe, men hvad det bliver for en er jo heller ikke op til mig alene at bestemme og det ser i det mindste ud til at D & D er mere omfattende. valget må indtil videre stå imellem de 2

Jeg undrer mig bare over at der ikke er nogle bøger der henvender sig direkte til programmører.

Pointene er fordelt efter codemons mening, som uden diskussion altid er helt retfærdig.
Avatar billede kasseper Nybegynder
06. januar 2002 - 21:47 #15
Okay okay jeg sagde måske at nu gad jeg ikke mere, men en mand må vel ha lov at forsvare sig selv :) Jonasmr >> Nu er det snart 5 år siden at jeg blev undervist i skidtet, men jeg mener at det var i forbindelse med kerne opgaven eller også var det arkitetktur opgaven....? det blev gennemgået, rimelig hurtigt, men hva faen....
Jeg tror at han hed Martin et eller andet, men han var gæste optræder, for Niels Andersen......Geeeeeh! Anyway, så var vores instruktor Niels Boldt, gider du lige gi ham en dumflad hvis du ser ham ? :)

Hvad skal du iøvrigt til eksamen i ?
Best of lucks....

Kasseper
Avatar billede codemon Nybegynder
06. januar 2002 - 21:52 #16
Jonas, vi kan krydse fingre for hinanden fredag.
Avatar billede jonasmr Nybegynder
07. januar 2002 - 00:48 #17
tak skal i have.

kasseper:
Du har selv lige svaret på hvorfor de sagde sådan
C++ blev standardiseret i \'98(eller var det \'99 er ikke sikker), så dengang ville det sikkert have givet mere mening, da STL var et \'uafhængigt\' bibliotek...
og jo jeg kender faktisk niels boldt, tror selv du må ordne den med den flade :)
Avatar billede kasseper Nybegynder
07. januar 2002 - 10:28 #18
Som Poul Thomsen ville ha sagt det, jamen så er der jo en naturlig forklaring.
Jeg har ikke noget proffesionel erfaring med C++, da jeg kun koder Java på mit arbejde, så det kan nok være forklaringen på min manglende opdateringsevne på området.
Hvad skal du til eksamen i ? og hvis du er bange for Niels Boldt, så kan du bare melde dig ind i FC Spark, der spiller han også(eller han gjorde) flæk ham og sig du gik jo efter boldten !!!!!!!:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester