PDA

View Full Version : whats a good c++ book?


diejondie
09-19-2005, 06:01 PM
i searched for c++ books on amazon.com but there were too many choices for so many different styles of c++. can any of you guys please recommend a good c++ book for me?

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?

Xanas
09-19-2005, 08:58 PM
vc++ is just microsofts IDE for C++ but it includes a few features that will help you use the windowing library and such.

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 :)

diejondie
09-19-2005, 10:13 PM
thanks so the titles are


"c++ for dummies" (heheeh)

and "thinking in c++" correct?

thanks alot! look forward to learning even though it could be tough. thanks again.

.oisyn
09-20-2005, 01:41 AM
I just dont' like microsoft Why not? Because it's cool to not like microsoft? Because big companies suck, because they want to make money? :)

and would prefer that most people learn to program in a cross-platform way I think cross-platformness is overrated. Almost nothing that claims to be cross-platform either isn't really crossplatform or it lacks interesting features for writing optimal code. Besides, with regards to gamedevelopment both linux and macs aren't really interesting platforms because of the little sales. And what good does opengl/sdl do on an xbox, ps2 or gamecube? ;)

So I would work with something like devc++ in windows wish is a free IDE that uses mingw Gcc is not more standard complaint than vc++ is, and if you're ever going to be in the industry as a programmer you're probably going to use vc++ anyway. In this regard it might be more interesting to start learning your way around in vc++ so you're prepared for the future. Besides, VC++ standard edition doesn't cost much (I've seen it for $89 on amazon for the US, and here in Europe you can get it for €61).

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 ;))

EvilSmile
09-20-2005, 02:06 AM
"The C++ Programming Language" by Bjarne Stroustrup is an excellent book for anyone serious about learning about C++ (not an absolute beginner book, assumes some basic programming knowledge).

"Effective C++" by Scott Meyers is also quite good (not a beginner book).

bramz
09-20-2005, 02:54 AM
I second that. If you have experience with other program languages (like C, Java, or even Python, Perl), you might consider to go straight for "The C++ Programming Language" (or TC++PL) for short. It's an excellent book that contains much more information than any sams or dummies book, and it will be your guide and reference for a long time (until you're old enough to understand the ISO standard ;) ).

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

Xanas
09-20-2005, 08:24 AM
Why not? Because it's cool to not like microsoft? Because big companies suck, because they want to make money? :)

No, I'm a Republican lol, if that answers your general question. It's definetly not that I have anything against corporations at large, but I do generally not like the content industries. It's not because they desire to make money, but because they continue to extend Intellectual Property rights, and I frankly don't believe in Intellectual Property.

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.


I think cross-platformness is overrated. Almost nothing that claims to be cross-platform either isn't really crossplatform or it lacks interesting features for writing optimal code. Besides, with regards to gamedevelopment both linux and macs aren't really interesting platforms because of the little sales. And what good does opengl/sdl do on an xbox, ps2 or gamecube? ;)

Frankly I personally am not interested in console development myself, but that's up to him as to whether he's interested, he can take my advice on the matter or yours. I don't think it's over-rated at all to move people towards a "better" (IMO open source) environment (or at least in the case of Mac an underdog that's not anti-competitive). Ps2's and gamecubes don't use Direct3d, so not sure what your point is there.

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.


Gcc is not more standard complaint than vc++ is, and if you're ever going to be in the industry as a programmer you're probably going to use vc++ anyway. In this regard it might be more interesting to start learning your way around in vc++ so you're prepared for the future. Besides, VC++ standard edition doesn't cost much (I've seen it for $89 on amazon for the US, and here in Europe you can get it for €61).

This is probably all true, but it's not like VC++ is difficult to learn. I still think learning without binding yourself to a single platform is a good idea. If you learn other ways of working "cross-platform" writing is a lot easier. Again this may be something you think is overrated on my part but not everyone agrees. There are some very good games written (Ut2004, Quake 3, Doom 3) that have good solid linux ports because of being written with the libraries I mentioned. I don't think they are sub par in any way to the windows only games as you seem to suggest they would be.


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 ;))
I'm not going to deny that MS has a good IDE, but I think it's better to learn without an IDE so you aren't "bound" to it and feel like you can't work away from it. Again, agree with me or not but I don't agree with the current situation where Microsoft has 90+ percent marketshare in the desktop environment. I would like to see a much more even split, and I think that would be good for everyone, IP believers and disbelievers.

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.

