whats a good c++ book?
#1
Posted 20 September 2005 - 12:01 AM
im new to c++ and would eventually like to get into game devolpment after i learn the c++ language. well any suggestions would be nice and thanks for your time!
another quick question...whats the difference between vc++ and c++ if there is any difference?
#2
Posted 20 September 2005 - 02:58 AM
Anyway, I recommend avoiding it .. but I don't make that recommendation for unbiased reasons. I just dont' like microsoft and would prefer that most people learn to program in a cross-platform way, becuase of that I'm trying to learn opengl/sdl myself as it works in apple/linux/windows with few problems porting (at least so far for my simple programs).
So I would work with something like devc++ in windows wish is a free IDE that uses mingw
A good book, that also happens to be freely accessible (on the net, do a google search) or purchaseable is called "Thinking in C++" by Bruce Eckel. There are 2 volumes and I used it primarily to learn C++ myself (I had some previous knowledge and did a lot of scripting in a c-like language before that).
That book may be a harder book for very new people though, so I think some people start with C++ for dummies or one of the Sames 24 days/hours series.
Teaching yourself is difficult, you'll have to do as much as you can to stay motivated while you are unable to actually do your project. Try to keep your work and your learning in achievable steps or you'll frustate yourself. Sometimes you'll feel like you are doing really great only to find you don't know as much as you thought :) Just take it step by step, people learn programming over years of time and you (and me) are no better :)
#3
Posted 20 September 2005 - 04:13 AM
"c++ for dummies" (heheeh)
and "thinking in c++" correct?
thanks alot! look forward to learning even though it could be tough. thanks again.
#4
Posted 20 September 2005 - 07:41 AM
Xanas said:
Quote
Quote
Sorry for this seemingly pro-MS post. I'm actually neither pro- nor anti-MS, but I do like the visual studio suite and I think it's the best IDE out there (ok, it lacks the refactoring features Idea has, but that's going to change in VS 2005. And nothing beats the debugger
-
Currently working on: the 3D engine for Tomb Raider.
#5
Posted 20 September 2005 - 08:06 AM
"Effective C++" by Scott Meyers is also quite good (not a beginner book).
#6
Posted 20 September 2005 - 08:54 AM
Effective C++ is a great book for anyone who has already a basic knowledge of C++ and wants to learn the do and don'ts. There's also "More effective C++" IIRC and both can be bought together on one cd-rom (handy if you travel a lot).
Once you're really getting serious there's books by Herb Sutter like Exceptional C++, More Exceptional C++ and Exceptional C++ Style with more advanced puzzles about what to do and what to avoid in C++ (they're pretty hard actually, but very informative). OTOH, if you only want to buy one book of Sutter, you might consider the C++ Coding Standards he's written together with Alexandrescu. It has 101 do and don'ts. Which lead us seamless to "Modern C++ Design" by Alexandrescu. Once you have learned about templates and you think you know them, read that book. a big WOW effect guaranteed.
Bramz
Bramz' warehouse | LiAR isn't a raytracer
#7
Posted 20 September 2005 - 02:24 PM
.oisyn said:
In the case of Microsoft it is not just that though, the company is extremely anti-competitive. If you want to go through their history on that I'd be glad to do so, but I doubt you will dispute the many things they have done to ruin potential competitors. Some see this as legitimate practice for a business, but I don't. It's not good for the market and definetly not good for consumers.
Quote
By move, I mean it won't hinder moving. Currently I still have windows on this box even though I don't want it just becuase of games that don't have linux ports. I know this is true of many many other linux users, which is probably why their segment is under-rated.
Quote
Quote
As far as the "pro" MS nature, the only thing that I found that way was that you suggested that Microsoft is just the friendly corporation that is seen as evil for being big. Look, I'm not in that camp. I'm not anti-corporate or anti-business, but I don't like anti-competitive businesses and Microsoft has been a big one in that area.
#8
Posted 20 September 2005 - 07:27 PM
That said, don't buy MSVC specific books :P
Greetz,
Bramz
Bramz' warehouse | LiAR isn't a raytracer
#9
Posted 20 September 2005 - 07:44 PM
I recommend looking for popular books are probably available on file sharing networks or in good public libraries, I recommed checking a book out before you buy it (but definately buying it).
Edit: they're not the only books I've got, just the most recent ones. I first bought C++ in 21 days and it took me a *lot* longer than 21 days, and didnt really understand C++ until I learnt c and then had a java course.
#10
Posted 20 September 2005 - 08:06 PM
bramz said:
That said, don't buy MSVC specific books :P
Greetz,
Bramz
It's not that I think MS products are bad in general. I would say XP is a good product, I would expect by some standards for Vista to be a good product as well. But I hate DRM, I hate content management systems and I don't like intellectual property, all things they are going to try and work with other companies to enforce.
That along with their anti-competitive nature is my issue with them, not really the quality of their products. Now, in some cases (IIS) they have some major security issues going on and I want nothing to do with those, but overall I think MS quality is decent. I am not your typical linux guy who thinks MS software is horrid and crashes all the time. I know that the newest OS is pretty decent when it comes to that, but ultimately I agree with the linux philosophy and don't agree with MS philosophy.
As far as MSVC, I'd agree that it's a good IDE, but the other available IDEs out there are getting better and are not terrible. I think DevC++ is very workable and KDevelop/Anjuta/Eclipse are all getting better.
#11
Posted 21 September 2005 - 01:30 AM
An introduction and reference to C++ standard library: 'The C++ Standard Library : A Tutorial and Reference'
The definitive guide to C++: 'The C++ Programming Language (Special 3rd Edition)'
#12
Posted 21 September 2005 - 11:33 AM
Xanas said:
Seriously though, have you ever thought of the consequences of not having any intellectual property? Anything you make (and not only software, mind you), and in which you have invested lots of time and money, should be freely copyable by the rest of the world with no strings attached?
Don't get me wrong, I'm against being able to get software patents for even the dumbest ideas and algorithms, but not having any intellectual property is just stupud. That makes programmers meaningless since everybody can copy code from everybody. Writers need to change profession because they don't sell any books anymore since everybody is allowed to copy it without paying for it. Same goes for art, music, etc. Nobody wants to invest time and money in research anymore because it doesn't pay off (let anyone else do the hard work while we do the copying), so that's the end of technological progress.
Quote
Quote
Quote
Quote
Quote
-
Currently working on: the 3D engine for Tomb Raider.
#13
Posted 21 September 2005 - 12:10 PM
.oisyn said:
Seriously though, have you ever thought of the consequences of not having any intellectual property? Anything you make (and not only software, mind you), and in which you have invested lots of time and money, should be freely copyable by the rest of the world with no strings attached?
Quote
As far as the respect for the fact that the original creation of that design required work and time I understand completely. I do believe that work and time should receive what it's due, I simply do not believe in the current manner of allocating resources based on the idea that you can own an idea. As you have said yourself here "stupid" algorithms should not be ownable, but what makes them so different from the "smart" algorithms? The amount of time required to make them? It seems to me there has to be an entirely different basis than that. No, to me it would seem that the idea that you can own an idea, which is in itself always infinetely reproducible once revealed, is in itself flawed.
Don't get me wrong, I do understand the ramifications of just pulling out a copyright system right now. It definetly would be detrimental to have that sort of societal shift given how much we put on the system. But I do not believe the current system can continue. There are 2 alternatives. 1 is that we begin to realize that copying is natural and figure out a better way of allocating resources (without the middle-men that are the current content businesses) and the other is that we keep this innane system and have a police state so that you can go to bed at night knowing that your property is being protected from copying. You may prefer the 2nd, or you may honestly believe this will not occur, but just looking at the situation as it stands now with DRM etc, I can see it getting MUCH more restrictive.
Quote
Quote
As far as Apple stealing a design from an individual, I wouldn't say that I don't care. I think this is a misunderstanding of my position. The fact I don't believe in intellectual property does not mean I don't believe in compensation. Again, it's more a matter of how that compensation is provided. I think if you look at IBMs relations with open source development you see a company that is helping the community produce software that will be useful to them and others. Collaboration on things which are copyable and can be used by everyone is a good thing, and reducing cost to minimal levels is also a good thing.
Note* I don't believe in compensation because of the "property" The compensation is necessary to provide for the work.
Quote
Quote
Quote
I'm pretty sure doom3 also uses SDL at least in linux but I don't have details on that. There are lots of other alternatives that are windows/linux/mac though, glut, etc. that I think are alright from my limited use of them.
#14
Posted 21 September 2005 - 01:00 PM
Xanas said:
As I read your last post, I think your problem is not so much with IP itself but with the current means of protecting that IP, and with that I agree. But those rules don't apply everywhere, here in Europe a new patent law very similar to that in the US was, luckily, voted away (so we're still stuck with the old one, which isn't that good either, but for now we're on the right track). Also, open source doesn't contradict IP, on the contrary, it very much respects IP.
Quote
Quote
Quote
I'm pretty sure doom3 also uses SDL at least in linux but I don't have details on that. There are lots of other alternatives that are windows/linux/mac though, glut, etc. that I think are alright from my limited use of them.
So they only use the libraries in specific ports and not for every platform, then what's the point in using them? Or why didn't they use it for all platforms in the first place? There is a reason to this, and although I don't know the exact answer I can take a guess: not every system supports the same features, so in order to write a good cross-platform library you'll need the subset of features that is supported on all machines. If you stick with these libraries it implies that you can't get the most out of a system. I know a thing or two about writing games, making ports and designing renderers, and the key in creating the optimal solution is only to use/create cross platform libraries that are high-level enough to abstract the inconsistencies away. So no low-level poly pusher, but a high-level 3d engine that is implemented in different ways on different platforms. Libraries like SDL are too low-level for creating the optimal solution, those are things you can better off doing it yourself or with a library that is optimized for a specific platform.
It's typical that they use SDL merely for the linux side. Isn't this because there isn't any good standard way to create a graphical screen and read input devices and such on linux, without the use of 3rd party libraries I mean? I can be wrong here, please tell me if I am, but that's exactly the reason why I don't like to develop for linux: the lack of a good standard API to do _everything_, and documentation thereof.
-
Currently working on: the 3D engine for Tomb Raider.
#15
Posted 21 September 2005 - 01:44 PM
Quote
I would have issue with this actually, but not on the basis of it being J.K. Rowling's property, but rather with the fact you are attributing the work itself (the writing required to produce the book) to you. You would be lying to say that you wrote the book, and regardless of whether what is created is intellectual or physical that remains true throughout. What is not true about intellectual property that is true about real property though, is that if you take it's gone. If you take IP (via copying) then they still retain it.
Quote
Compensating for work is not necessarily the same as compensating for property. The reason I believe in compensating for the first is because it requires work to produce, and as you said before no one would bother producing if they cannot be paid. (Although I question that also, producing ideas/art/etc is just something people do, even when no one else likes it or they aren't paid a lot do it :) but that's beside the point).
Quote
On this point you actually do have a point. Open Source licences (not all) typically have some kind of forced sharing clause which means that if you improve a given library you also have to share it if you want to distribute your software based on the use of that library. Obviously if there was no copyright/license provision at all this sharing clause would have no force to it. And, I do actually agree with the sharing clauses, but I think the primary reason for their existence is so that companies who work with open source, want to use open source, have to provide something back to the community. They don't want code being taken and forked into a project (much like apple did with open? bsd in creating darwin/osx) for business use and then never getting the benefit of the improvements those businesses make. I'm sure there are any number of reasons individuals use a given license and they may not all be the same, but just from my basic understanding of what the free software foundation is about http://www.gnu.org/p...y/why-free.html <-- I'm not sure all open source is really compatible with IP. Again I think the licenses original development is more a means to an end, a way of making their beliefs possible in the current IP system.
Quote
I'm not saying there is no way in which intellectual property and property are comparable. Both require work to produce, work that requires some method of compensation or the product doesn't occur. But, in the case of the product one is copyable naturally and one is not.
Quote
I'm just a novice at the programming thing and am teaching myself, so I really cannot compete with you in that area since you are much more knowledge about it than I am. I'm sure there are elements of ports that have to be modified for the new system and it's not super easy in all cases, but for my work so far it's been alright.
#16
Posted 21 September 2005 - 01:48 PM
- Me blog
#17
Posted 21 September 2005 - 01:55 PM
#18
Posted 21 September 2005 - 01:58 PM
bladder said:
:P
Sure if they were a very generous and open business that would share everything freely then that'd be great.
That's what I want to shoot for :)
But if it was MS controlling everything, while it might be nice in this particular way you'd be paying major $ for the benefit. Would it be worth it? For some I'm sure it would be, and for others (like myself) who are just trying to learn on their own and are not wealthy.. it definetly would not be.
awood said:
Yeah that's why I'd prefer it to be like OpenGL personally, and then just have the same board make standards for input and audio as well.
#19
Posted 21 September 2005 - 02:01 PM
- Me blog
#20
Posted 23 September 2005 - 03:54 PM
Otherwise, if that book doesn't go in depth enough for you I would buy Sam's Teach Yourself C++ in 21 Days, which is essentially the same book, but much more filled out. Anyway, both books will take you longer than they say, but I found them to be extremely helpful and I've used them to move on to DirectX programming....
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users












