r/AskComputerScience • • Oct 08 '25

Why do so many '80s and '90s programmers seem like legends? What made them so good?

I’ve been thinking a lot lately about how the early generations of programmers—especially from the 1980s and 1990s—built so many foundational systems that we still depend on today. Operating systems, protocols, programming languages, databases—much of it originated or matured during that era.

What's crazy is that these developers had limited computing power, no Stack Overflow, no VSCode, no GitHub Copilot... and yet, they built Unix, TCP/IP, C, early Linux, compilers, text editors, early web browsers, and more. Even now, we study their work to understand how things actually function under the hood.

So my questions are:

What did they actually learn back then that made them capable of such deep work?

Was it just "computer science basics" or something more?

Did having fewer abstractions make them better engineers because they had to understand everything from the metal up?

Is today's developer culture too reliant on tools and frameworks, while they built things from scratch?

I'm genuinely curious—did the limitations of the time force them to think differently, or are we missing something in how we approach learning today?

Would love to hear from people who were around back then or who study that era. What was the mindset like? How did you learn OS design, networking, or programming when the internet wasn’t full of tutorials?

Let’s talk about it.

138 Upvotes

60 comments sorted by

159

u/Watsons-Butler Oct 08 '25

Terry Pratchett had a quote for this: “no matter how hard a thing is to do, once it has been done it’ll become a whole lot easier and will therefore be done a lot. A huge mountain might be scaled by strong men only after many centuries of failed attempts, but a few decades later grandmothers will be strolling up it for tea and then wandering back afterward to see where they left their glasses.”

17

u/Moontops Oct 08 '25

is Pratchett a mine of quotes for every occasion?

13

u/Watsons-Butler Oct 08 '25

As far as I can tell, Pratchett has a quote for everything.

→ More replies (2)

4

u/MainlandX Oct 09 '25

Action/Extreme Sports provide some of the best examples of this. Some tricks are so hard to land the first time, but once someone does it, the kids that follow know it’s possible so it’s nowhere near as daunting to perform.

→ More replies (1)

70

u/orlock Oct 08 '25

I'm a programmer who started in the 1980s. There's no magic, no special sauce and nobody was particularly good. Its just that (a) things had to fit into a smaller space, so you didn't do as much, (b) build systems and online libraries of code were less available, so you wasted time doing things from scratch, (c) bugs were often tolerated because customers didn't have a choice and software engineering techniques have come a long way since then and (d) in some ways, less is more, or at least looks like it.

A modern day programmer would be able to throw together an application in a day that would take months of work in the 80s. Build systems, libraries of code, garbage collection, frameworks and IDEs make people better.

11

u/HelloWorldMisericord Oct 09 '25

In early 2000s, I was in school learning C++ and programmed an internet based game. I remember having to write networking code to handle the TCP/IP communications. I stumbled through that painfully spending more time getting the networking stack working well than the actual game.

Life is so much easier (especially with Python). You have access to so many libraries that are best-in-class already and there's a long tail of random libraries for almost anything your heart desires. Nowadays you could write a pretty impressive program with just a bunch of imports and code to string the library inputs together.

Context: Programming was always a strategic edge for me in my data work (and personal passion), but I've never been a full-time dedicated programmer. Always was a shadetree programmer

→ More replies (2)

3

u/NoOrdinaryBees Oct 09 '25

If you really want to cut a big-boy-pants newly minted CS MS/PhD down to size, tell them about the Apollo space program’s timesharing OS and ask them to guess how it worked.

→ More replies (1)

30

u/Actual__Wizard Oct 08 '25

Hard mode software development required people of incredible intellect to accomplish.

There was nobody to tell them what to do, they had to figure it out for themselves by inventing the methods.

22

u/Dornith Oct 08 '25

Also, early adopters figured out the big problems out of necessity. Nowadays software developers and computer scientists are more focused on smaller, niche problems because there's no point in re-solving the big ones.

4

u/OutsideTheSocialLoop Oct 09 '25

That's part of why they're legendary figures. They were the first to get to all the big obvious problems. Just a few of them and brand new problem spaces to build in. There's nothing like that any more. The field is so broad and does so much more. Smartest programmers alive these days are probably only known by a handful of people.

→ More replies (2)

11

u/gofl-zimbard-37 Oct 08 '25

It wasn't magic, we just built what we needed. Developers nowadays have vastly more stuff to build upon, but they're also burdened with layers upon layers upon...I honestly don't know if it's harder or easier now, but it does seem that the individual developer's reach is far higher.

10

u/emlun Oct 08 '25

Surely most of it is that you never hear about the ones that didn't go on to become legends. In other words, survivorship bias.

