project-navigation
Personal tools

Author Topic: Recommendations for a good C++ book?  (Read 2915 times)

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Recommendations for a good C++ book?
« on: January 05, 2008, 02:20:57 am »
This may be a bit off-topic, but here is my question in a nutshell: Can anyone suggest a good textbook or reference guide for learning C++ for a person in my situation?

My situation is this: I started programming as well as music when I was a young child, way back on a Commodore 64 computer, then later a Commodore 128, first with BASIC and then other languages on those machines.  Later in life I became a professional computer technician, but didn't really do any programming for a number of years - Now I'm interested again, and I completed several college courses in HTML, CSS, and Java (Web based).  Needless to say, a lot has changed in programming over time, especially with object-oriented stuff, which wasn't around when I was young.  I actually found that the web-based languages came rather easily to me (I was the first one in the class to finish the final exam in the HTML class, aced the exam as well!) but I don't know much about C++.

I've successfully set up MS Visual Studio Express 2008 on one of my computers, and got it to work with the Platform SDK and DirectX SDK.  ("got it to work" meaning it starts up and finds the libraries OK, not much else.)  I've also started fooling around with the Irrlicht open-source engine and a few simple models from Blender, and got the first two tutorials from the Irrlicht website to compile and work properly (the "Hello World" and map test ones).

I've also played around with and modified the two tutorials a bit, but quite honestly if you were to show me a block of C++ code I wouldn't be able to understand much about it or know what it does.

I'd like to learn some of these coding languages, but to be honest (don't laugh) I'm not even sure about the difference between C and C++, and don't really know my way around the Visual Studio program too well, although through trial and error I did figure out a few things.

Given all that, can anyone please nudge me in the right direction, given what I do and don't know?

Punkiee

  • Guest
Re: Recommendations for a good C++ book?
« Reply #1 on: January 05, 2008, 03:18:23 pm »
Which leaves me puzzled on what you exactly want to do learn. C or C++?
This game is written in C which was the base language for C++. C++ is a superset (loosely defined) with a few more language features. The languages themselves are small and almost every functionality is defined in the libraries. Every book happily covers libraries as well.

Most people would be happy using C++ but C is still used a lot in old legacy projects and for everything which grinds closer to the hardware then to user. C++ is C, but then more versatile, easier, more powerful ,... Since everyone who knows C++ also knows C, you will learn C++ i assume. Nevertheless as C++ programmer you might cry when faced with a C-only situation :)

The 2 most important categories for C++ basic are learning books and reference books. Reference books are not intended to teach you from scratch. Buy these if your learning books dont have the depth anymore you require.

Good learning books:
*Teach Yourself C++ In 21 Days, Second Edition
Jesse Liberty
Sams Publishing 1997
Softcover ISBN 0672310708
*C++ Primer Plus (5th Edition)
Stephen Prata
*C++ How to Program
 H. M. Deitel & P. J. Deitel: 
Prentice-Hall 

Good reference books: the 2 bibles
*C Programming Language
Brian W. Kernighan, Dennis M. Ritchie
Prentice Hall
*The C++ Programming Language
Bjarne Stroustrup
Addison-Wesley 1997
Softcover ISBN 0201889544

Offline Destructavator

  • Combination Multiple Specialty Developer
  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 1908
  • Creater of Scorchcrafter, knows the zarakites...
    • View Profile
Re: Recommendations for a good C++ book?
« Reply #2 on: January 05, 2008, 11:33:43 pm »
Hey thanks, I'll definitely check out some of these.

I've heard they have done studies that say that musicians and programmers have very similar thinking skills that they develop, something about the way a musician can look at sheet music on paper and visualize how the complete song will sound being close to how a programmer looks at long lines of code and visualizes the end result.  I'm wondering if that's why I picked up HTML and Java at the rate I did?

Personally, I don't plan to create any super-elaborate program quickly, I plan to give it time, it seems funny to me after looking in forums on the web how there are so many people who are just starting programming and expect to almost instantly grab some game engine and in a short time have a massive product that rivals a commercial game.  By the same token, if you look at music forums there are also a lot of people very new to DAWs (Digital Audio Workstation software apps for making music on computers) who expect to grab some music software and plugins, and after a few clicks and 20 minutes or so have a complete pro-sounding and mastered song.  Heck, I've been working with various DAWs for years, the quickest song I ever did was in an entire day (taking all day) simply because I wanted to see if I could do a whole song in one day.  (Not surprisingly, the song, although complete, kinda sucked...)

Anyways, I'm done ranting, thanks for the info!

Punkiee

  • Guest
Re: Recommendations for a good C++ book?
« Reply #3 on: January 07, 2008, 10:57:44 am »
Quote
I'm wondering if that's why I picked up HTML and Java at the rate I did?
I doubt its that your experience with music makes you quicker picking up a structured formal language. It might help but i suppose that music and programming rather make use of the same basic skills thus allowing you to be proficient at html faster even if you had not learnt music at all.
To support this: more mathematicians tend to play music compared to other ppl. If its just their experience in math/music that makes them quicker in picking up music/math then you only would expect them to be better musicians, not to have more mathematicians playing music.

Beginning programmers are, statistically spoken, slower then experienced programmers. Like everywhere, experience makes you avoid time consuming errors, opts alternatives and the like. But the major parameter influencing the speed is determination imho. The will, the drive to produce a result makes you work overnight and keeps you focussed on the goal and thus the end result will be reached sooner.