04.01.2015 Views

Thinking in C++ 2nd ed Volume 1 Revision 6

Thinking in C++ 2nd ed Volume 1 Revision 6

Thinking in C++ 2nd ed Volume 1 Revision 6

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Learn<strong>in</strong>g <strong>C++</strong><br />

I claw<strong>ed</strong> my way <strong>in</strong>to <strong>C++</strong> from exactly the same position I expect<br />

many of the readers of this book are <strong>in</strong>: As a programmer with a<br />

very no-nonsense, nuts-and-bolts attitude about programm<strong>in</strong>g.<br />

Worse, my background and experience was <strong>in</strong> hardware-level<br />

emb<strong>ed</strong>d<strong>ed</strong> programm<strong>in</strong>g, where C has often been consider<strong>ed</strong> a<br />

high-level language and an <strong>in</strong>efficient overkill for push<strong>in</strong>g bits<br />

around. I discover<strong>ed</strong> later that I wasn’t even a very good C<br />

programmer, hid<strong>in</strong>g my ignorance of structures, malloc( ) and<br />

free( ), setjmp( ) and longjmp( ), and other “sophisticat<strong>ed</strong>”<br />

concepts, scuttl<strong>in</strong>g away <strong>in</strong> shame when the subjects came up <strong>in</strong><br />

conversation rather than reach<strong>in</strong>g out for new knowl<strong>ed</strong>ge.<br />

When I began my struggle to understand <strong>C++</strong>, the only decent book<br />

was Bjarne Stroustrup’s self-profess<strong>ed</strong> “expert’s guide, 1 ” so I was<br />

left to simplify the basic concepts on my own. This result<strong>ed</strong> <strong>in</strong> my<br />

first <strong>C++</strong> book, 2 which was essentially a “bra<strong>in</strong> dump” of my<br />

experience. That was design<strong>ed</strong> as a reader’s guide to br<strong>in</strong>g<br />

programmers <strong>in</strong>to C and <strong>C++</strong> at the same time. Both <strong>ed</strong>itions 3 of<br />

the book garner<strong>ed</strong> an enthusiastic response.<br />

At about the same time that Us<strong>in</strong>g <strong>C++</strong> came out, I began teach<strong>in</strong>g<br />

the language <strong>in</strong> sem<strong>in</strong>ars and presentations. Teach<strong>in</strong>g <strong>C++</strong> (and<br />

later, Java) became my profession; I’ve seen nodd<strong>in</strong>g heads, blank<br />

faces, and puzzl<strong>ed</strong> expressions <strong>in</strong> audiences all over the world s<strong>in</strong>ce<br />

1989. As I began giv<strong>in</strong>g <strong>in</strong>-house tra<strong>in</strong><strong>in</strong>g to smaller groups of<br />

people, I discover<strong>ed</strong> someth<strong>in</strong>g dur<strong>in</strong>g the exercises. Even those<br />

people who were smil<strong>in</strong>g and nodd<strong>in</strong>g were confus<strong>ed</strong> about many<br />

issues. I found out, by creat<strong>in</strong>g and chair<strong>in</strong>g the <strong>C++</strong> and Java<br />

tracks at the Software Development Conference for many years,<br />

that I and other speakers tend<strong>ed</strong> to give the typical audience too<br />

many topics, too fast. So eventually, through both variety <strong>in</strong> the<br />

audience level and the way that I present<strong>ed</strong> the material, I would<br />

1 Bjarne Stroustrup, The <strong>C++</strong> Programm<strong>in</strong>g Language, Addison-Wesley, 1986 (first<br />

<strong>ed</strong>ition).<br />

2 Us<strong>in</strong>g <strong>C++</strong>, Osborne/McGraw-Hill 1989.<br />

3 Us<strong>in</strong>g <strong>C++</strong> and <strong>C++</strong> Inside & Out, Osborne/McGraw-Hill 1993.<br />

24 <strong>Th<strong>in</strong>k<strong>in</strong>g</strong> <strong>in</strong> <strong>C++</strong> www.BruceEckel.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!