Hacker News new | ask | show | jobs
by jonnypotty 1906 days ago
Came here to say exactly this. There is so much arrogance in our industry, why would code from the past be worse?
3 comments

Indeed. For anyone who grew up in the industry after the Internet was widely available, it might be unnatural to visualize how much effort was spent on making sure the code is correct before shipping.

Shipping meant producing that gold master build and sending it off to a floppy replication service and then got distributed to the store shelves. That 1.0 version was frozen until you'd ship a new version a year or more later. There was no second chance for that release, code had to be as close to perfect as possible, first time out.

Medicine is a similar field that advances enormously based on increasing knowledge hand in hand with incredible leaps in technology.

Is it arrogance to say that medicine is far better than it was in the past?

> Is it arrogance to say that medicine is far better than it was in the past?

Irrelevant. Medicine and Software Development are not correlated, just because we want them to be. That's the point. Software Development results seem to have devolved (quality metrics such as binary size for equivalent reliability, functionality, and notably time to release), despite improvements in almost every aspect of development tooling.

Also interesting to note, these quality metrics follow along expected curves (accounting for development tooling) when DUPLICATING (sometimes with small improvements) working software. This tells us a great deal about what is a large problem with modern software.

People expect much more features with modern software as before, and accept worse reliability because of the faster bug fix cycle.

Sometimes even playing music doesn't work on my mobile phone, and I have to restart it. I never had that problem with my casette player 30 years ago. But that doesn't mean that I go back using a casette player instead of my phone for listening music.

> quality metrics such as binary size for equivalent reliability, functionality, and notably time to release

Binary size is not a quality metric.

Interesting that "avoids causing unnecessary costs" is not a quality metric to you. It's fun to see how it can suddenly become a really really important metric on platforms with size limitations, even if they do not care about "cost to users", which is the more common effect of binary size.
That cost is frequently swamped by development costs, runtime costs, support costs. Platforms with super restrictive size limitations are a small minority, these days you can plop a 5-10MB binary on your toaster.
Maybe not to you…
To the vast majority of software developers and software projects out there, except for very constrained embedded environments.

Server back ends don't care about it, front ends don't care about it despite the lip service paid, games sure as hell don't, etc

A small minority of web devs seem to care, together with creators of already gigantic mobile apps and as I was saying, embedded devs working in very constrained environments.

The market, as a whole, maybe has this as their 100th priority. Which means it's not.

This is often the excuse we hear for why modern software is bad: "well, normal people don't care about that", a strawman argument that implies anyone who does care is abnormal and therefore worthless.
I'm not even sure how to explain why I would expect technology from the past to be worse than technology from the present. But yeah, I do expect that.
Code is a way to define a series of logical steps that can be performed using binary logic. This hasn't changed in 70 years.

Expecting code from the past to be "worse" is like expecting math from the past to be worse.

I also expect math from the past to be worse.
Oh, haha, well at least you're consistent.