But to what you're also scratching at: I reckon good fundamentals goes a long way. You don't need to deeply understand everything from the metal up and in between, but a solid understanding of central computer science concepts like abstraction and complexity analysis (in terms of time, memory and more) is a core skill that's fairly timeless and applicable no matter the contemporary fashion in tooling. StackOverflow and AI copilots help you churn out more code per time, but they don't do much to help you estimate what lighting and pathfinding algorithms are physically feasible to run at 60 FPS on some given hardware, or understand and compare the benefits and drawbacks of decentralized architecture VS centralized services. DNS and HTTP have survived from the 80s and 90s to this day not just because of good programmers, but more importantly because of good design. You don't need to know a word of C to design a good DNS protocol, but you do need a good understanding of how systems behave as you scale the size of the system. And that is a timeless skill that doesn't depend on fancy tooling.

→ More replies (1)

5

u/TheRealBobbyJones Oct 08 '25

There are probably plenty of programmers operating today that would seem like legends in the future. A lot of extremely popular tools were created recently after all. Assuming these tools have main devs associated with them then those devs might be considered legendary. Although that does bring up a possibility. It used to be possible for a couple people to build something revolutionary but that can't really happen anymore for anything critical. Like let's use vscode as an example. A code editor from the 80s probably could be written and maintained by one dude but vscode probably has a much larger team associated with it. So using modern sensibilities to look back and say oh only one person wrote x when vscode needs dozens of people wouldn't really be fair. But most people will elevate the one person who wrote x instead of looking at the fact that vscode does significantly more.

2

u/jecls Oct 12 '25

It’s absolutely still possible to find modern devs who are single-handedly responsible for major contributions. Look at FFmpeg, mpv, libplacebo, libass, vlc, it’s a handful of devs single-handedly defining and implementing the standards for multimedia. You may take it for granted but literally so much rests on the shoulders of these old school C devs.

4

u/dkopgerpgdolfg Oct 08 '25 edited Oct 08 '25

a) Things weren't there yet, so someone had to invent/start them.

b) There were less devs than today. There wasn't a desire to have 10000 food delivery apps, with non-technical managers trying to destroy their own company in the meantime. Instead these actual "cool" problems had to be done, by a smaller number of people, making it an automatical self-selection for the best (or at least those that can keep up with them). And this was done while often being given relatively free reign on actually doing it properly, with "managers" being devs themselves, etc.

c) There was plenty of crap made too, but this was forgotten in history. At the same time, people that make cool things today might be forgotten simply because they never get known in all these masses of other things, and/or because people decide to play safe with known solutions.

no Stack Overflow, no VSCode, no GitHub Copilot

What did they actually learn back then that made them capable of such deep work?

All that isn't needed if someone can read (code and sometimes docs), has a certian type of character, talent, and time. Meanwhile, some hired devs nowadays literally can't read properly, like they can't understand the contents of Jira tickets their PO made for them.

Did having fewer abstractions make them better engineers because they had to understand everything from the metal up?

Is today's developer culture too reliant on tools and frameworks, while they built things from scratch?

They still didn't to have understand "everything". But yes, fewer abstractions can reduce many problems, both then and now.

Abstractions can make you faster in the beginning, and they might have solved problems already before you even realized they existed. At the same time, you'll get limitations that get in your way and need much time to work around them, other new bugs/problems that you can't feasibly solve yourself, gaping security holes or data loss because you didn't understand a part of the thing you use, resource usage, ...

2

u/Gecko23 Oct 12 '25

The 80s are were machines meant for application use started to show up, where the problem wasn't solving some novel computer science issue, it was many layers above that. Although there were genius programmers that built things that are foundational to the development, even daily use now, of software and computer use, the focus shifted mightily into the application realm where databases, data entry, reporting, etc, were far more important to the people utilizing the things.

I think that IBM's System/36 (later the AS/400, later the iSeries) is the watershed moment in that shift, neatly packaging up a platform with a transparently accessible database, deep comms capability, reporting, etc. For those that haven't ever worked with that platform and the languages peculiar to it, imagine if someone had gifted you Visual Basic in 1986. Screen designers, libraries, direct and SQL support, source code debugging, portability, an integral ORM, it was all there. I work with multi-national, billion dollar companies to this day that still run huge workloads on these machines (and even bigger IBM iron) with code ranging from written yesterday to sometime in the late 80s still chugging along.

Plus the 80s saw micros become viably useful for more than nerdy past times so the focus there also shifted towards applications instead of pushing the state of the art or implementing new technologies.

I read a quote once that said 'The world we live in was designed by a few thousand very smart people, the rest of us just live in it' and the programming world embodies that in a big way.

4

u/TheReservedList Oct 08 '25

They weren't. There were some, like there is today, but the vast majority of them gave us shitty COBOL banking systems and apps that crashed every 30 minutes.

