In 1991, after a 28-hour coding spree, the efforts of John Carmack 'Doomed' us all
And the modular game principles were later adopted for rocket design.

Business coach Terry Kim has posted an extended thread highlighting the achievements of John Carmack. Kim explained how Carmack single-handedly and permanently changed the scope of both gaming and aerospace by coding the original id Tech engine for Doom over 28 hours, creating a modular approach to building games (and later rockets) that forever changed the two disparate industries.
As Kim spins it in the full thread, which includes some video excerpts from Carmack interviews throughout the years, "This is the power of true innovation: It's not just about solving the problem in front of you. It's about developing principles that can transform entire industries. [...] Greatness requires obsession. When Carmack coded for 28 hours straight, he wasn't just meeting a deadline. He was pushing the boundaries of what is possible."
In 1991, one man coded for 28 hours straight without sleep.What he created transformed both gaming and aerospace engineering.The story of DOOM is wilder than you think.Here's how one coding marathon changed technology forever: pic.twitter.com/fhdgZ13oFyJanuary 21, 2025
But let's look at this critically — is John Carmack really that much of a pioneer? Well... yes. Even if he'd stopped at making the id Tech 1 engine that shaped Doom and a legacy of several other engines and series that would spawn from id Tech (including GoldSrc/Source from Valve and its games), John Carmack's place as an industry pioneer would long be solidified. His later work with Oculus VR and Armadillo Aerospace is really just a more modern cherry on top of these all-time great achievements.
Additionally, let's not forget the output of id Software prior to Doom. Doom and the eventual full-3D-logic Quake wouldn't exist at all without Wolfenstein 3D, which runs on what some people call "id Tech 0" and came out years ahead of Doom. This 3D gameplay engine came to be after id Tech's creation of Commander Keen, and has similar (but less visible) restrictions as Doom, where gameplay can only be calculated on a 2D plane (so rooms layered over each other, aiming up/down, etc are impossible).
What Terry Kim, fortunately, didn't skim over was Carmack's time with Softdisk, where they developed Dangerous Dave, the first major series of side-scrolling platforming games made for PC rather than console. Of course, there were still limitations — namely per-screen challenges rather than seamless side-scrolling. During this time, Softdisk also developed and pitched a Super Mario Bros. 3 port to Nintendo, based on their progress in making a proper side-scrolling game engine for PC. This work was later used for id Tech's Commander Keen, whose success would fund all of id Tech's future advancements for both themselves and the industry at large.
Silly example: but did you know that among dozens of other games, titles as recent as Half-Life: Alyx are still using code derived from id Tech? Granted, it's Quake-era id Tech 2, but we don't have that without Carmack, John Romero, and the rest at id Tech, either.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.

