Hello. I have gone through two full c++ video tutorials and read through some text tutorials on my phone. But i learn ALOT new stuff everytime i read a new one. Which is bad actually cause i want the one tutorial to rule them all.
I consider myself as a intermediate but totally self learned programmer (probaly biggest reason i have missed some parts). So what i actually need is repeatition.
Right now im very interested in how the compiler works, i mean not the basic. The more advanced stuff cause i feel that the more i know about the compiler the more i know how to program better.
Well, thanks in advance. Tell me if i was unclear at some point
What's wrong with this site? Some websites are not meant to be learnt from, but to be used to reference information you already know (if you don't recall the information).
stoffe1100 wrote:
"self learned programmer (probaly biggest reason i have missed some parts)."
I'm the exact same. Even experts learn something new. It's nothing to be ashamed of (if you are ashamed), because it happens to every single person.
stoffe1100 wrote:
"Right now im very interested in how the compiler works"
A difficult topic. There are some resources on-line that one can read[1].
I don't think there is a complete C++ tutorial teaching all of C++. The language is simply too big. Books are often more complete. I'm sure someone can recommend a few good books if you want.
That would be great. Im thinking of buying Bjarnes book. Is it worth the cash?
EDIT: this reply was misleading and a bit off topic. But i mean. It looks like a good book and it looks like it will give me some repetition also maybe?
Bjarne's book is designed for a class room (not so much self teaching) but that doesn't mean you can't use it. I wouldn't recommend it for someone just starting out, but if you don't mind some more technical terms, the book will teach you a lot of information. I just received Professional C++ from Wrox Programming and I love it. It covers a lot of the C++11 standard and includes good techniques when it comes to program design. I was impressed with how cheap the book was and the amount of information it contains (well over 1000 pages for about $30 USD). Just the shear amount of information in the book is overwhelming. I've been trying to convince myself to read at least a section or two a day, but it's difficult.
My book is by no means intended for beginners, but if you understand most of the basics, it might be worth a shot at the price.
Aside from that, it's really going to be a trial and error situation when it comes to books. A lot of books have an online snippet that you can read before purchasing so you have an idea of the language that's used in the book, the idea behind the way the author thinks about their programs and the C++ standard.
I don't think that knowing 100% how a compiler works is going to provide you with much more stability when it comes to the language itself. To put that simply, learning the syntax is more important than knowing what the compiler sees in your code (unless you're trying to write the fastest lightweight programs available).
If you think it's hard to drop some money for a book (especially Bjarne's books that run around $50 USD) I'd suggest stopping at a local library (if you have one) and trying to borrow some books. It's a free solution and you don't need to worry about spending money. If you find a book you really like, buy it from a store or online so you can read it at your own pace and use it as reference later.
I'm going to be buying Bjarne's "The C++ Language (4th Edition)" once it comes out in January (I believe that's the current release date) since his books follow more of a linear structure. Professional C++ (2nd Edition) follows more of an outlined structure (each chapter is a new topic) and is designed more as a reference book, but can be read straight through.
I feel that the best way to learn better techniques and the language itself is to really look at a lot of different code, try using it in a program and seeing how it works. There is so much that exists out there that can do the same thing as another snippet, but might be more efficient or faster.
I'll offer one more suggestion. Find your favorite open source program out there and get the code for it and digest it. This will take a lot of time, but you'll start seeing how things work with that software. The better programs out there are written more by professionals than anyone else and have great structure to them and a lot of different features from the language itself.
I hope this helps you and I'd like to see what you ended up decided on doing.
I am looking for a good program to dig into. im thinking of taking a look at some of Carmacks stuff. Would be really cool since hes my favorite computer scientist. Have anyone looked at it, is it very hard to understand?
Or any other tips for good Open source programs?
By the way thank you for your great reply volatile. im gonna post what im gonna do later when i have decided. I will look that book up
I'd also suggest some of the free online books. C++ isn't easy to write a good book for, but some people have wrote entire books covering the subjects from beginners to more advanced subjects. I wish the documentation on this site was more of a wiki just so that some of the better members could write more articles and expand upon the references and tutorials.
I know there are a few other websites out there that cover a large range of topics, but none of them really fit in well with what you already know. It's more about just researching new things and hanging around on the forums to pick up new ideas.
As for open source programs, I'd suggest looking into smaller, simpler applications first. If you don't know much about GUIs or toolkits yet, I'd suggest just looking for console applications. If you're looking for a larger scale project, I'd start with some things on source forge. I like Astyle, but I haven't really read into it much (I believe it's C++).
Actually im working alot with OpenGL but i still feel that ive missed a few basics and thats why i started this. It would be really cool to check out a graphics program actually
I'd suggest Notepad++, Code::Blocks, or even a program built off of OpenGL (I don't know of any off hand). I'm trying to get started with SDL but I believe there is something wrong with my MSYS program (speaking of, I need to start a new thread).