I have a 1,000 page C++ textbook. There are a few things it that I still don't know, but I've got a good handle on most of it. I've learned some C too. Where should I go next?
I have a 1,000 page C++ textbook. There are a few things it that I still don't know, but I've got a good handle on most of it. I've learned some C too. Where should I go next?
GUI, if you don't know it
or
Graphics programming (OpenGL/DirectX)
or
Assembly language programming
Learning things like graphics libraries and assembly language and different libraries can give you some good learning experience, but some people think that fussing about language semantics and grammar is learning how to program. It really isn't. You have to learn to apply your skills and think of problems to solve and stuff. You may or may not have known this stuff already, and if you need some good ways to apply some of the C++ that you already know, doing something with some library can be good experience.
I'm afraid I'm going to deviate from the replies already given, but...
What makes you think you have learned C++ and C? Most people with years of actual experience on them will still probably be careful in admitting such a thing.
The natural step after reading a 1000 page book on C++, as you seem to have, is to actual program in C++. Honestly, if you find yourself asking the question you just made, you haven't learned C++. In fact you have a poor view of programming languages since you just don't pick them like apples, put them on some mental equivalent to a basket, and move on to the next programming language.
If you are asking instead for an idea for a project, search the forums for "project ideas". There's heaps of posts on that subject.
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.
Well, your opinion doesn't really deviate from mine. I just 'know' that the term 'know' is thrown around loosely, and I also agree that the OP should apply some critical thinking and problem solving skills to attain a better understanding of programming and the C++ language in general. When you just start thinking of crazy ways to make your application cooler, you run into so many things that you could learn and all sorts of different methods of solving things.
A number of interesting responses have been given, but I'd have to say that depends on what you are interested in. Also what book is it? I've been thinking of learning a bit more about C++ and I've more or less run out of useful online tutorials. Not to mention my book is from the days of Borland Turbo C++.Originally Posted by thetinman
Last edited by Frobozz; 12-04-2006 at 11:37 PM.
I think a little study of algorithms will be usefull... just to understand why O(log(n)) is better than O(n) and when you can be still happy with the second one...
All problems in computer science can be solved by another level of indirection,
except for the problem of too many layers of indirection.
– David J. Wheeler
I've learned a significant amount of C++ and C. I'm like Frobozz in that the usefulness of my 1,000 page and the online tutorials is rapidly decreasing.Originally Posted by Mario F.
Problem Solving with C++ by Walter SavitchOriginally Posted by Frobozz
Then check Tonto's reply.
Programming languages are notoriously mischievous in that they give us a false sense of knowledge that crumbles like a deck of cards after the first 20 lines of code.
You will have to apply that knowledge now. By developing some form of small project you would like to. Immediately after you start, you will know what you are missing in know-how. Trust me on this one.
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.
I don't think you'll get any reasonably informed answer until you tell us what things you've made with C++ or any other programming language.
There are 10 types of people in this world, those who cringed when reading the beginning of this sentence and those who salivated to how superior they are for understanding something as simple as binary.
Taking into account all other replies, do you understand and can you create working
programs that incorperate all the things C++ uses? If you can, have a dabble at opengl or direct X. Both of these combine a good knowledge of C/C++. Although opengl is technicly a graphics library, it shows you what amazing things computers can do.
Looks at NEHE'S tutorial on gamdevelopment.com for more information.
If games is not your thing, think about "Real World" objects and try to write a program that
simulates one. Ideas for this would be an elevator, or an ATM machine, or even a data base for a bank. When you are happy with this try windows programming, one of the most
challenging experiences out there to date
Double Helix STL
Know of any good C++ reference books. I find myself looking up even the most basic things for small projects.Originally Posted by Mario F.
Know of any good C++ reference books. I find myself looking up even the most basic things for small projects.is one of the best around.Code:C++ coding standards
Authors: Herb Sutter and Andrel Alexanderscue
Double Helix STL
Hmm... I wouldn't call Coding Standards a C++ reference book. It's an extraordinary book. One I'm happy to have on my still short collection. But it is more a book of good coding practices, as the subtitle attests.
I know of no good reference C++ book. And I'm starting to doubt it exists. I certainly have looked for one on many bookstores. Of course, Bjarne's own book is a complete reference to C++. But I believe you mean a more traditional-like reference book.
With that said, The C++ Standard Library: A Tutorial and Reference, from Josuttis is the closest I got. An extraordinary book. It's centered on the STL and details it to the smallest detail. It's certainly a reference book. But it does leave out the C portion of C++.
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.