"Rasmus Ladekjær Pedersen" <ladekjaer@get2net.dk> wrote in message
news:9ud77u$3d9$1@sunsite.dk...
> Hej.
>
> Jeg vil lære at skrive C++. Hvilken bog skal jeg starte med, jeg er ikke
så
> god til engelsk så bogen skal være på dansk.
>
Det er naturligvis et problem at du ikke syntes at dit engelsk er så godt så
du vil læse en bog om C++ på engelsk.
Der findes nogle bøger om C++ på dansk, nogle af dem er en del år gamle og
bør undgås alene af den grund.
Jeg kender ikke nogle af de nyere bøger på dansk, men selv hvis de er
udemærkede, så vil man på et tidspunkt være nødt til at læse engelsk
litteratur om C++ - det er på engelsk de væsentligste bøger findes.
Jeg fandt et par danske bøger på Teknisk Forlag.
C++ - videregående programmering
Jeff Alger
ISBN: 87-571-2216-4
http://bog.ing.dk/default.asp?Action=Details&ISBN=87-571-2216-4
Den henvender sig ifølge 1. kapitel, som kan downloades, til personer med
minimum 2 års erfaring.
Samtidig er jeg ikke videre imponeret af det kapitel.
F.eks. er en række termer oversat, så jeg simpelt hen ikke ved hvad de
betyder. Det gælder f.eks. "viderestilling" og "sammenhængende
klassehierarkier", og alligevel benyttes ord som "templates" og
"exception-håndtering".
De 2 kode-stumper, der findes i bogen er alt andet end imponerende:
<citat>
Cout << 17 << endl << flush;
<citat/>
Det hedder "cout" og ikke "Cout" og "endl" flusher streamen, så "flush" er
absolut overflødig.
<citat>
class Foo {
public:
void MemberFn() {...}
};
Jeg har endda lavet virtuelle inline-medlemsfunktioner,
selv om de fleste oversættere ikke tillader denne syntaks,
og gør de det endelig, håndterer de den sjældent korrekt.
<citat/>
Jeg kan ikke huske at jeg nogensinde har oplevet en compiler, der ikke
tillader at skrive virtuelle metoder som inline.
At de ydermere sjældent håndterer det korrekt, forekommer mig at sige mere
om forfatteren end om compileren.
Jeg vil forvente, og oplever, at virtuelle inline funktioner, vil blive
håndteret som virtuelle men ikke som inline. Denne opførsel er _både_
fuldstændig korrekt i henhold til C++ Standarden _og_ ganske forventelig.
Det er en undtagelse at virtuelle metoder _kan_ inlines korrekt. Hvis de kan
bør man overveje kraftigt om funktion skal være virtuel overhovedet.
Det er simpelthen ikke godt nok for en bog, der selv siger at en alternativ
titel til bogen kunne være "Guruens vej til C++"!
C/C++, grundbog i programmering
Henrik Kressner
ISBN: 87-571-2270-9
http://bog.ing.dk/default.asp?Action=Details&ISBN=87-571-2270-9
I beskrivelsen af bogen står at den først gennemgår C og derefter C++.
Dette er en almindelig anerkendt ikke optimal måde at lære C++ på. Der er
ikke nogen grund til at lære C først, hvis det er C++ man virkelig ønsker at
lære. Hvis man derimod vil lære C, er det naturligvis det man skal gøre.
Hvis engelske bøger overhovedet kan tillades, vil jeg naturligvis anbefale
at starte med
Accelerated C++
Andrew Koenig, Barbara Moo
ISBN 0-201-70353-X
den er enestående god - og husk at lav øvelserne!
og derefter
The C++ Programming Language, Special Edition
Bjarne Stroustrup
ISB 0-201-70073-5
Hvis du vil spare lidt penge, så vælg "Third Edition" i stedet. Indholdet er
det samme, men indbindingen og papirkvaliteten er dårligere.
Når de er læst, kan vi være behjælpelige med næste trin - afhængigt af
behov.
Venlig hilsen
Mogens Hansen