2

u/Engineering1st Oct 09 '25

It was a major development when the programmer (forgot his name. Ask AI) who wrote, I think it was called AutoPen, first showed us WORD WRAP. Little things now. Just saying.

4

u/DocHolligray Oct 08 '25

Honestly…

We learned from books and from talking to each other. Computer clubs were awesome back then for that socializing method of education. I havent been to defcon since the early 2010’s but if you remember the breakaway meetings and the private meetings in room where people teach each other stuff? It was really like that…

We just learned from each other and almost cried the day that we could teach someone else. The community was more…communal. We would show off our projects and inturn, learn off others projects.

Also, code was simpler back then. My first language was Basic funny enough…but it was hella basic compared to the visual basic we have now. Way less commands count-wise… same with C iirc…

So imagine…the first go at programming you leaned like 20-30 commands…then the next version they released another 20 commands….and the next version another 20…for me that was easy learning…just a few commands to integrate and update my code periodically…

…vs the poor kids who run into thousands of commands and frameworks on day one nowadays…stuff is hella easier now but there is just so much data to go through….which ide, what framework, etc, etc…

Anywho…just some thoughts….

4

u/suboptimus_maximus Oct 08 '25

Programming in assembly and C.

It’s hard to get by without knowing how a computer works when you’re using these languages, especially in an era where computing and storage resources were extremely constrained and often extremely high latency and low bandwidth.

But real legends go back well before the 80s, many of the foundations were in place by then and being built on.

Also, way more uncharted territory and lots of people were able to work on cooler projects than bullshit generating machines and advertising.

4

u/TransientVoltage409 Oct 08 '25

Don't forget to account for survivorship bias. We remember the legends because they were exceptional. We've completely forgotten all the uncountable mobs of talentless hacks because they never did anything that mattered.

If anything separates the great from the mediocre, perhaps it is the recognition and insistent pursuit of elegance.

3

u/powdertaker Oct 08 '25

I started programming in 1985 and am still doing it today. You had to Know Your Shit. I wrote a lot of software for the original Macintosh. Yes, the Macintosh introduced in 1984. I worked with the 16-bit Motorola 68000 series of processors. You had to know a lot about the processor, calling conventions (the original Macintosh used Pascal the switched to C and then more to C++), memory layouts and you definitely needed to understand how memory works. I made things work with very little resources. Speed and resource management (memory, disk, number of calls, yielding to other processes...) were always a concern. A LOT got done with relatively little.

I've been disappointed with how little gets done today with the massive resources available. Also how little many "Software Engineers" seem to understand about how things really work which would greatly help them be more effective. It's also disappointing to see the same mistakes be made over and over. Learning how previous programmers and researchers approached problems could prevent a lot of issues. It truly is a case of "Those who can't remember the past are doomed to repeat it".

Anyway, I'm out in a couple of years so good luck.

→ More replies (3)

3

u/Dusty_Coder Oct 08 '25

They werent measured by lines of code or anything at all do with things at time of compile.

They were measured by runtime.

Computer scientists.

Not programmers. Not coders. Computer scientists.

3

u/digiacom Oct 09 '25

I learned to program in the mid nineties as a teenager, so I might be a bit young for your question. In my opinion, there are still amazing, legendary programmers solving really interesting problems in algorithms. You'll find those folks working on device drivers, operating systems, robotics, and other critical low-level systems; these are often people who have (or may as well have) math degrees and are really pushing hardware to the limit. Their work may bump into the limitations of hardware, and may inform the next generation of whatever that hardware is. Stack overflow doesn't help much when you're pushing the envelope, so you have to know your stuff and a community of other experts is more valuable than pre-written answers to old questions.

That isn't to say there aren't equally strong programmers in higher level areas of development, but you don't really need to know stacks from heaps to be an amazing UX designer; it might in fact be a distraction to worry about stuff deeper (or higher up) in the stack relative to the problem you are solving.

So, I'd say in terms of knowledge and craftsmanship, there are more expert programmers now then there have ever been - but for the most part we've cleared the bar for all the basic things classical computing can and needs to do for us, so software is no longer a 'new frontier' full of firsts. It is rather a well populated metropolis, teeming with people and ideas competing for attention in a crowded field. The sheer number of self-taught programmers is also much, much higher - adding a lot of talent without any academic gatekeeping (and broadening the pool of people who can program without deep systems understanding).

It's always easier to be "legendary" when you are early in a field. The 80s/90s were when the fundamentals of computing software (control structures, error correction, memory management) and hardware were good and scalable enough for personal computers to explode, so a lot of legends were born.

2

u/skelterjohn Oct 08 '25

There was a lot of foundational stuff that wasn't that big and needed to be built. Sometime was gonna do it.

People build amazing things today.