Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

ao

John Carmack - C/asm

This topic is 6663 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I just read in another post that John Carmack ( if thats how you spell the name ) only uses C and assembly when making his games. I was wondering if anyone had ever read an interview or article by him saying why he prefers to use C over C++ ( please post a link if you have read one and remember where it was ). I am not posting this to start a C/C++ war over which is better, I am just looking for links to Carmacks reasoning behind using C/asm only for games. ao

Share this post


Link to post
Share on other sites
Advertisement
There was an article in Game Developer magazine called "How I spent my summer: What I learned working on Quake 3" by Brian Hook. In that article he talks about why id software choses to work with C/asm instead of C++. I think one of the main reasons he mentions in that article is the fact that, at least at the time of the article, most C compilers generated "more consistent" code that most C++ compilers because the ANSI C specification has been stable for some time now. Meaning that he could generate code with a C compiler and pretty much be able to guess what the asm would look like and things would be more consistent when they used another compiler on another platform (since everyone knows that id software games run on alot of different platforms). However, C++ compilers weren't as consistent. I don't know if things have changed since then, but this is what he said in the article. He also talks about alot of other interesting things, so I'd suggest trying to track down that article. I have no idea which issue it was, but by the title you should be able to get a rough estimate in order to track it down. Hope this helps.

-Dave

Edited by - dmiles96 on June 17, 2000 2:13:25 AM

Share this post


Link to post
Share on other sites
Well, thanks for the info. I went to www.gdmag.com to see if I could back order that issue ( It was in the January 1998 issue ). Looks like I''m out of luck because they are sold out. Oh well, I also searched the web for online interviews with Brian Hook but of course I didn''t find the interview that I was looking for.

ao

Share this post


Link to post
Share on other sites
On the topic of ANSI C vs. ANSI C++, it''s true that the ANSI C++ standard is still reasonably volatile, while the ANSI C one is rock-solid and set in stone. This does lead to a few compiler problems when using specialised features though I think the situation is probably better now than it was when John Carmack and consorts decided to stick with C and Assembler.

I think another reason for them to stick with C could well be experience. If they are all very skilled C programmers, there''s no need to go to C++, they can work well enough using their old language, without the trickiness of getting high-performance code with C++.

I think though, that slowly, as knowledge of C++, and the standard of implementation for compilers, gets better, people will move toward it more and more, even in high-performance applications.


Give me one more medicated peaceful moment..
~ (V)^|) |<é!t|-| ~

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Hey *ao* if u want that ARTICLE I have it in .PDF format, just post ur e-mail adress and I''ll send it to u.

Share this post


Link to post
Share on other sites
Hey could you send me the articel,too?
Would be very nice,XBTC!

P.s.:For my email-adress just click on the who? button.(In case you don´t know already)

Share this post


Link to post
Share on other sites
What about quake3 then?? is it all C and assembly? no windows component?? wouldn''t they use OpenGL (hence the drivers... and hint hint GLSetup) and use win32asm with it... or Visual C++

still C / C++ though

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!