bramz
09-20-2005, 01:27 PM
You can all say what you want but if there's only one product by m$ that's actually good, then it must be MSVC. Their IDE is just beyond everything I've seen from any other C++ compiler. I avoid all m$ specific features in my code, but frankly, if I may choose what IDE I may produce my standard compliant code in, I'll do it in MSVC =)

That said, don't buy MSVC specific books :P

Greetz,
Bramz

dave_
09-20-2005, 01:44 PM
I've got 3 books from the AW C++ In-Depth Series. They're pretty good. But not for newbies.

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.

Xanas
09-20-2005, 02:06 PM
You can all say what you want but if there's only one product by m$ that's actually good, then it must be MSVC. Their IDE is just beyond everything I've seen from any other C++ compiler. I avoid all m$ specific features in my code, but frankly, if I may choose what IDE I may produce my standard compliant code in, I'll do it in MSVC =)

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.

hditano
09-20-2005, 07:30 PM
An excellent C++ tutorial: 'C++ Primer Plus (4th Edition)'
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)'

.oisyn
09-21-2005, 05:33 AM
No, I'm a Republican [..snap..] and I frankly don't believe in Intellectual Property.
Lol, are you sure you're not a communist? ;)
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.

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.
I agree a little, but business means war, especially in a country where you can get the silliest patents and can sue everyone for loads of money, and where the person with the most money or lawyers almost always wins (surely, that's not justice, and also not Microsoft's -or any other company's- fault, it's just a major flaw in the US system)

(or at least in the case of Mac an underdog that's not anti-competitive).
Right, because apple doesn't sue anyone, right? Think again ;). I personally think you feel sympathy for apple _because_ it's an underdog. But is apple developing open source software? I quite frankly don't really see the difference between apple and microsoft, except the size of the companies. And did apple not steal that iMac design from a particular individual? Oh right, you don't care since you don't agree with intellectual property ;).

Ps2's and gamecubes don't use Direct3d, so not sure what your point is there.
And you probably shouldn't use D3D on an xbox either. But my point was that "cross platform" development isn't so cross platform as you might think. It's only applicable to linux/unix, windows and mac, but those are obviously not the only platforms around.

This is probably all true, but it's not like VC++ is difficult to learn. I still think learning without binding yourself to a single platform is a good idea.
But I don't see the point. How is binding yourself to opengl and SDL different than, say, binding yourself to win32 and D3D? The _only_ difference is that it runs on slightly more machines out there, but if you don't care, why bother? Sure, if your goal is to write cross platform code, by all means, do it. If you want to learn opengl and/or SDL, I'm not stopping you. But I think you stepped over the edge by saying that you'd better learn a cross-platform API over a non-crossplatform one. Because there really isn't any difference. The point is that you're learning to code games using some specific API. And it doesn't matter which language or API you're using, as long as you learn from it :).

There are some very good games written (Ut2004, Quake 3, Doom 3) that have good solid linux ports because of being written with the libraries I mentioned.
I might be wrong but I don't think neither of these games use SDL, they do the porting themselves. Our core business was porting games (but only from consoles to other consoles and windows). There is much more involved than just using a standard set of libraries, it requires a complete understanding of the system and specific pieces of code were rewritten to work optimal on that particular system. If you want to make a great game that works on multiple platforms, just using a portable set of libraries doesn't get the job done (although it helps of course)

Xanas
09-21-2005, 06:10 AM
Lol, are you sure you're not a communist? ;)
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?

I think you misunderstand the alternative actually, and also the meaning of it otherwise. I would only be a communist if I had a problem with property in general, my problem is with intellectual property, which is quite a different matter entirely. One is not copyable and the other is.


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.

This is not the alternative. The fact is people already copy, despite regulations that say the contrary. Agree with them or not they are doing what these things allow for. If you could copy physical objects near perfectly for no cost would you? Of course, who wouldn't? If I could simply have a car by virtue of the original design being created and snap my fingers and a car of the same design was created well.. yes I think everyone would do that.

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.


I agree a little, but business means war, especially in a country where you can get the silliest patents and can sue everyone for loads of money, and where the person with the most money or lawyers almost always wins (surely, that's not justice, and also not Microsoft's -or any other company's- fault, it's just a major flaw in the US system)

It is any companies fault if their executives choose to participate in such a manner as to screw over other people. Or at the very least it is the fault of their executives. Regardless, I agree that the system is somewhat flawed but probably because of human nature more than the system itself.


