So maybe it's more of "old" habits rather than "bad"? I can understand not wanting to get stuck in the past (which is why I wish the industry wasn't so slow to adopt better technologies and languages), but isn't there some call for understanding the "older" coding schemes?
Then again, I started with OOP, so maybe it's easier to understand that first and then look at how it "used to work".
Windows Game Programming for Dummies
Quote:Original post by Silverwings
So maybe it's more of "old" habits rather than "bad"? I can understand not wanting to get stuck in the past (which is why I wish the industry wasn't so slow to adopt better technologies and languages), but isn't there some call for understanding the "older" coding schemes?
Then again, I started with OOP, so maybe it's easier to understand that first and then look at how it "used to work".
Yes exactly. The reason I consider the habits I learned "bad" is because I thought I was using c++. It's a beginner book so when you use a c++ compiler you are thinking "hey I am learning c++!" Then as you are making the switch you realize that a lot of the stuff you have been doing is...nonstandard. So no they may not be incorrect habits, but clearly the world of gamedev has moved to C++ and probably OOP C++, so it would make more sense to a beginner to get into those habits as opposed to learning something that has to be unlearned later on.
However, I also feel strongly that it is better to learn an older language and an older API then not learning anything at all. So if WGPFD is the only way you can make games, use the GPDumb engine!
Quote:Original post by Silverwings
So maybe it's more of "old" habits rather than "bad"? I can understand not wanting to get stuck in the past (which is why I wish the industry wasn't so slow to adopt better technologies and languages), but isn't there some call for understanding the "older" coding schemes?
Then again, I started with OOP, so maybe it's easier to understand that first and then look at how it "used to work".
well i started procedural. which is why mostly whenever is get to the point of doing 3D i'll be using OGL instead of D3D (initially). so sometimes learning something new (or as you guys put it: unlearning the old) is a chore.
[Edited by - Alpha_ProgDes on April 18, 2006 1:06:19 PM]
Quote:Original post by ChurchSkizQuote:Original post by Silverwings
So maybe it's more of "old" habits rather than "bad"? I can understand not wanting to get stuck in the past (which is why I wish the industry wasn't so slow to adopt better technologies and languages), but isn't there some call for understanding the "older" coding schemes?
Then again, I started with OOP, so maybe it's easier to understand that first and then look at how it "used to work".
Yes exactly.
??
Quote:The reason I consider the habits I learned "bad" is because I thought I was using c++.
if (noob) language = c == c++;else if (!noob) language = c != c++;
Quote:It's a beginner book so when you use a c++ compiler you are thinking "hey I am learning c++!"
Not when the book, explicitly tells you that you'll be using C and that the C++ compiler can be used for C and C++.
Quote:Then as you are making the switch you realize that a lot of the stuff you have been doing is...nonstandard.
I take it the '...' means you couldn't find the appropriate word or phrase. So instead of "nonstandard", let's try "not appropriate with the current programmng paradigm".
Quote:So no they may not be incorrect habits, but clearly the world of gamedev has moved to C++ and probably OOP C++,
which world? between mobile games, GBA, PSP, and DS the world of gamedev still uses C. also if you're just using procedural C, there are really a handful of GOOD reason to actually use C++ (STL being one of them).
Quote:so it would make more sense to a beginner to get into those habits as opposed to learning something that has to be unlearned later on.
i think we should not take the process of going from procedural programming to OOP as unlearning. no more than going from C++ to Lisp.
Quote:However, I also feel strongly that it is better to learn an older language and an older API then not learning anything at all. So if WGPFD is the only way you can make games...
I agree there. Just be sure to learn what he's doing and more importantly way he's doing it. Believe me, you'll get about 100 posts showing various BETTER ways to do some of the things he demonstrates in that book (and still be using the C language to boot).
So, a so-so reveiw. Should have asked before buying. Well, at least it was only 12 bucks WITH shipping(buy it now was 7). It'll help though. thank you for the reveiw. can't wait for it though.
Quote:Original post by Alpha_ProgDesif (noob) language = c == c++;else if (!noob) language = c != c++;
So, basically:
language = noob;
?What exactly were you trying to say? That, for a "noob," C and C++ are equivalent? In that case, you're dead wrong (plus, operator == and operator != perform tests returning booleans, and are not statements of equivalence).
C and C++ are distinct languages with certain similarities. They are both exceptionally valuable, and both exceptionally valid for game development. C++, being a larger language, is capable of expressing a wider range of constructs and leveraging more programming paradigms. Neither is representative of an "old" or "new" way of programming. Well, actually, they're both old.
Quote:Original post by OluseyiQuote:Original post by Alpha_ProgDesif (noob) language = c == c++;else if (!noob) language = c != c++;
So, basically:?language = noob;
What exactly were you trying to say? That, for a "noob," C and C++ are equivalent? In that case, you're dead wrong (plus, operator == and operator != perform tests returning booleans, and are not statements of equivalence).
C and C++ are distinct languages with certain similarities. They are both exceptionally valuable, and both exceptionally valid for game development. C++, being a larger language, is capable of expressing a wider range of constructs and leveraging more programming paradigms. Neither is representative of an "old" or "new" way of programming. Well, actually, they're both old.
He's saying the newbies tend to think C and C++ are the same language. I can tell you that a lot of the students in my advanced java class think so.
It's been a long time since I read the book (and in all honesty, it's what I got a lot of my foundation in), but here are some of the things I recall as being bad (some of these may not be entirely accurate, but as far as I can remember, they're true):
(1)Overuse of globals. The theme of the book seemed to be, "if more than one function should use a variable, make it a global."
(2)Emphasis of optimization over solid design. If this sacrificed readability/maintainability, well then, that's a sacrifice he was willing to make.
(3)Reinventing the wheel. Some of the content can be covered in a basic algorithms book, - probably better.
(4)VERY outdated. DirectDraw is deprecated. All the other Directs have changed significantly (if I recall properly, I don't even think DirectSound even resembles what the book uses). Some of the optimization information is now practically irrelevant.
And here's what I think is alright:
If you regard the book as a manual on how to do certain things that you're unfamiliar with, then alright. It really eases entry into some Windows concepts and some of the 2D foundations. It is not, however, a particularly good book on design/coding practices.
Cheers,
--Brian
(1)Overuse of globals. The theme of the book seemed to be, "if more than one function should use a variable, make it a global."
(2)Emphasis of optimization over solid design. If this sacrificed readability/maintainability, well then, that's a sacrifice he was willing to make.
(3)Reinventing the wheel. Some of the content can be covered in a basic algorithms book, - probably better.
(4)VERY outdated. DirectDraw is deprecated. All the other Directs have changed significantly (if I recall properly, I don't even think DirectSound even resembles what the book uses). Some of the optimization information is now practically irrelevant.
And here's what I think is alright:
If you regard the book as a manual on how to do certain things that you're unfamiliar with, then alright. It really eases entry into some Windows concepts and some of the 2D foundations. It is not, however, a particularly good book on design/coding practices.
Cheers,
--Brian
Quote:Original post by OluseyiQuote:Original post by Alpha_ProgDesif (noob) language = c == c++;else if (!noob) language = c != c++;
So, basically:?language = noob;
What exactly were you trying to say? That, for a "noob," C and C++ are equivalent?
Quote:Original post by Lazy Foo
He's saying the newbies tend to think C and C++ are the same language.
Exactly. Thanks Lazy Foo. Sorry if I didn't make that clear, Oluseyi.
Quote:Original post by Nairb
It's been a long time since I read the book (and in all honesty, it's what I got a lot of my foundation in), but here are some of the things I recall as being bad (some of these may not be entirely accurate, but as far as I can remember, they're true):
(1)Overuse of globals. The theme of the book seemed to be, "if more than one function should use a variable, make it a global."
He definitely made use of A LOT of globals. The approach I like better is the one from the Tetris tutorial here on GameDev. It's cleaner.
Quote:(2)Emphasis of optimization over solid design. If this sacrificed readability/maintainability, well then, that's a sacrifice he was willing to make.
That was probably my biggest complaint of the book. Even though the it was "for Dummies", I had a hard time following where he got formulas and how his algorithms even worked. I guess you need the unabridged version of the book to know that stuff.
Quote:(3)Reinventing the wheel. Some of the content can be covered in a basic algorithms book, - probably better.
I haven't read the book in a while, but which sections do you speak of?
Quote:(4)VERY outdated. DirectDraw is deprecated. All the other Directs have changed significantly (if I recall properly, I don't even think DirectSound even resembles what the book uses). Some of the optimization information is now practically irrelevant.
Personally, I don't like the DDraw is deprecated reasoning. To me, it would be the equivalent of saying don't use SDL (which is a layer over DDraw 5). People can still benefit over the traditional 2D way of programming. GBA and mobile games for instance.
Quote:And here's what I think is alright:
If you regard the book as a manual on how to do certain things that you're unfamiliar with, then alright. It really eases entry into some Windows concepts and some of the 2D foundations. It is not, however, a particularly good book on design/coding practices.
I agree with the overall statement, but I don't think it was ever presented as a good design/coding book [smile]
[Edited by - Alpha_ProgDes on April 19, 2006 7:31:30 AM]
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement