| | |
what kind of c++ for games
![]() |
•
•
Join Date: May 2007
Posts: 266
Reputation:
Solved Threads: 3
I 've read Narue's answers in another game thread but there are still some things I would like to ask.
what kind of c++ works best for games? can one use any kind. the main reason for using c++ is, i assume, to take up as little space as possible in memory as well as to run at the highest possible speed. does a type of c++ such as visual C++ 2005 which uses dot net suffice or will it be too slow. i asume that dot net makes it slower since the c++ does not now run close enough to the hardware?
also what kind of education is needed. to simply be a programmer is obviously not enough. so what minimum level of study is sufficient? i also take it that it requires a lot of math and knowledge of advanced algorythms?
what kind of c++ works best for games? can one use any kind. the main reason for using c++ is, i assume, to take up as little space as possible in memory as well as to run at the highest possible speed. does a type of c++ such as visual C++ 2005 which uses dot net suffice or will it be too slow. i asume that dot net makes it slower since the c++ does not now run close enough to the hardware?
also what kind of education is needed. to simply be a programmer is obviously not enough. so what minimum level of study is sufficient? i also take it that it requires a lot of math and knowledge of advanced algorythms?
>what kind of c++ works best for games?
There's only one kind of C++. Don't confuse the tools with the language.
>does a type of c++ such as visual C++ 2005 which uses dot net suffice or will it be too slow.
Visual C++ 2005 is a compiler, and C++ with .NET isn't C++ anymore, it's C++/CLI; a completely different programming language. And yes, .NET would likely be too slow for many game projects where every ounce of performance is needed.
>so what minimum level of study is sufficient?
You should have a strong foundation in classical algorithms and data structures, mathematics, and low level programming. You should know intimately how computers work and be able to exploit that knowledge to squeeze performance and functionality out of the hardware. You should also be familiar with good programming practices so that you can write good code where possible, and be in a better position to know when to break the rules.
I say "should" because this is my list of requirements. I've worked with game developers that only knew the holy trinity of arrays, linked lists, and binary search trees, and could only write bubble sort from memory (on the second try). I guess that's why people like me get hired to consult for people like them.
There's only one kind of C++. Don't confuse the tools with the language.
>does a type of c++ such as visual C++ 2005 which uses dot net suffice or will it be too slow.
Visual C++ 2005 is a compiler, and C++ with .NET isn't C++ anymore, it's C++/CLI; a completely different programming language. And yes, .NET would likely be too slow for many game projects where every ounce of performance is needed.
>so what minimum level of study is sufficient?
You should have a strong foundation in classical algorithms and data structures, mathematics, and low level programming. You should know intimately how computers work and be able to exploit that knowledge to squeeze performance and functionality out of the hardware. You should also be familiar with good programming practices so that you can write good code where possible, and be in a better position to know when to break the rules.
I say "should" because this is my list of requirements. I've worked with game developers that only knew the holy trinity of arrays, linked lists, and binary search trees, and could only write bubble sort from memory (on the second try). I guess that's why people like me get hired to consult for people like them.
In case you were wondering, yes, I do hate you.
•
•
Join Date: May 2007
Posts: 266
Reputation:
Solved Threads: 3
in a previous thread you told me that the world has moved on to "forms of c++ that actually works with the standard language". is visual c++ 2005 one of these forms?
and by your comment about "standard language" i took it you meant that visual c++ 6.0 does not work with the standard language?
if you pick up a text book which just say C++ without any reference to microsoft or dot net or borland i asume that you have a ninety percent chance of reading aboout this standard c++. and also i take it that this standard language is the "only one form of c++" which you talked about earlier in this thread? if that is true then why did microsoft went through the trouble of creating its own form of c++ for 6.0?
and by your comment about "standard language" i took it you meant that visual c++ 6.0 does not work with the standard language?
if you pick up a text book which just say C++ without any reference to microsoft or dot net or borland i asume that you have a ninety percent chance of reading aboout this standard c++. and also i take it that this standard language is the "only one form of c++" which you talked about earlier in this thread? if that is true then why did microsoft went through the trouble of creating its own form of c++ for 6.0?
>s visual c++ 2005 one of these forms?
Yes, you can write standard C++ in Visual Studio 2005.
>i took it you meant that visual c++ 6.0 does not work with the standard language?
Correct. Visual Studio 6 was released before the C++ standard came out, so it isn't very compliant.
>if you pick up a text book which just say C++ without any reference to
>microsoft or dot net or borland i asume that you have a ninety percent
>chance of reading aboout this standard c++.
If the book was also printed after around the year 2000, yes. Two good indicators of a non-standard book are looking for void main and headers with a .h suffix.
>and also i take it that this standard language is the "only one form of
>c++" which you talked about earlier in this thread?
Yes, only the C++ standard can tell us what C++ is or is not. Anything else is an extension or a dialect.
>if that is true then why did microsoft went through the trouble of
>creating its own form of c++ for 6.0?
Prior to the C++ standard we had the de facto standard defined in a book called The ARM (The Annotated C++ Reference Manual). Most older compilers followed the definition of C++ from that book, and/or followed cues from Stroustrup's compiler. Of course, since neither was an official standard, many compilers supported a slightly different dialect of C++. One of the reasons for standardization is the risk of a language diverging into multiple dialects (à la BASIC).
While the C++ standard was being worked on, compilers implemented parts of it that were promising or seemed highly likely to make it into the final standard. Visual C++ 6 is one of those compilers that implements a dialect of C++ somewhere between the ARM-standard and standard language. That's why it supports both .h headers and namespace headers, why it has a standard string class, but rudimentary templates and a weak STL.
Yes, you can write standard C++ in Visual Studio 2005.
>i took it you meant that visual c++ 6.0 does not work with the standard language?
Correct. Visual Studio 6 was released before the C++ standard came out, so it isn't very compliant.
>if you pick up a text book which just say C++ without any reference to
>microsoft or dot net or borland i asume that you have a ninety percent
>chance of reading aboout this standard c++.
If the book was also printed after around the year 2000, yes. Two good indicators of a non-standard book are looking for void main and headers with a .h suffix.
>and also i take it that this standard language is the "only one form of
>c++" which you talked about earlier in this thread?
Yes, only the C++ standard can tell us what C++ is or is not. Anything else is an extension or a dialect.
>if that is true then why did microsoft went through the trouble of
>creating its own form of c++ for 6.0?
Prior to the C++ standard we had the de facto standard defined in a book called The ARM (The Annotated C++ Reference Manual). Most older compilers followed the definition of C++ from that book, and/or followed cues from Stroustrup's compiler. Of course, since neither was an official standard, many compilers supported a slightly different dialect of C++. One of the reasons for standardization is the risk of a language diverging into multiple dialects (à la BASIC).
While the C++ standard was being worked on, compilers implemented parts of it that were promising or seemed highly likely to make it into the final standard. Visual C++ 6 is one of those compilers that implements a dialect of C++ somewhere between the ARM-standard and standard language. That's why it supports both .h headers and namespace headers, why it has a standard string class, but rudimentary templates and a weak STL.
In case you were wondering, yes, I do hate you.
![]() |
Similar Threads
- Help with Win 98 (Windows 95 / 98 / Me)
- Problems uninstalling programs has created havoc for novice user (Windows NT / 2000 / XP)
Other Threads in the C++ Forum
- Previous Thread: C++ Newbie, stumped with problem
- Next Thread: C++ and games...
Views: 799 | Replies: 3
| Thread Tools | Search this Thread |
Tag cloud for C++
algorithm array arrays assignment basic beginner binary c++ c++borland c/c++ calculator char class classes client code compile compiler constructor conversion convert count delete dll dynamic encryption error file files form forms fstream function functions game givemetehcodez graph gui helpwithhomework homework iamthwee input int integer lazy lib link linker list loop loops map math matrix member memory multidimensional network newbie news number object objects opengl output parameter pointer pointers problem program programming project qt random read recursion recursive reference search sort spoonfeeding string strings struct student studio template templates text time tree variable vc++ vector video visual win32 window windows winsock