Right, because apple doesn't sue anyone, right? Think again ;). I personally think you feel sympathy for apple _because_ it's an underdog. But is apple developing open source software? I quite frankly don't really see the difference between apple and microsoft, except the size of the companies. And did apple not steal that iMac design from a particular individual? Oh right, you don't care since you don't agree with intellectual property ;).

Actually, I've said several times if Apple could be they'd be worse than Microsoft, at least Microsoft developed windows for cheap machines they didn't build themselves. But, Microsoft did this by copying (essentially) Apples work. I didn't actually have anything against this copying, but if Apple had known in hindsight what was going to occur I'm sure they would have patented a lot more.

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.


And you probably shouldn't use D3D on an xbox either. But my point was that "cross platform" development isn't so cross platform as you might think. It's only applicable to linux/unix, windows and mac, but those are obviously not the only platforms around.

No they aren't the only platforms, but they are the primary ones used by typical computer users. I don't know of anyone who plays games on a SPARC based system. But if there was collaboration on development of libraries for such small systems it would be easier to make software port to them.


But I don't see the point. How is binding yourself to opengl and SDL different than, say, binding yourself to win32 and D3D? The _only_ difference is that it runs on slightly more machines out there, but if you don't care, why bother? Sure, if your goal is to write cross platform code, by all means, do it. If you want to learn opengl and/or SDL, I'm not stopping you. But I think you stepped over the edge by saying that you'd better learn a cross-platform API over a non-crossplatform one. Because there really isn't any difference. The point is that you're learning to code games using some specific API. And it doesn't matter which language or API you're using, as long as you learn from it :).

As far as the last part sure, you learn, that's good. As far as the other part, I only disagree that it's "slightly" more machines. I think a lot of people use linux, more than the market shows simply because they keep windows to play games. I know of several from linux forums like this, and quite a few use wine/cedega as well. Anyway, no one likes doing it, it's just what you have to do if you play games.


I might be wrong but I don't think neither of these games use SDL, they do the porting themselves. Our core business was porting games (but only from consoles to other consoles and windows). There is much more involved than just using a standard set of libraries, it requires a complete understanding of the system and specific pieces of code were rewritten to work optimal on that particular system. If you want to make a great game that works on multiple platforms, just using a portable set of libraries doesn't get the job done (although it helps of course)
Right, that's the point is that it helps. I'm sure there are some things that are specific to the platform and you would need to redo those. As far as SDL use, only UT2004 and NWN do I know it was used, and in NWN only in the linux port. I don't know if UT2004 uses directinput in the windows port, but it can use either.. I think it uses SDL (though I'd have to check).

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.

.oisyn
09-21-2005, 07:00 AM
This is not the alternative. The fact is people already copy, despite regulations that say the contrary. Agree with them or not they are doing what these things allow for. If you could copy physical objects near perfectly for no cost would you? Of course, who wouldn't? If I could simply have a car by virtue of the original design being created and snap my fingers and a car of the same design was created well.. yes I think everyone would do that.
Copying is not only duplicating something that is already there, but (more importantly, imho) also copying a design someone else has created. If it weren't for intellectual property, I could take one of J.K.Rowling's Harry Potter books, write my name under it and resell it. Would you think that is fair?

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.

But, Microsoft did this by copying (essentially) Apples work. I didn't actually have anything against this copying, but if Apple had known in hindsight what was going to occur I'm sure they would have patented a lot more.
Sidenote: actually apple in turn "copied" (pun intended ;)) it from Xerox.

The fact I don't believe in intellectual property does not mean I don't believe in compensation.
Well -and I understand that's not your point-, in fact you do, since if it's not the (intellectual) property of that individual, it's no one's property, and that means there's no one to compensate for it. Also, if your only compensating for the work that someone has put into it, you're just paying for a one-time process and from thereon the company could do anything it wants with it. The person should still has rights over the design, because it's his design. Unless the rights are transferred of course. And that is what IP is, the rights over a piece of work, not all the other crap that comes with it.

As far as SDL use, only UT2004 and NWN do I know it was used, and in NWN only in the linux port. I don't know if UT2004 uses directinput in the windows port, but it can use either.. I think it uses SDL (though I'd have to check).

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.

Xanas
09-21-2005, 07:44 AM
If it weren't for intellectual property, I could take one of J.K.Rowling's Harry Potter books, write my name under it and resell it. Would you think that is fair?


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.


Well -and I understand that's not your point-, in fact you do, since if it's not the (intellectual) property of that individual, it's no one's property, and that means there's no one to compensate for it.


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).


Also, if your only compensating for the work that someone has put into it, you're just paying for a one-time process and from thereon the company could do anything it wants with it.

