Live data from Hacker News

Ask HN: Why is software quality always decreasing?

news.ycombinator.com

121–130 of 166 posts

Re: Ask HN: Why is software quality always decreasing?

#121
Businesses are complex and have legacy cruft and have institutional strengths and flaws. Their work product reflects that. Sometimes it runs deeper than any one firm or industry. Just imagine how much easier calendars would be if each month was exactly four weeks long.

Re: Ask HN: Why is software quality always decreasing?

#122
I noticed the same thing. Much of the over-complicated tooling and libraries which are being accepted in the industry today without any resistance would have triggered furious debates if they had been introduced 10 years earlier.

There is a technology mono-culture, heavy in dogma and censorship.

I suspect that is what happens when prominent developers who happen to be working for a financially successful company like Facebook, Google or Microsoft end up promoting and heavily pushing their favorite tools onto everyone down the hierarchy and company boundaries (as if they were silver bullets) and censoring nuanced, rational discussions in the process.

Re: Ask HN: Why is software quality always decreasing?

#123

Earlier quoted context omitted.

I'm not arguing you're wrong, but I'd like to harp on one point: > The various mobile app stores have produced a pretty effective demonstration that people (as a general rule) will happily accept garbage apps for $0 or $0.99 or 2 minutes of ads for every 30 seconds of use rather than paying even $5 for better software. Those stores have also been set up in such a way that buying expensive software doesn't make any se…

> 1. Developers can't offer free trials, so I have no way to test out an app and see if it's worth $$$$$. Yes they can. Via in app purchases, they can offer a reduced set of features for free, and the full set for money. As an example, I have Working Copy (free) but have (twice now) done the in app purchase to unlock "pro" features because I've found enough utility in the software. It will work without the purchase,…

