Recommend a C++ book for someone coming from C#
Page 1 of 1
Frant
King's Bounty



Posts: 24433
Location: Your Mom
PostPosted: Tue, 21st Jun 2011 17:37    Post subject: Recommend a C++ book for someone coming from C#
I may be getting a new job where I'll have to refresh my programming knowledge (I haven't written code in years) and I was always focused on C#.NET. Now I'll have to pick up C++ and PHP (I've just scratched the surface of C++ and stayed away from PHP completely).

What's a good book C++-book for someone rusty in programming but with C#-skills?


Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!

"Thank you to God for making me an Atheist" - Ricky Gervais
Back to top
LeoNatan
Banned



Posts: 73193
Location: Ramat Gan, Israel 🇮🇱
PostPosted: Tue, 21st Jun 2011 19:28    Post subject:
As usual with these question, I would say Google.com is the best book out there, especially with someone coming from a development background. With C++. there is no one comprehensive book that encompasses all that is C++. It is just impossible. And you don't need a book that would hold your hand through your first main or class. No, you need examples and explanations on advanced topics, and these I find best answered on the internets, and Google will find those easily. If it is a job interview you fear, then there are sites on topics that should be known before going to such exams, such as optimization, network, MFC, multithreading and so on.
PHP you can also learn from the web, PHP.net in particular. But again, it is so full of nuances, that one book would hardly cover everything.
Back to top
Werelds
Special Little Man



Posts: 15098
Location: 0100111001001100
PostPosted: Tue, 21st Jun 2011 20:15    Post subject:
I'm with Leo here. I'm completely self taught in C++ and PHP, and the only book I have for C# (for any language actually) is some O'Reilly pocket reference. The advantage you have here, is that they're very similar to each other. You won't have any issues writing the actual code, but like Leo says, your problem will be finding the correct functions/classes/ways of doing things.

CodeProject is often a very good resource for articles, sample code, sample projects and sometimes even complete libraries, at least for C++.
For PHP I can't actually recommend any site, because I can't even remember which sites I used besides PHP.net itself Very Happy

For the record, I'm an advocate of NOT using books. I've noticed with a lot of my former fellow students that those who used books often were unable to figure out solutions because they wouldn't think out of the box at all; using Google was already out of the box so meh.
Theory is good, and general programming principles and such should be learned properly, but languages themselves are pointless to learn from books.
Back to top
BearishSun




Posts: 4484

PostPosted: Tue, 21st Jun 2011 20:38    Post subject:
As far as a programming language goes I suggest google and various tutorials as well.

Books are good when you need to learn something general about a topic as they introduce you to new concepts, which you can then search for in more detail on the net. And reading a book cover to cover is bound to leave you with a newly learned gem or two, even if you already knew the topic well.

Books are also a must when you get to more advanced topics, as tutorials are generally lacking or non-existant and scientific articles in most cases only explain the theory and not the implementation. Various forums are also good place to ask and find information.

But for now, google and tutorials, and I'm sure you'll find your way from there.
Back to top
LeoNatan
Banned



Posts: 73193
Location: Ramat Gan, Israel 🇮🇱
PostPosted: Tue, 21st Jun 2011 20:39    Post subject:
The first mistake you'll ever make going from C# to C++ is forgetting a ";" at the end of a class or struct, or attempting to make a "enum" structure instead of the bad C++ implementation. Laughing
Back to top
PumpAction
[Schmadmin]



Posts: 26759

PostPosted: Tue, 21st Jun 2011 20:44    Post subject:
BearishSun wrote:
As far as a programming language goes I suggest google and various tutorials as well.

Books are good when you need to learn something general about a topic as they introduce you to new concepts, which you can then search for in more detail on the net. And reading a book cover to cover is bound to leave you with a newly learned gem or two, even if you already knew the topic well.

Books are also a must when you get to more advanced topics, as tutorials are generally lacking or non-existant and scientific articles in most cases only explain the theory and not the implementation. Various forums are also good place to ask and find information.

But for now, google and tutorials, and I'm sure you'll find your way from there.


So... why don't you tell us more about ray tracing Very Happy


=> NFOrce GIF plugin <= - Ryzen 3800X, 16GB DDR4-3200, Sapphire 5700XT Pulse
Back to top
Steelone




Posts: 1524

PostPosted: Tue, 21st Jun 2011 20:51    Post subject:
iNatan wrote:
The first mistake you'll ever make going from C# to C++ is forgetting a ";" at the end of a class or struct, or attempting to make a "enum" structure instead of the bad C++ implementation. Laughing


Oh god, don't remind me. I hate going from C# to C++. WHY WON'T YOU COMPILE GODDAMNIT...

Hell, even Java pisses me off if I switch over after working on a C# based project.
Back to top
BearishSun




Posts: 4484

PostPosted: Tue, 21st Jun 2011 21:30    Post subject:
PumpAction wrote:
So... why don't you tell us more about ray tracing Very Happy


Very Happy I can tell you it's pretty fun to build a renderer. And it's quite easy to get started, pretty much all you need is some ray-triangle intersection code. I've seen people build renderers in less than 100 lines of code.
Back to top
PumpAction
[Schmadmin]



Posts: 26759

PostPosted: Tue, 21st Jun 2011 23:37    Post subject:
I'm really interested Smile


=> NFOrce GIF plugin <= - Ryzen 3800X, 16GB DDR4-3200, Sapphire 5700XT Pulse
Back to top
Epsilon
Dr. Strangelove



Posts: 9240
Location: War Room
PostPosted: Tue, 21st Jun 2011 23:43    Post subject:
Programming - Principles and Practice Using C++ by Bjarne Stroustrup.
Back to top
BearishSun




Posts: 4484

PostPosted: Wed, 22nd Jun 2011 00:31    Post subject:
PumpAction wrote:
I'm really interested Smile


http://www.devmaster.net/articles/raytracing_series/part1.php
http://www.codermind.com/articles/Raytracer-in-C++-Introduction-What-is-ray-tracing.html


These are pretty good tutorials to get you started, they cover a lot of stuff. If you need more material you can follow the links in the tutorials for some good articles.

As far as books are concerned:
- Realistic ray tracing by Shirley is good, it explains the theory well but it's quite math heavy in some chapters, although it offers code examples. You might want to have this handy while implementing stuff from the tutorials.
- Physically based rendering by Pharr is pretty awesome, it goes really in depth and covers many aspects, although some stuff is skimmed over. Everything is followed with a code example which helps understand things. It's a pretty large book with a wide variety of topics. I suggest you read this after you already have a good basic setup and want to improve on it.

Tutorials should be plenty for a start though. And I'm here to offer advice if you have any questions Smile
Back to top
Page 1 of 1 All times are GMT + 1 Hour
NFOHump.com Forum Index - Programmers Corner
Signature/Avatar nuking: none (can be changed in your profile)  


Display posts from previous:   

Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB 2.0.8 © 2001, 2002 phpBB Group