Christopher Harper has been a successful freelance tech writer specializing in PC hardware and gaming since 2015, and ghostwrote for various B2B clients in High School before that. Outside of work, Christopher is best known to friends and rivals as an active competitive player in various eSports (particularly fighting games and arena shooters) and a purveyor of music ranging from Jimi Hendrix to Killer Mike to the Sonic Adventure 2 soundtrack.
-
aldaia Carmack has pioneered the use of many techniques in computer graphics: adaptive tile refresh, ray casting, binary space partitioning, surface caching, ...Reply
But modular programming, as the article suggests, is not one of those. The concept of modular programming existed many years before he was born. The EDSAC (1949) https://en.wikipedia.org/wiki/EDSAC designed by Maurice Wilkes https://en.wikipedia.org/wiki/Maurice_Wilkes already made use of modular libraries even before high level languages existed. The term "modular programming" dates, at least, to the National Symposium on Modular Programming in July 1968. Modula (1975) was a programming language designed from the start for modular programming.
And I bet that in engineering the modular approach or modular design predates the first computers. -
cuvtixo
I remember reading in the 90s about Modula, written by Niklaus Wirth, so it was presented as a "successor" to Pascal. Too bad it predated "Open Source", so unless one could get his hands on physical disks (and specifically Mac disks for me, at the time) there was no chance to play with it. But it's existence only reinforces the fact that the approach wasn't considered viable for commercial coding until Carmack knocked it out of the park. So he did a little sum'thin' about promoting the technique, let the guy have a little credit!aldaia said:...The term "modular programming" dates, at least, to the National Symposium on Modular Programming in July 1968. Modula (1975) was a programming language designed from the start for modular programming. -
cuvtixo I read this article after reading about the article about the upcoming release of 666 "Doom Boxes" ($666 each). But the hyperbole concerning the "28 hour" code marathon seems to me like propaganda -an effort to exploit young programmers for hire, as if their ideal should be to pull off these stunts. If you want to think coders are "doomed" to be workaholics, you go ahead, but my advice is make sure you're working for yourself! Is it reasonable to even encourage young employees to do stuff like this? Hell, no! do yourselves a favor and touch grass. it's more reasonable to play 28 hours of Doom then to replicate Carmack's feat.Reply -
bit_user
Back in the 1970's, there weren't stores where you could buy shrink-wrapped software. Pretty much the two ways you got pre-written software were either from your computer manufacturer or the community. The community software was public domain, to the extent that they didn't even bother to include copyright notices. You could consider that a precursor to the modern Open Source movement.cuvtixo said:I remember reading in the 90s about Modula, written by Niklaus Wirth, so it was presented as a "successor" to Pascal. Too bad it predated "Open Source", so unless one could get his hands on physical disks (and specifically Mac disks for me, at the time) there was no chance to play with it.
Here's an archive of some of that old, academic software people used to trade on tapes and such:
https://www.netlib.org/
As for Modula, I'm reading it was quickly succeeded by Modula-2 (wikipedia), which is basically the only reference I've heard about. According to that Wikipedia page, you can still access Wirth's Modula-2 compiler here:
https://www.sysecol2.ethz.ch/RAMSES/MacMETH.html
I have no idea what it would take to use it on any modern machines. Your best bet is probably to use something like GNU Modula-2, which is integrated into GCC and therefore supports all the same hardware. The Wikipedia page also mentions an implementation called ADW Modula-2, which I see had its most recent update in 2021.
Modular programming certainly did start to catch on, I suppose in the 80's. By the early 1990's, Object-Oriented Programming was the latest buzzword, which built upon the basic concepts of modularity, but espoused finer-grained organization, along inheritance hierarchies, and modelling the relations between them.cuvtixo said:But it's existence only reinforces the fact that the approach wasn't considered viable for commercial coding until Carmack knocked it out of the park. So he did a little sum'thin' about promoting the technique, let the guy have a little credit!
Since then, there have been various other paradigms promoted, such as Aspect-Oriented Programming, but the main thing that seems to have happened is that more languages integrated features of Functional Programming. Modern software development is a little more like Mixed Martial Arts, where programmers have a variety of different techniques in their conceptual toolbox and can mix & match to best suit the situation. -
bit_user
Yes and no. I've been there, many times. It's just like... you get a zone where you have loads of details all in your head, and the feeling of fitting all the pieces together or solving the roadblocks hit is sort of addictive.cuvtixo said:I read this article after reading about the article about the upcoming release of 666 "Doom Boxes" ($666 each). But the hyperbole concerning the "28 hour" code marathon seems to me like propaganda -an effort to exploit young programmers for hire, as if their ideal should be to pull off these stunts.
Progress is often uneven. There are days when I get a little done, here and there, but meetings and various disruptions conspire to drag down my productivity. A lot of times, what it takes is just long sessions of uninterrupted productivity. When I'm in one of those, it's a waste to cut it short, just because the clock tells me it's a certain hour. Ideally, I just go until I have a biological need to stop. At the end, it's pretty much always gratifying.
Of course, the dark side is when you face deadline pressure and feel like you have no choice but to slog through it, in a jittery caffeinated haze. That's when a lot of bugs tend to creep in, and you can get stuck on things that seem very clear after a bit of sleep and nutrition.
There are definitely work-a-day programmers, for sure. However, the most talented developers I've worked with all had a passion for the craft that propelled them beyond the 9-to-5 workday.cuvtixo said:If you want to think coders are "doomed" to be workaholics, you go ahead,
Very early in my career, I noticed that rewards had little to do with effort. A developer producing much more or better output than others wouldn't get proportionately compensated. You could just see that and become embittered and parsimonious with your time, but the approach I took was to look at the intangibles I was getting from the experience. It also helped build my reputation and esteem, among my coworkers, and that leads to new opportunities.cuvtixo said:my advice is make sure you're working for yourself!
I wouldn't push anyone into a particular work style. They need to feel it out and find what works for them.cuvtixo said:Is it reasonable to even encourage young employees to do stuff like this? Hell, no!
True. Exercise is definitely important. I particularly love taking long walks, when I'd hit a problem I needed to contemplate or had other stuff on my mind that was too distracting.cuvtixo said:do yourselves a favor and touch grass.
The last all-night gaming session I had was when I was a teen. Since then, I've avoided getting into any MMO's or highly-involved games. Pretty much the only type of game I'll play is something I can pick up for 30 minutes and not come back to for another month. Games can be a good way to socialize or blow off steam, but most of the challenges in games is artificial - and therefore, so is the gratification you get from beating them. I'd rather put my time & energy into solving real problems that have real value - either to myself or others.cuvtixo said:it's more reasonable to play 28 hours of Doom then to replicate Carmack's feat.
Then again, I don't pretend to know what's best for anyone else. So, take that with a grain of salt.