In app purchases are a handy workaround, but they necessitate that the developer offer a usable free version per Apple rules (which they don't always apply entirely consistently). My understanding is that you can't have the app entirely shut down after X days without payment, so developers need to spend time creating some level of freemium functionality.

That's certainly doable, but it's more work, and you can see how the system has been designed to push you towards a specific pricing model.

---

Aside:

> At least some have worked this out. Buying OmniFocus 3 (?) with OmniFocus 2 (?) still installed on your device got you a discounted price.

That's a really clever way to do it!

Re: Ask HN: Why is software quality always decreasing?

#124
post #119

Software systems were simpler back in the day. Steve Wozniak 'coded' Breakout in 45 chips on a circuit board, then coded it in assembly and coded it again in BASIC to prove somebody could. There was a limit to how big of a program you could fit in an Apple ][. A modern game could have a development budget more than a Hollywood movie and fill a whole Blu-Ray disc. From one perspective it is a miracle of progress that…

Because systems were simpler, the teams that produced them were simpler, too. In the 1980s it was common for one person to have developed an entire commercial program. Just take a look at The Giant List of Classic Game Programmers ( https://dadgum.com/giantlist/ ) and note how many amazing games were written by just one person. It's a lot easier to QA a program when you wrote the entire thing and can manually test it…

Single people wrote whole commercial programs in assembly language in four to six months.

Of course, C is overrated and not much easier than a good macro assembler, but people working on micros in 1980 often didn't have a good macro assembler and even people working today don't have good macro assemblers.

I would have given up Arduino programming in C long ago if it wasn't for the possibility that I might need something more powerful than AVR-8 and C is portable.

Re: Ask HN: Why is software quality always decreasing?

#125

Earlier quoted context omitted.

It definitely feels like survivorship bias. We only remember the good software of the past while forgetting the hundreds of buggy mess created by companies that are probably defunct by now

I wonder if people are forgetting that not long ago, it was acceptable and normal that your word processor could have a bug in it which would crash the entire OS. Or how almost everything was insecure by default.

Nobody found that acceptable except computer programmers.

Re: Ask HN: Why is software quality always decreasing?

#126

Software quality has been increasing for as long as I've been in the business. However, the complexity, scale, and defect surface of software has been increasing at least as quickly. We've invested the systemic gains in quality to expand the capabilities of what software can reasonably do instead of polishing the software we wrote 20+ years ago. This was the right choice in most cases. The software from a few decades…

I think, there are different aspects of quality. What you are referring to is the increased adoption of unit standardized techniques (unit tests, abstractions, continuous integration, etc). What the OP was referring to is the reduced understanding by the developers of why they are using each technique, and increased leanings towards just copy-pasting something from StackOverflow, or blindly cargo-culting something th…

I don't think we have reduced understanding of techniques. Software always had fads and programmers using them without understanding. The "Architecture Astronauts" article is now 20 years old! https://www.joelonsoftware.com/2001/04/21/dont-let-architect... And before that you could find rants that the real programmers are supposed to be using assembly, not high-level languages for noobs, like C.

And the examples you present are not cluelessness, but economies of scale fully utilized.

Re: Ask HN: Why is software quality always decreasing?

#127

Earlier quoted context omitted.

I wonder if people are forgetting that not long ago, it was acceptable and normal that your word processor could have a bug in it which would crash the entire OS. Or how almost everything was insecure by default.

Nobody found that acceptable except computer programmers.

Well it didn’t really matter what users thought because that’s how it was. Modern programming and software is massively improved and the failure modes are much safer.

Re: Ask HN: Why is software quality always decreasing?

#128
A lot of this has to do with the 'softness' of software. In the past, software was developed, shrink-wrapped and sold in physical media from warehouses and store shelves. The cost of bugs and errors was much higher and could result in software failing to gain adoption, or costly updates having to be prepared and physically shipped on floppies or CD-ROMs.

Video games is the most recent to undergo this transition. Up until not too long ago, physical DVD or Bluray media was the standard distribution mechanism. There were downloadable patches available post launch, but their sizes were originally somewhat limited to the write storage capacity. Now digital distribution with broadband connections is very common.

The softest of all are cloud software sold as a service. Any bug can be fixed for all users by updating the servers with a CI/CD deployment in sometimes minutes. With this increased softness, the product is always in development and there will always be new areas that have some usability issues as well as stable parts that have been worked out. But at any given time, there could be a fixed/large number of bugs if you were to count every one. Look in the reported issues for a popular repo that you thought was stable software--most of the time, most issues don't affect your use cases.

Long story short, it's what other comments say: it's economics and optimization. Of course there's also bad development and release policies which amounts to poor management or engineering culture, but I can't say that this is in excess to what's economical in my experience, except perhaps in the rare cases I ran away from.

Re: Ask HN: Why is software quality always decreasing?

#129
post #62

The quantity of programmers has exploded. Programming was a lot harder and more frustrating before stackoverflow and other online resources. If you wanted to learn to program you had to struggle your way through. And those who did would end up being pretty decent programmers. Nowadays there is no such filter. Anybody can get something to barely work by copy-pasting from stackoverflow. This isn’t a negative by itself,…

Before the Web there were various BASIC-like languages. I remember Amiga had AMOS environment which was like BASIC+SDL, and people produced completely amateurish games in it (and I know which ones, because when they crashed, they'd jump to AMOS' IDE).

I'll argue that StackOverflow has improved things a lot. Now you can search for your problem, or publish your code somewhere, and people will gladly tell you how wrong you are. Before that could be wrong and keep writing spaghetti code off-line while being blissfully unaware how horrible it is.

I'll also question whether low barriers to entry lower average skill. Low barriers to entry mean increased competition, which creates a pressure to differentiate yourself. OTOH with high barriers to entry, once you get in, you can stay complacent, because you're irreplaceable whether you improve or not.

Re: Ask HN: Why is software quality always decreasing?

#130
It is a solvable problem, but most company incentives don't line up to it. We accept good-enough software. And so there are few people who know how to do this. And due to that it continues to take time and due to that the companies don't think it is worth solving and the cycle continues.

Some software companies realize that quality is important for their business. And they do this right.

System software providers - do this well. Examples are Amazon's S3 Store, leading relational Databases, and even embedded software such as Arista EOS that Arista runs in their networking gear --do have very high quality.

The reason we don't see it all around us is that most well written software is invisible to us. We don't really think about the iOS software on our phones -crash rate is extremely low.

Post reply on HN