Hacker News new | ask | show | jobs
by Pingk 879 days ago
The average developer doesn't put the same care into what they're developing the way they had to in the past.

Computers were slow in the 80s/90s, so if you wanted your program to run fast, you had to know how cache and RAM worked, and utilise what little power was there to the max. As computers have gotten faster, that knowledge has gotten less relevant to the average developer.

There are some fields where that knowledge is useful, like embedded systems, HPC or games, but they are a minority.

I won't deny there are some benefits in not needing to care - you can write programs faster (even if they perform slower), and some classes of bugs can be reduced (e.g. memory bugs). These are good things, but fundamentally our programs still move memory around and interface with the real world.

As more people forget (or aren't taught) to keep this in mind, we'll lose the ability to make things fast when we need to, and our software will get slower and slower until it's unusable.

On a related note, we're also not allergic to complexity the way we should be. The average developer doesn't have a problem using hundreds of libraries in a single project if it makes their job easier. Unfortunately this also makes programs slower, harder to debug, and increases the surface area for a vulnerability.

5 comments

> we're also not allergic to complexity the way we should be.

Very well put. I think the majority of why performance isn't a goal anymore can be attributed to this. So much software today is written like it's running on a supercomputer (and in comparison to computers even just 10 years ago, it is). Libraries have become crutches rather than tools.

> Computers were slow in the 80s/90s, so if you wanted your program to run fast, you had to know how cache and RAM worked, and utilise what little power was there to the max. As computers have gotten faster, that knowledge has gotten less relevant to the average developer.

Yes and no here.

I fully remember the same thing happening slower computers back in the day. My Amiga 500 was this way as I recall. That was a computer released in 1987, until I finally upgraded to a PC circa 1996/7 ish.

There was a point where MS was releasing slow software on purpose with the idea that the processors (which were still following Moore's law) would catch up and make it fast. Though one has to wonder if it was secretly Microsoft's inability to write good software that drove Moore's law.

> average developer

I don't know about you but "performance upgrades on ancient hardware" isn't exactly the sort of thing my manager would be terribly happy I was focusing my time on.

Our operating systems are not made by average developers.
Programmer from the 80s: Cache? What's that? People have room for Cache?