"Anything it wants" is not a problem for me. It'd be nice (I think) to be able to pay once for something and then do anything you want with it. I think that is far better than a system which establishes a payment that you make "per copy" or something like that. Now there are many ways licenses and royalties are done (per copy, flat rate, etc.) but in general I think a flat one time fee is best. At that point that you have the product of the work you can improve it, add to it, etc. I think that's really up to you.

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/philosophy/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.


The person should still has rights over the design, because it's his design. Unless the rights are transferred of course. And that is what IP is, the rights over a piece of work, not all the other crap that comes with it.

This I would contest. I don't think ownership should be assigned here simply by virtue of creation. Again, the compensation is just about the work but not the "product."

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.


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.

This is a valid criticism in my view also :) Documentation is not as good as I might prefer, but SDL seems pretty decent at least for my purposes.

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.

bladder
09-21-2005, 07:48 AM
I'd personally like for someone to take over the entire market. I'm sick and tired of there being a million and one ways to draw a dot on the screen.

awood
09-21-2005, 07:55 AM
If that does come, I would rather "that someone" be a diverse board of professionals, not one company. If the day would ever come that DirectX became the only graphics API, we would be in trouble. Good bye cross platform compatibility (or expect very very poor support), and hello licsencing fees. Those are my two biggest concerns.

Xanas
09-21-2005, 07:58 AM
I'd personally like for someone to take over the entire market. I'm sick and tired of there being a million and one ways to draw a dot on the screen.

: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.

If that does come, I would rather "that someone" be a diverse board of professionals, not one company. If the day would ever come that DirectX became the only graphics API, we would be in trouble. Good bye cross platform compatibility (or expect very very poor support), and hello licsencing fees. Those are my two biggest concerns.

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.

bladder
09-21-2005, 08:01 AM
If that day came then we wouldn't need worry about being cross platform. It would all become standard - since there'd technically be only one platform. As for licensing fees, well I think PCs are too far in to adopt something like that.

IrishFarmer
09-23-2005, 09:54 AM
Real quick, back on topic. Sam's Teach Yourself C++ in 10 Minutes was my favorite book for learning. If I get rusty on some aspect of C++ I still come back to it after having the book for years.

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....

kusma
09-25-2005, 06:57 AM
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.


You seem to have totally missed the point. If there is not IP, the writing required to produce the book is in itself worthless.

Axel
09-25-2005, 09:23 PM
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).Who sais that you can't develop cross-platform apps with VC++? DooM³ and UT2003 were both developed with it on Windows and run very well on Linux too (the linux-specific things were not done with it naturally).

Xanas
09-26-2005, 05:58 AM
You seem to have totally missed the point. If there is not IP, the writing required to produce the book is in itself worthless.
This is totally false. IP did not exist as a concept until recently (which is a collective of copyright, trademark and patent law) and even it's individual pieces have not always existed.

Are you saying that that Homer wasted his time? Or the authors of the Bible?

Geez, no, writing has purpose and worth apart from copyright law.

As far as the notion that no one would pay for the writing if the idea of ownership was there I highly disagree. Do we pay teachers? Don't students get to use the knowledge they gain in class without paying some license? There are several ways of producing money even without copyright law.

EDIT: In case "recent" is not gained in context I'm saying within the last few decades, though copyright, trademark law, and patent law have existed in some way for a few centuries (but not forever).


Who sais that you can't develop cross-platform apps with VC++? DooM³ and UT2003 were both developed with it on Windows and run very well on Linux too (the linux-specific things were not done with it naturally).

You certainly can, but like I said I'm biased. I prefer to use as little proprietary software as I feel is possible. I may use it later on myself but will avoid it until I feel it is necessary for something. So far it hasn't been.

EDIT2: if you want further discussion on this I'd prefer pms, I hate being so out of context of the thread already. In fact I probably should have deleted my other posts in hindsight as I was aware this could be contentious :)

.oisyn
09-26-2005, 06:10 AM
Or the authors of the Bible?
Well yes, actually ;). Besides, the bible is a collection of literature carefully selected by the editors, it wasn't really written as a whole, and I wonder if they even asked permission of the original writers, or those who where still alive at the time at least :).

Stellar Developer
09-26-2005, 09:47 AM
I cannot live without "Black art of 3d Game Programming" by Andre LaMothe. Its old and outdated in terms of technology, but Its an excellent book. It completely breaks down graphics programming in dos. he walks you through building a game engine and it will help you understand whats going on when you start using directx or opengl.