Sounds informative. I will check that out. Thank you.
Printable View
Sounds informative. I will check that out. Thank you.
What other books should I check out, maybe when I'm done with Accelerated C++?
This has several books suggestions: http://wforl.wordpress.com/C++/
I suggest Meyers' Effective C++, 3rd Edition and Dewhurst's C++ Common Knowledge. Some of the information given is outdated with the 2011 edition of the C++ standard (C++11), but much of what they state is still applicable, and knowing the obsolete techniques can still be useful when working with older code. There is also Josuttis' The C++ Standard Library, which again does not cover C++11 related stuff.Quote:
Originally Posted by HarrisonTZ
Thank you guys. I am not currently learning '11, so that shouldn't be a problem.
Hey dude. I am just like you. Started learning C++ on my own less than a year ago. You can learn from a website. That's how I started. And books... Well, let's just say, they rarely ever make it to the 1000 page mark. Also, short books can teach a lot of stuff if they focus. I suggest that you look into Assembly language. Don't look too far, but even scratching the surface will help clear a ton of things up for you, if you run into anything confusing programming wise. If you would like some real help, tell us what you plan on doing with C++. I might be able to help you get some answers.
Thank you! I just went out and got Accelerated C++, and I am liking it so far.
I haven't really thought of what I'd use it for in the future. I'm just learning the basics for now.
How comfortable are you with the language?
Hmm. Well. I've had less than a year... So I can't say I am anywhere near an expert. But I feel pretty comfortable, as syntax isn't that hard to learn.
To me, the hard part is more or less figuring out which algorithm works best with the system you are programming for.
Therefore, I consider myself to be above beginner level in C++.
1) I don't see why some of you guys recommend python as a "better" first language, imo, this is probably a worse case, as it's syntax and concepts are not quite like how most other languages do stuff. I have no problems reviewing/reading code written in several other languages, python always has my head spinning.
2) C++ is a great "first" language, in so far as you don't try to write advanced concepts too early in the learning curve. you can quite easily teach someone how to use something like say... a std::vector or an std::map, without even explaning what a template really is. Many C++ tutorials i've read jump into advanced concepts way too early.
3) You don't need a formal tutor.
Just set some realistic goals for yourself. Such as wanting to make a specific type of program (think simple :p). Any time you have questions on how to approach something. You have hands full of tutors here at codeguru.
1) I don't see why some of you guys recommend python as a "better" first language, imo, this is probably a worse case, as it's syntax and concepts are not quite like how most other languages do stuff. I have no problems reviewing/reading code written in several other languages, python always has my head spinning.
2) C++ is a great "first" language, in so far as you don't try to write advanced concepts too early in the learning curve. you can quite easily teach someone how to use something like say... a std::vector or an std::map, without even explaning what a template really is. Many C++ tutorials i've read jump into advanced concepts way too early.
3) You don't need a formal tutor.
Just set some realistic goals for yourself. Such as wanting to make a specific type of program (think simple :p). Any time you have questions on how to approach something. You have hands full of tutors here at codeguru.
Other than the indentation being significant, I don't see Python's syntax as being very different from other commonly used programming languages. However, the fact that indentation is significant is one factor that leads me to suggest Python as a beginner's programming language: novices soon learn that the plague of horrible indentation will not only affect those who read their code, but themselves too when they try to test their code.Quote:
Originally Posted by OReubens
As for concepts: Python is effectively a multi-paradigm programming language, like C++, so I don't see that as a problem.
I have never had problems reading Python code, at least after I learnt a little bit of the syntax (which was just a little bit more than say, the syntax required for JSON). In fact, I was rather surprised to find that I wrote pseudo-code that was quite similiar to basic Python syntax.Quote:
Originally Posted by OReubens
Yes, Accelerated C++ takes this approach.Quote:
Originally Posted by OReubens
I think that's the problem with Accelerated C++. It almost seems like it goes so fast that it gets ahead of itself. I do like the straight-forward approach that it has, but IMHO, and this could just be because I only began reading it yesterday, but it doesn't spend enough time in each topic, making it a requirement to re-read lines over and over. I want to read something that takes that same 'to-the-point' approach, but that uses as much time as it needs to explain each point. Also, and this may be because I am still a high-school student, but it seems like they use unnecessarily complicated words that could just as easily been replaced with easier to understand words with the same meaning.
All of those things make Accelerated C++, in my opinion, an intermediate book aimed at someone with prior experience with programming. I am looking for something aimed at absolute beginners.
A little over a year ago, a friend of mine decided to start learning C++ but burned out. He gave up and instead went about learning Java. He is now a pretty well versed Java programmer, having created a 2D game engine with ragdoll physics, etc... Then, a month or so ago, he decided to start C++ again, and is doing well.
I am not terribly interested in creating games, but I thought about going the same route he did; Java, then C++.
I'm not sure if this is a good idea, and I am even less sure about giving up, but is this a route you would suggest?
Accelerated C++ was developed from materials used to teach university students how to program, so yes, a high school student without a programming background or an instructor to explain finer points of detail could find it harder to learn from. However, it really is intended for beginners to C++.Quote:
Originally Posted by HarrisonTZ
There's Francis Glassborow's You Can Do It!: A Beginners Introduction to Computer Programming, but I have never done more than leaf through that book so I cannot tell you if it really is a good complete beginner's introduction to C++, or if that is just my first impression.Quote:
Originally Posted by HarrisonTZ
This is pretty much what GCDEF and I suggested earlier, except that we (joined by STLDude and Alterah) suggested different programming languages, but you rebuffed it with post #5 ;)Quote:
Originally Posted by HarrisonTZ
Sorry for being difficult :P
I guess I kinda just thought about it for a while... Maybe I should learn Java then learn C++... Not sure...
Maybe this makes some sense indeed. Java (or C# if you want) is purely object oriented language while C++ is a multi paradigm language. So, getting along with OOP in some other language makes the threshold lowered enough to start with C++ with acceptable level of pain... Actually this is what guys already recommended at the thread's very beginning: you start with some other language. :)