Page 1 of 2 12 LastLast
Results 1 to 16 of 29

Thread: C++ Books/Resources

  1. #1
    Ah, Mrs. Peel! mike_w's Avatar
    Join Date
    Oct 2003
    Location
    Hertfordshire, England
    Posts
    3,326
    Thanks
    3
    Thanked
    9 times in 7 posts

    C++ Books/Resources

    Anybody have any recommendations for decent C++ books/websites/other resources? I haven't really done any proper programming yet, so I'd prefer a book that serves as a guide to both C++ and programming in general.

    Also, any suggestions for similar resources on wxWidgets? Of course, one book with both in would be a real boon, but I'd much rather get the best book for learning C++ in general, rather than just getting one for the sake of wxWidgets.

    Any advice is appreciated.

    Mike.
    "Well, there was your Uncle Tiberius who died wrapped in cabbage leaves but we assumed that was a freak accident."

  2. #2
    One Great Ordeal!
    Join Date
    Feb 2005
    Posts
    1,764
    Thanks
    201
    Thanked
    56 times in 49 posts
    I picked up on the cheap recently Microsoft Press books on VB and C++ .NET OOP programming and also another in ASP.NET. From the little I have read of both books so far they are very easy to understand. They both appear to be fairly comprehensive as they are very thick books. Alternatively you may want to look into the Sams "Teach Youself ... In 30 days" range. Also worth considering is although its a bit patronising "The Dummies Guide To ..."
    Written very much so for a begineer but very good as giving a basic overview of the subject area or specific application in question.

    Hope this helps in some way!

    http://www.amazon.co.uk/Sams-Teach-Y...e=UTF8&s=books

    Sams ^^ It would appear with the sams range there are some very keen "buy this sams book with this one" deals on. Its a steal as you are getting two guides for great prices!

    http://www.amazon.co.uk/Visual-C%2b%...e=UTF8&s=books

    Microsoft Press ^^

    http://www.amazon.co.uk/C%2b%2b-Dumm...e=UTF8&s=books

    Dummies ^^
    Last edited by digit; 24-09-2006 at 06:30 PM. Reason: Links Added

  3. #3
    Ah, Mrs. Peel! mike_w's Avatar
    Join Date
    Oct 2003
    Location
    Hertfordshire, England
    Posts
    3,326
    Thanks
    3
    Thanked
    9 times in 7 posts
    Thanks for the suggestions, I'll take a look at those.
    "Well, there was your Uncle Tiberius who died wrapped in cabbage leaves but we assumed that was a freak accident."

  4. #4
    Senior Member Kezzer's Avatar
    Join Date
    Sep 2003
    Posts
    4,863
    Thanks
    12
    Thanked
    5 times in 5 posts
    I've mainly learnt the things I know through practice, but I've chosen three books. Thinking in C++ by Bruce Eckel - it's free online, but you can buy the book which is what I did. I bought Volume 1 & 2. I've also got "Accelerated C++" which has a different approach of teaching pure C++ as opposed to basing everything on C and then moving your way up. It's good to know both, but many C programmers still tend to use C style practices in C++.

    Otherwise you can learn by practicing really, I've worked in most other languages except for C++. I've been working in C++ for about 4 months now and it's pretty straight-forward once you learn all the memory management stuff and how to usefully use pointers and references.

  5. #5
    Member
    Join Date
    Sep 2003
    Posts
    53
    Thanks
    1
    Thanked
    0 times in 0 posts
    When I first wanted to learn C++ and programming in general a good few years ago I researched the best book to get and Herbert Schildt's C++: The Complete Reference came highly recommended and I can extend the recommendation. It's a great book, very readable cover to cover but excellent as a reference for once you've finished as well.

    More than that, it also looks impressive on the shelf

  6. #6
    Senior Trouble Maker muddyfox470's Avatar
    Join Date
    Jul 2004
    Location
    moving to Suffolk
    Posts
    3,103
    Thanks
    104
    Thanked
    46 times in 39 posts
    • muddyfox470's system
      • Motherboard:
      • Abit I-N73HD
      • CPU:
      • E4500
      • Memory:
      • 4Gb PC6400 Corsair ?
      • Storage:
      • 2 x Seagate 7200.12 500Gb and 1 x Hitachi 7k1000.b 750gb
      • Graphics card(s):
      • Powercolor 4850
      • PSU:
      • Corsair HX520W
      • Case:
      • Silverstone SG-01e
      • Monitor(s):
      • Fujitsu D22W-1
      • Internet:
      • BT Home
    We are doing it at the moment for our university degree.

    We use the Dev cpp compiler, and we use a book called:

    The C Programming Language
    By Kernigan and Ritchie
    ISBN: 0131103628

    Ian
    Mac fancier > white macbook base spec .................. CS: muddyfirebang

  7. #7
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,027 times in 678 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS
    i'm not sure i'd rate c++ as a first language :/

  8. #8
    Senior Member
    Join Date
    Jan 2005
    Location
    Manchester
    Posts
    2,899
    Thanks
    67
    Thanked
    180 times in 135 posts
    • Butcher's system
      • Motherboard:
      • MSI Z97 Gaming 3
      • CPU:
      • i7-4790K
      • Memory:
      • 8 GB Corsair 1866 MHz
      • Storage:
      • 120GB SSD, 240GB SSD, 2TB HDD
      • Graphics card(s):
      • MSI GTX 970
      • PSU:
      • Antec 650W
      • Case:
      • Big Black Cube!
      • Operating System:
      • Windows 7
    Quote Originally Posted by idlewild View Post
    When I first wanted to learn C++ and programming in general a good few years ago I researched the best book to get and Herbert Schildt's C++: The Complete Reference came highly recommended and I can extend the recommendation. It's a great book, very readable cover to cover but excellent as a reference for once you've finished as well.

    More than that, it also looks impressive on the shelf
    It's also full of inaccuracies. I would strongly recommend against buying anything by Schildt as the man plain doesn't know C or C++.

    Check this: http://herd.plethora.net/~seebs/c/c_tcr.html

  9. #9
    Senior Member
    Join Date
    Jan 2005
    Location
    Manchester
    Posts
    2,899
    Thanks
    67
    Thanked
    180 times in 135 posts
    • Butcher's system
      • Motherboard:
      • MSI Z97 Gaming 3
      • CPU:
      • i7-4790K
      • Memory:
      • 8 GB Corsair 1866 MHz
      • Storage:
      • 120GB SSD, 240GB SSD, 2TB HDD
      • Graphics card(s):
      • MSI GTX 970
      • PSU:
      • Antec 650W
      • Case:
      • Big Black Cube!
      • Operating System:
      • Windows 7
    Quote Originally Posted by directhex View Post
    i'm not sure i'd rate c++ as a first language :/
    Worked for me (well C first then C++).

  10. #10
    Senior Member Kezzer's Avatar
    Join Date
    Sep 2003
    Posts
    4,863
    Thanks
    12
    Thanked
    5 times in 5 posts
    But hexy is a Java/C# monkey, or Perl. One of the three. I think it's wise to learn a lower-level programming language first of all. There's SO much that languages such as Java and C# don't teach you which I personally think is important.

  11. #11
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,027 times in 678 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS
    Quote Originally Posted by Kezzer View Post
    But hexy is a Java/C# monkey, or Perl. One of the three. I think it's wise to learn a lower-level programming language first of all. There's SO much that languages such as Java and C# don't teach you which I personally think is important.
    my first language was basic. languages i've formally been taught are pascal, moving on through delphi, prolog, assembly, java, scheme, awk, prolog again, c, and jsp. my degree final-year project was in c. since finishing education, i've picked up perl and c# since the on my own time

    you're correct in that you need to learn low-level languages - but i really don't think they're very good introductory languages. in order to do anything more complex than "hello world", you need to start including hundreds and hundreds of lines of code you really do't understand - you've included them only "because you have to"

    sure, garbage collection can make you lazy, but taking some nice clean java or c# and saying "right, the syntax looks like this, all these easy bits need doing by hand, and you have to collect all your own garbage" i personally think is a better angle than "you can do all these extra things and don't have to do all that by hand anymore - but you won't, because you're used to doing it a certain way"

    my degree took an OO-first-low-level-later approach, and having done things the opposite way round on my a-level, i reckon the degree had it right

  12. #12
    Senior Member Kezzer's Avatar
    Join Date
    Sep 2003
    Posts
    4,863
    Thanks
    12
    Thanked
    5 times in 5 posts
    Quote Originally Posted by directhex View Post
    you're correct in that you need to learn low-level languages - but i really don't think they're very good introductory languages. in order to do anything more complex than "hello world", you need to start including hundreds and hundreds of lines of code you really do't understand - you've included them only "because you have to"
    I'd tend to agree in this respect. I started off in PHP (which is full of concepts), then on to JavaScript where I wrote encryption algorithms (pointless, but it was for my Open University course) then onto Java at university where they tried to make us use BlueJ (I detested it and therefore never used it) and then onto C++ for one module (I got 14 out of 10 marks for an OO approach) and now I code in C# at work and work in C++ at home.

    I think my route through was pretty good seeing as though I started off on languages which weren't all too difficult and then moved on to harder languages slowly. So yes, it is good to start off in an easier language and perhaps work your way backwards, but then again some people may not find it hard to pick up C/C++ as their first language.

  13. #13
    Member
    Join Date
    Sep 2003
    Posts
    53
    Thanks
    1
    Thanked
    0 times in 0 posts
    Quote Originally Posted by Butcher View Post
    It's also full of inaccuracies. I would strongly recommend against buying anything by Schildt as the man plain doesn't know C or C++.

    Check this: http://herd.plethora.net/~seebs/c/c_tcr.html
    Wow, thats is a sizable list. Although a lot of those points are nit picking some seem quite valid. It's still a good book to explain the fundamentals but I will be wary next time I pick it up.

    Quote Originally Posted by directhex View Post
    i'm not sure i'd rate c++ as a first language :/
    I think throwing your self in at the deep end helps a lot. I found it's easier to go from low level to high level than the other way around. It also helps you understand more what a high level language will be doing behind the scenes. You don't need to write massive programs in c, for example even a few 'hello world' programs can explain the use of pointers which make understanding the 'pass by reference' and 'pass by value' of java much easier.

  14. #14
    Senior Member
    Join Date
    Jan 2006
    Location
    Guildford, Surrey.
    Posts
    389
    Thanks
    29
    Thanked
    40 times in 28 posts
    • billythewiz's system
      • Motherboard:
      • Asus Sabertooth P67
      • CPU:
      • Intel Core i7 2600K Clocked to 4.7GHz with Alpenfohn Matterhorn Performance Cooler
      • Memory:
      • 8Gb (2x4Gb) Corsair Vengeance, DDR3 1600Mhz
      • Storage:
      • Samsung 1Tb Spinpoint F3
      • Graphics card(s):
      • Gigabyte GTX 460
      • PSU:
      • Seasonic 600W
      • Case:
      • Thermaltake Soprano
      • Operating System:
      • Windows 7 / Ubuntu
      • Monitor(s):
      • Acer V243H
      • Internet:
      • Virgin Media 20Gb/s
    Quote Originally Posted by directhex View Post
    i'm not sure i'd rate c++ as a first language :/
    I have to say I agree. My first language is English

    I heard a great quote the other day .... "You can program Fortran in any language !".

    I give the same advice I always give when ever I'm asked the "which language should I learn" question. Choose a development environment, not a language.

    A while back I posted on here that if you wanted to code C# then you need an MS environement and they can be quite expensive. The quick retorts came back with links to mono sites. A few days after that I was interviewing a C# candidate at work (which is funny because I don't know C#). His comment was that there are loads of C# environments to choose from, but only one that is any good

  15. #15
    Senior Member Kezzer's Avatar
    Join Date
    Sep 2003
    Posts
    4,863
    Thanks
    12
    Thanked
    5 times in 5 posts
    Quote Originally Posted by billythewiz View Post
    I have to say I agree. My first language is English

    I heard a great quote the other day .... "You can program Fortran in any language !".

    I give the same advice I always give when ever I'm asked the "which language should I learn" question. Choose a development environment, not a language.

    A while back I posted on here that if you wanted to code C# then you need an MS environement and they can be quite expensive. The quick retorts came back with links to mono sites. A few days after that I was interviewing a C# candidate at work (which is funny because I don't know C#). His comment was that there are loads of C# environments to choose from, but only one that is any good
    Well it's a good thing that MS provide Express versions then which I heartily recommend.

    Also, why choose an environment? You can't choose an environment until you've chosen a language really - IDE's should be language specific. That's like saying "Oh I'll pick Code::Blocks... okay that means I have to use C++."

  16. #16
    Senior Member
    Join Date
    Jan 2005
    Location
    Manchester
    Posts
    2,899
    Thanks
    67
    Thanked
    180 times in 135 posts
    • Butcher's system
      • Motherboard:
      • MSI Z97 Gaming 3
      • CPU:
      • i7-4790K
      • Memory:
      • 8 GB Corsair 1866 MHz
      • Storage:
      • 120GB SSD, 240GB SSD, 2TB HDD
      • Graphics card(s):
      • MSI GTX 970
      • PSU:
      • Antec 650W
      • Case:
      • Big Black Cube!
      • Operating System:
      • Windows 7
    Whatever you do, learn pointers. If you can't learn pointers, then you're stuck basically - the ability to learn pointers and reucrsion and similar things is closely related to the ability to program well.

Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •