Live data from Hacker News

The Software Crisis

wryl.tech

101–110 of 201 posts

Re: The Software Crisis

#101

Earlier quoted context omitted.

I liked the way you showed the problem as ongoing in history. Indeed, the phrase "software crisis" is nice because it references the first point when the situation was articulated. That said, I think the reason the situation is not going to change is clearly economic. That's not saying that bad software is cheaper. But there's a strong incentive to cheap, bad practices because cutting corners allows one person/organi…

Yes to this. Lately I feel like we have built a society with expansive software infrastructure, where that software is doomed to be crappy and inhumane because our society actually couldn't afford to build this quantity of software well. So another hypothetical fantasy solution would be a lot less software, like being careful about where we used software, using it in fewer places, so that we could collectively afford…

Our society / societies may well be able to afford to build this quantity of software well. We choose not to.

Re: The Software Crisis

#102

I don't think we have a software crisis. Millions of programmers are able to create more or less useful programs all over the word; everything including your toaster is running software on it succesfully enough; and the community was able to build programs that are accessible to all from a 5 year old kid all the way to your grandparents. Where is the crisis in it? However, we have a project management crisis, which i…

Is it really easy to enter the field nowadays? I feel that nowadays it's very hard to enter modern software development. So much knowledge is required.

Re: The Software Crisis

#103
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…

I personally don’t understand what you are arguing for. While I agree that problems can be too abstracted or that bad abstractions abound, I don’t think that’s a controversial opinion at all. You’ll also literally never fix this problem because millions of people produce software, and you’re bound to disagree with some of them, and they’ll never all be as skilled as you. So my only interpretation of this post is that you think we should have even higher standards for constitutes an acceptable abstraction than is the norm already.

That’s easy to say writ large but I think if you examine specific areas you consider “too abstracted” you might find it a humbling experience. Most likely, there are very good reasons for those “over abstractions”, and the engineers working in those areas also find the abstraction situation hairy (but necessary or unreasonable to fix).

For example, a lot of software is built by providing a good abstraction on top of a widely used or accepted middle abstraction (eg Kubernetes on Linux + container runtimes + the traditional control plane:config layer:dataplane architecture). All that logic could all be implemented directly in a new OS, but that introduces compatability issues with users (you can build it, but you may have no users) unless you reimplement the bad abstractions you were trying to avoid. And, that kind of solution is way, way, way harder to implement. I personally want to solve this problem because I hate Kubernetes’ design, but see it purely as a consequence of doing things the “right way” being so absurdly difficult and/or expensive that it’s just not worth it.

Re: The Software Crisis

#104

I don't think we have a software crisis. Millions of programmers are able to create more or less useful programs all over the word; everything including your toaster is running software on it succesfully enough; and the community was able to build programs that are accessible to all from a 5 year old kid all the way to your grandparents. Where is the crisis in it? However, we have a project management crisis, which i…

Is it really easy to enter the field nowadays? I feel that nowadays it's very hard to enter modern software development. So much knowledge is required.

Yes, I would say it is still fairly easy to enter the software development field.

It is worth remembering that software development is a very broad field ranging from changing size and color of buttons on a webpage (which is perfectly fine) to sending rockets to space.

I don't know how true it is these days but people are/were able to find software jobs after a couple months of code camps.

Re: The Software Crisis

#105
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.

Richard Gabriel:

https://www.dreamsongs.com/WorseIsBetter.html (1991)

https://www.dreamsongs.com/WIB.html (2000?)

Re: The Software Crisis

#106

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…

You make great points.

Most of which you enumerate, if not all, can be traced back to two fundamental concepts; communication and understanding.

Communication because this is how understanding can be propagated and the lack thereof remedied.

Understanding because this is fundamental to the success of any endeavour. Without it one or more of the symptoms above will manifest. With it, they may still, but at least there can exist a pathway to success.

In my experience, the majority of problems in the software engineering industry are people problems. Not technical, nor technology, nor process problems.

This is why communication and understanding are vital to success.

Re: The Software Crisis

#107
The author mentioned handmade as a step in the right direction but the handmade creator more or less gave up on the project after a couple years and didn't accomplish his goal of delivering a final product.

Re: The Software Crisis

#109

The author mentioned handmade as a step in the right direction but the handmade creator more or less gave up on the project after a couple years and didn't accomplish his goal of delivering a final product.

The later videos are like cautionary tales… 5 years in, no game in sight, and you’re 30 videos deep into writing a sophisticated global illumination system…

Re: The Software Crisis

#110
post #79
post #71

Earlier quoted context omitted.

> I don't think we have a software crisis. Millions of programmers are able to create more or less useful programs all over the word; everything including your toaster is running software on it succesfully enough; and the community was able to build programs that are accessible to all from a 5 year old kid all the way to your grandparents. Where is the crisis in it? About that toaster point; this is the actual, real,…

But I wouldn't call a toaster running code an example of software crisis. Call it business crisis or crisis of capitalism/consumerism, but it is not software crisis. I agree wholeheartedly that an internet connected toaster is a very stupid idea, but our ability to build such a system shows, if anything, a triumph of software (and hardware), not a crisis. What is a crisis here is societal one; the fact that there is…

This is very close I think. In a way it is a business crisis, in that business directs software engineering not science or academia nor some physical constraint.

A real estate developer would probably promise you a ten story building made of straw if you seemed willing to pay but a civil engineer will never go make it because they listen to the physics and ethical rules of the trade mostly.

For some reason software engineers bend over and say yes sir when faced with a similar situation.

Perhaps looking at Boeing the same is becoming true of other engineering specialties as well.

Post reply on HN