Computer Help forum

Tip

Best Book?

by toxifier / September 16, 2011 11:50 PM PDT

I wasn't too sure where to ask this, but I thought CNET to be the the most reliable source of nice info. I wanted to ask if you people may please tell me which one is the best book for C++?
I have got An OOP with C++ by Robert Lafore. I have a strong adherence for programming and I just love it. I want to hone my skills and make them as awesome as I can. My level is kind of in middle of beginner and intermediate.
So I wanted to know if there is a better book, or if you can tell me the best book for c++ that can help me learn as much as possible and i can get my levels of programming to great height!
Thank You! Happy

Discussion is locked
You are posting a reply to: Best Book?
The posting of advertisements, profanity, or personal attacks is prohibited. Please refer to our CNET Forums policies for details. All submitted content is subject to our Terms of Use.
Track this discussion and email me when there are updates

If you're asking for technical help, please be sure to include all your system info, including operating system, model number, and any other specifics related to the problem. Also please exercise your best judgment when posting in the forums--revealing personal information such as your e-mail address, telephone number, and address is not recommended.

You are reporting the following post: Best Book?
This post has been flagged and will be reviewed by our staff. Thank you for helping us maintain CNET's great community.
Sorry, there was a problem flagging this post. Please try again now or at a later time.
If you believe this post is offensive or violates the CNET Forums' Usage policies, you can report it below (this will not automatically remove the post). Once reported, our moderators will be notified and the post will be reviewed.
Collapse -
While I would question
by Jimmy Greystone / September 17, 2011 2:51 AM PDT
In reply to: Best Book?

While I would question the wisdom of thinking CNet is the place to come for programming advice, everyone learns best a little differently. Assuming there are still any major bookstores left in your area, go and thumb through some of the C++ books, and some of them will seem better than others to you. The style of different authors can have a huge impact on whether or not a book makes sense to you.

Personally though, I'd avoid anything with an insulting title like including Dummies, Idiots, etc, or mentioning some kind of time period like minutes, hours, days, etc. Books from O'Reilly publishing are usually held up as the gold standard for technical manuals.

You may also want to hold off for a little while, since there was just a new major revision to the C++ specification, so waiting for some C++0x books to come out might be prudent. In the mean time you could look at some other programming languages. If you're interested in C++ then either Java or C# would probably be good diversions, since probably at least 95% of those will translate directly to C++. You may also want to consider ObjC/Objective-C so you could have the option to take up writing apps for the iPad/Pod/Phone. That one is a bit different from C++, but it will probably do a better job of helping teach different aspects of OOP.

You could also try something completely different like Perl, PHP, Python, or Ruby, maybe do a little web programming. All of those have numerous online tutorials.

Collapse -
okay!
by toxifier / September 17, 2011 1:42 PM PDT
In reply to: While I would question

Even I thought a lot before asking question over here, but I guess, I am such newbie to forum world (using internet since ages, but forums, just started with!) that I don't know many forums. All I knew was CNET to be a huge community of Computer Users, beginners, experts, and all! So I thought I could find a good answer over here.
I was thinking of searching in a local bookstore. But the only problem is that, sometimes books look appealing while browsing, but when read thoroughly some books are a big turn off! And then, not all bookstore keepers are so co-operative, that if I don't like some book, they would exchange it for me. And then, my earlier spending would seem like waste to me. So I wanted to be sure of, and thought if I would know some good books by some knowledgeable people, I could then search through those specific books only.
Moreover as you said, C++ has undergone major changes that I would have to adapt to if I want to sustain for long in the programming world, but don't you think it would take much time for the books to be revised?
And thanks for the suggestion of JAVA or C#. As you said, I still want to confirm, would it be that easy for me to come back to C++ if I go on for any one of them? (I have learnt C to some extent before I ventured into C++, and there weren't much trouble, so I was asking). If it would be that easy, then I would love to try my hand on those languages, maybe I find them more interesting than C++! But the only fact that remains is that, I was told, though advanced, still JAVA is less powerful than C++. Is it so?
And I am not much interested in web programming and development :/
And the last thing, as you said you were questioning the wisdom of thinking CNET to be a source of info for programming community or querries, can you suggest me a good forum for that then?! Happy
Thank you for your suggestions, such things help me learn! Good Day or eve! ^_^

Collapse -
Think of it this way
by Jimmy Greystone / September 17, 2011 10:32 PM PDT
In reply to: okay!

Think of it this way... You should be learning the how of programming, not any specific language. All programming languages share a number of fundamental concepts which is what you should be focused on learning rather than C++ specifically.

If you do that, then you should be able to pick up new languages fairly quickly and adapt to any situation that may come along. If you go into programming as a profession later, you won't always get to pick the language you use, and just look at what happened to the Cobol programmers for an example of why it's a good idea to be flexible.

And I wouldn't say any language is more or less "powerful" than another. There are things that you can do with a great deal of ease in say Perl, that would be exceedingly difficult in C++. Every language has it's niche, and it well suited to a specific set of problems. You can make virtually any kind of program with virtually any language, it's just a matter of how easy it will be. Web programming with C++ is possible, but it's general lack of text processing functions would make it extremely difficult. At the same time, I wouldn't want to try and build something like MS Excel using JavaScript. You could, but it would be significantly harder than it would need to be in many areas.

So don't get too hung up on any one language. Any good programmer probably knows at least 5 different languages, and the more diverse those languages are, the better. Learning C++ is a good start, but I'd also add to that at least one of the major three scripting languages: Perl, Python, or Ruby. Then probably something like Lisp for the sole purpose that it is very different from most other languages. If you can manage to find some books on it, or an online tutorial, knowing a little SmallTalk would probably do wonders for your OOP skills. Finally, I might suggest a language like Ada. There are so many compile time checks built into that language that by the time you actually get a program to compile, you should be down to purely logic errors to debug. So that will help teach you to really pay attention to your syntax.

