4 ms·
Read John Carmack's reply to someone saying Doom's code is beautiful: https://mobile.twitter.com/id_aa_carmack/status/290886163454128129 https://mobile.twitter
by ffhhj 4y ago
Read John Carmack's reply to someone saying Doom's code is beautiful:
https://mobile.twitter.com/id_aa_carmack/status/290886163454128129 https://mobile.twitter.com/id_aa_carmack/status/290886163454...
- deleted 4y ago[deleted]
- metadat 4y agoThe tweet contains zero substance. I did the dirty work to dig through the linked links to get the goods and share, enjoy! It's a good read. --- Thanks! A few comments: In some ways, I still think the Quake 3 code is cleaner, as a final evolution of my C style, rather than the first iteration of my C++ style, but it may be more of a factor of the smaller total line count, or the fact that I haven’t really looked at it in a decade. I do think “good C++” is better than “good C” from a readability standpoint, all other things being equal. I sort of meandered into C++ with Doom 3 – I was an experienced C programmer with OOP background from NeXT’s Objective-C, so I just started writing C++ without any proper study of usage and idiom. In retrospect, I very much wish I had read Effective C++ and some other material. A couple of the other programmers had prior C++ experience, but they mostly followed the stylistic choices I set. I mistrusted templates for many years, and still use them with restraint, but I eventually decided I liked strong typing more than I disliked weird code in headers. The debate on STL is still ongoing here at Id, and gets a little spirited. Back when Doom 3 was started, using STL was almost certainly not a good call, but reasonable arguments can be made for it today, even in games. I am a full const nazi nowadays, and I chide any programmer that doesn’t const every variable and parameter that can be. The major evolution that is still going on for me is towards a more functional programming style, which involves unlearning a lot of old habits, and backing away from some OOP directions. http://www.altdevblogaday.com/2012/04/26/functional-programming-in-c/ http://www.altdevblogaday.com/2012/04/26/functional-programm... John Carmack
- CrimsonCape 4y agohttps://web.archive.org/web/20130513205831/http://www.altdevblogaday.com/2012/04/26/functional-programming-in-c/ https://web.archive.org/web/20130513205831/http://www.altdev...