John Carmack - C/asm

Started by
47 comments, last by ao 23 years, 9 months ago
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
Play free Java games at: www.infinitepixels.com
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
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
Play free Java games at: www.infinitepixels.com
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|-| ~
It's only funny 'till someone gets hurt.And then it's just hilarious.Unless it's you.
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.
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)
Please, please, send me that article!
Thank you!
Would be cool if you send me the article.

XKalibur

Everything is possible ...
... at least I think so.
Send it to me, please.
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

This topic is closed to new replies.

Advertisement