Every language has something to offer when it comes to making you a better programmer, so you shouldn't turn your nose up at any of them.

Collapse -
I am now getting a clearer picture!
by toxifier / September 18, 2011 3:27 AM PDT
In reply to: Think of it this way

Thank you very much sir!
Actually the thing was, some of my seniors at college suggested me to be knowledgeable, but at the same time, asked me to pick one language that is my mastery. As I said, I am in middle of being a beginner and an intermediate. I am a second year student of Computer Engineering.
Yes! I want to make my career in programming, its what I have thought of as yet since my super-adherence to programming, and they say, I get my hold on programming quickly, so it actually is my cup of tea.
So not letting my ability go waste, I thought to start sharpening my skills right from the beginning!
And I am highly disinterested in web-programming/development. But I will keep the suggestion of a scripting language in my mind always! Happy
Next, I'll also try to do as you said, and try to increase the languages in my bag! Wink I already have two, C and C++. My brother suggests me to go on for JAVA as soon as it comes my way, and sharpen it since its a main framework language. So I guess, C++, and JAVA makes it 2 of the languages I'll try to hone my skills of(or on?!, whatever!).
And I won't be running behind just one any longer. And I will try to get skills increased and also adding flexibility, as you said.
And any more suggestions if you may give I would be highly obliged! ^_^

Collapse -
Scripting languages
by Jimmy Greystone / September 18, 2011 5:05 AM PDT

Scripting languages can be used for a lot more than just web programming. Save a few exceptions like PHP and JavaScript, but even then you can do some interesting things like Google's little web based office suite. Not all web programming is making cute animations for websites. A lot of what Google has been up to the past several years is a good example.

A lot of people use scripting languages to do a quick mockup of some program to get an idea of any potential pitfalls they might run into along the way before rewriting it all, or in part, using a compiled language. Or in areas where development time is more important than application performance, scripting languages can free you from some of the low level housekeeping that C\C++ require.

There's nothing wrong with focusing a lot of your efforts on a particular language, but knowing a few others just keeps doors open in case you need them some day. Hate to keep beating up on the Cobol programmers, but in the 60s and 70s it probably seemed like they had it made. Then things changed, and all of a sudden the demand for Cobol programmers practically disappeared overnight. The ones who had some skills in other languages were the ones who likely still had a job by the 80s. The rest were out of a job. For a time web programming seemed like the place to be, and now things seem to be shifting to embedded devices like cell phones and tablets. Who knows where the next shift will come, so it's good to have some skills you can fall back on. So learn a variety of languages, not just a bunch in the same basic family like C\C++\C#\Java, branch out to do a little with scripting languages, and also languages that approach OOP in a fundamentally different way like SmallTalk. Even if you never use the language after learning it, it will help promote different ways of thinking about problems that might set you apart from everyone else some day if there are layoffs where you work.

Collapse -
I got it!
by toxifier / September 18, 2011 9:22 PM PDT
In reply to: Scripting languages

Okay! never thought of a scripting language that way, even when I saw it all happening in front of my eyes!
Thanks for the suggestions and explanations. I'll try my level best and keep the Cobol Programmers part in my mind! Grin
Thank you very much for spending some of your precious time in making me learn.
Good day! Happy

Collapse -
What I found best was to state the problem.
by R. Proffitt Forum moderator / September 17, 2011 4:26 AM PDT
In reply to: Best Book?

Maybe it's targeted learning but what is this C++ app doing that you need to hone the skill on?

I'm thinking that a nice book on refactoring may be the next step.
Bob

Collapse -
?!
by toxifier / September 17, 2011 1:44 PM PDT

Do you mean that I must not be thinking of one book, rather I should go on with different books as my level is increased? Happy

Collapse -
Let me use one book as an example.
by R. Proffitt Forum moderator / September 17, 2011 3:47 PM PDT
In reply to: ?!

I write too much embedded C code. I have the K&R C book and while I've glanced at many others, I can't find anything new about C than this one book.

This is why I went and look at books on refactoring and patterns. We know the language but are we ready for the next step?
Bob

Collapse -
I am a bit confused
by toxifier / September 17, 2011 8:44 PM PDT

I am sorry, but could you please explain this "rafactoring and patterns" books. I mean which sort of books you mean? The one with questions related to programming to check where we stand?

Collapse -
Exactly!
by R. Proffitt Forum moderator / September 18, 2011 3:31 AM PDT
In reply to: I am a bit confused

What are those things? Google it and start the learning.
Bob

Collapse -
Thank you!
by toxifier / September 18, 2011 9:18 PM PDT
In reply to: Exactly!

Thanks for your valuable suggestion. I'll adhere to it! Happy

Popular Forums
icon
Computer Newbies 10,686 discussions
icon
Computer Help 54,365 discussions
icon
Laptops 21,181 discussions
icon
Networking & Wireless 16,313 discussions
icon
Phones 17,137 discussions
icon
Security 31,287 discussions
icon
TVs & Home Theaters 22,101 discussions
icon
Windows 7 8,164 discussions
icon
Windows 10 2,657 discussions

CNET FORUMS TOP DISCUSSION

Help, my PC with Windows 10 won't shut down properly

Since upgrading to Windows 10 my computer won't shut down properly. I use the menu button shutdown and the screen goes blank, but the system does not fully shut down. The only way to get it to shut down is to hold the physical power button down till it shuts down. Any suggestions?