Live data from Hacker News

The Software Crisis

wryl.tech

121–130 of 201 posts

Re: The Software Crisis

#121
post #16

Hi! Author here. I think it's important to address certain aspects of this post that people tend to misunderstand, so I'll just list them here to save myself the effort. * I do not argue against abstractions, but against the unrestricted application of them. * I do not advocate for a reversion to more constrained platforms as a solution. * I do not advocate for users becoming "more technical" in a "suck it up" fashio…

Windows 3.1 and Word easily fit on a 40MB hard drive with plenty leftover. Word operated on systems with as little as 2MB RAM on a single core 16MHz 80386. Modern microcontrollers put this to shame! Word then didn’t lack for much compared to today’s version.

Windows and Office require now, 50-100GB disk just to function? 1000X for what gain?

This is sheer insanity, but we overlook it — our modern systems have 5000-10000X as much disk, RAM, and CPU. Our home internet is literally a million times faster than early modems.

Re: The Software Crisis

#122
post #32

Earlier quoted context omitted.

Oh that's a solved problem since 1969. It's called "unix". Everything is a file which can be processed as a byte stream. Composition is a breeze- can't be any more general than that! (I kid, mostly :)).

That's the worse-is-better grand unified abstraction. The Right Thing, as any Lisp programmer can tell you, is lambda.

An actual Lisp programmer will tell you that the right thing depends on the situation. The right thing can be a lambda, a string, a symbol, a structure, a class object, a hash table, a vector, a list, a call to a foreign function, a syntactic abstraction, a bitmask, a load-time value, a pattern matcher, ...

Re: The Software Crisis

#123
post #16

Hi! Author here. I think it's important to address certain aspects of this post that people tend to misunderstand, so I'll just list them here to save myself the effort. * I do not argue against abstractions, but against the unrestricted application of them. * I do not advocate for a reversion to more constrained platforms as a solution. * I do not advocate for users becoming "more technical" in a "suck it up" fashio…

Windows 3.1 and Word easily fit on a 40MB hard drive with plenty leftover. Word operated on systems with as little as 2MB RAM on a single core 16MHz 80386. Modern microcontrollers put this to shame! Word then didn’t lack for much compared to today’s version. Windows and Office require now, 50-100GB disk just to function? 1000X for what gain? This is sheer insanity, but we overlook it — our modern systems have 5000-10…

> 1000X for what gain?

A stepping stone to the 1000000X gain that would make it possible for Windows and Office to emulate the mind of a Microsoft sales executive so it can value extract from the user optimally and autonomously. Also with memory safe code because Microsoft fired all the testers to save money. And so they can hire people who can't write in C or C++ to save money. And ship faster to save money.

Re: The Software Crisis

#124
post #16

Hi! Author here. I think it's important to address certain aspects of this post that people tend to misunderstand, so I'll just list them here to save myself the effort. * I do not argue against abstractions, but against the unrestricted application of them. * I do not advocate for a reversion to more constrained platforms as a solution. * I do not advocate for users becoming "more technical" in a "suck it up" fashio…

Hi wryl. I'm interested in hearing your follow-up to this post, so I tried to add your log to my feed reader, but I couldn't find an rss/atom feed, which is the only way I'll remember to check back in. Do you have a feed I can follow?

Re: The Software Crisis

#125

This article presupposes that this software crisis actually exists or is a significant problem. The crisis is all this these things: Projects running over-budget Projects running over-time Software was very inefficient Software was of low quality Software often did not meet requirements Projects were unmanageable and code difficult to maintain Software was never delivered Now take the word "software" out and how many…

> Just at that desktop it is already the most complicated machine we have or will interact with all day.

Except for your brain manipulating, and taking signals from, and reasoning about, the computer. ;)

Re: The Software Crisis

#126
post #16

Hi! Author here. I think it's important to address certain aspects of this post that people tend to misunderstand, so I'll just list them here to save myself the effort. * I do not argue against abstractions, but against the unrestricted application of them. * I do not advocate for a reversion to more constrained platforms as a solution. * I do not advocate for users becoming "more technical" in a "suck it up" fashio…

It's important to remember "Clarke's three laws"[0]: The laws are: 1. When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong. 2. The only way of discovering the limits of the possible is to venture a little way past them into the impossible. 3. Any sufficiently advanced technology is indistingui…

A tangent, but Clarke was slightly wrong. Magic is not just indistinguishable, but it actually IS advanced technology.

In fantasy worlds, wizards spend years studying arcane phenomena, refining them into somewhat easily and reliably usable spells and artifacts, which can be used by general public. (Don't believe depictions of magic in video games, they simplify all the annoying little details.)

The above paragraph is actually true about our world, we just happen to call these people scientists and engineers, not wizards.

Re: The Software Crisis

#127
The missing piece in this and similar arguments is the miracle that we have before us. It is unfathomably wonderful that we have the breadth of technology (including software) that we do given where we’ve come from. As with everything we’ve done and will ever do it is messy, flawed and tragic as well but that doesn’t diminish it.

If you’re going to advocate we change, it might start with recognition of the value we have and the effort it took to realize it. The flaws can only be resolved insomuch as they solutions don’t dilute the gift.

Re: The Software Crisis

#128

Earlier quoted context omitted.

Personally I can't bear software that contorts itself to conform to an incorrect mental model. I find it alien and unusable. I don't want the inaccurate mental model and cannot force myself to accept it, but the contortions and don't-look-behind-the-curtain prevent me from forming an accurate one. That doesn't mean I don't want abstractions. It means I think what constitutes a good abstraction is determined as much b…

> We should have more respect for users Agreed. In my case, I write software for a lot of really non-technical users, and have found great utility in reinforcing inaccurate, but useful, user narratives. So "respect" doesn't just mean assuming users are smart. It's also making house calls. Meet them where they live, and do a really, really good job of it, even if I think it's silly.

Just curious, could you give a specific example where you've found it's better to reinforce an inaccurate mental model of the software? And how do you go about it?

Re: The Software Crisis

#129

Earlier quoted context omitted.

This one is interesting. The abstraction for SQL is related to how the work gets done, not what it produces. The missing piece is for the user to be able to control that optimization of how the work gets done, which is getting right down into the details of what SQL was abstracting in the first place. There could be a middle ground where the user provides input about target performance and the engine uses that input…

User does not want to control optimizations. User wants their queries to run fast enough. Ideally database should monitor the queries and create/remove necessary indices as needed. And some databases do that.

> User does not want to control optimizations.

It's true, it would nice if the user didn't need to intervene, but unfortunately query optimization is a combinatorial problem where the engine has incomplete information causing performance problems (or cost problems if you are on Snowflake), so the user is required to intervene some percentage of the time.

Re: The Software Crisis

#130
This is discussing some of the same subjects as Brooks' Mythical Man Month and related essays. Our solutions are made up of "pure thought stuff" and so can be organized in almost any possible way.

We've found better ways to organize things over the years, and reduce incidental complexity too. We continue to chip away at small problems year after year. But, there's "no silver bullet," to give us a 10x improvement.

Believe I agree with the piece that we have too many layers building up lately. Would like to see several of them squashed. :-D

Post reply on HN