I know spectroscopy very well, and yet hearing him talk about light-matter interaction was still very educative for me at the time and I was impressed by the depth and sheer knowledge he had on the matter, learned many things I didn't even know existed from him.
Same applies to many other topics related to physics, engineering and mechanics, not just computer science and programming.
Whoever says that you need a degree to get depth in several topics has never knew people like Carmack who simply study and try to understand.
*this post does not contain an implication about Carmack. He is actually real smart.
When I was a technical evangelist, I regularly gave hour long technical presentations to relatively large ballrooms and it's ridiculously hard to maintain focus. The fact that Carmack gives a detailed talk rather than a presentation or speech is already a distinction, but mostly off the cuff, for hours, non-stop, to a packed conference hall? Impressive doesn't describe it.
Each generation will forge deep appreciation for stuff higher on the stack. And there will always be folks working at the embedded boundary, forging deep appreciation for the folks who blazed the trail you described before them.
Also, to be fair, it's easier to learn stuff today than it was 20 years ago. You don't need to invest as much time and the resources are a lot better (yay for YouTube!)
Cutting corners is not the only reason why software slows down as hardware speeds up. Many people just have no idea how fast their computer is supposed to run, and their "fast enough" is often much slower than it could be. And in some cases that’s the difference between "fast enough to make a smooth animation", and "slow enough that I need a spinning wheel".
It's _really_ painful to remember how scarce information was in the early 90s and how prohibitively expensive the hardware. I guess it was a better filter when only the people who really loved computers were getting into the industry though.
I think that scarcity of information has helped me quite a lot. I often see others giving up on problems where they lack sufficient information, but I have an ingrained ability to sniff out the information - whether it's reverse engineering, gleaning subtle hints from what is available in the documentation I do have or just "thinking like the computer" to intuit things, I can very often make headway where others have failed.
Yes! There's a post we wrote on precisely this phenomenon with John Carmack as the main character that you might find interesting.[1]
TLDR: There was a time when people were willing to spend (literally) tens of thousands of dollars on ultra-premium hardware in order to compute on hardware a few years ahead of the market.
For example, John Carmack spent $23K for a NeXT workstation on which he made Wolfeinstein 3D, Doom I & II, and Quake. He also spent ~$10K on the world's first 1080p monitor, which he used to program the Quake trilogy.
“Decades” is a bit hyperbolic. I got a 22” that would do 1920x1440@80 for under $1000 in 1999. I’m also skeptical of that non-4:3 resolution quoted.
Not sure if it's an age thing but there is a particular feeling common to contemporaries of that era, growing up in our formative years as computers grew from their humble beginnings to the incredible machines we have now. At that time, each new improvement brought astounding differences in capability. In the space of 10 years we went from 8k to 64k of memory, 4 colors to 256 colours to 16k colors to 16M colours. Resolution from 320x200 to 640x480 to 1024x768, which was close to photo-realistic (for the time, an amazing capability). I remember how revolutionary it was when I first got a computer that could render 80 columns of characters - rather than 40. Storage went from tapes to floppy drives storing a hundred kb of data to MB to hard drives storing GB of data. Every time one of these changes happened, a vista of opportunity opened up to explore and innovate and figure out what you could do with the new capabilities. Writing code in those times was all about deeply understanding the internal capabilities of the machine you had and how to get the most out of them.
Something about that process forged a deep appreciation for the fundamentals of hardware and software that I don't know how anybody could get these days.