this post was submitted on 05 Feb 2024
113 points (91.9% liked)

Programming

17333 readers
150 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

Why We Can't Have Nice Software

https://andrewkelley.me/post/why-we-cant-have-nice-software.html

From Andrew R. Kelley, he's the author of the Zig language

@programming

top 50 comments
sorted by: hot top controversial new old
[–] hydroptic@sopuli.xyz 151 points 9 months ago* (last edited 9 months ago) (17 children)

Is the reason capitalism? I bet it's capitalism

Edit: it's capitalism

[–] sxan@midwest.social 34 points 9 months ago (2 children)

You're cheating. The answer is always capitalism.

[–] hydroptic@sopuli.xyz 9 points 9 months ago* (last edited 9 months ago)

Not always! Sometimes it's eg. cognitive biases

[–] stoicmaverick@lemmy.world 6 points 9 months ago (1 children)

Now now... Oftentimes it's Ronald Reagan as well....

[–] sxan@midwest.social 5 points 9 months ago

Shit, you're right. Good catch.

Although, Reagan was, ultimately, a tool of Capitalism, so it still works.

[–] xigoi@lemmy.sdf.org 4 points 9 months ago* (last edited 9 months ago)

The only mention of capitalism in the article is specifically venture capitalism.

[–] otl@lemmy.sdf.org 1 points 9 months ago

Not sure it’s capitalism per se. Perhaps rampant waste. Criticism of capitalism could include monopoly formation; massive tech companies buy small ones (obtain more capital = more control over production = more profit).

There’s despair over everyone, big & small, resolving the same recreated problems. Kelley doesn’t talk about breaking Microsoft up (i.e. redistributing their capital). He implies he’d be ok for Microsoft to maintain its market position if it just fixed some damn bugs.

load more comments (14 replies)
[–] zygo_histo_morpheus@programming.dev 17 points 9 months ago (1 children)

Peak dishwasher is a great concept and I think it highlights something important in the way we think of technology. There's often this underlying assumption of technological progress, but if we look at a particular area (e.g. dishwashers) we can see that after a burst of initial innovation the progress has basically halted. Many things are like this and I would in fact wager that a large portion of technologies that we use haven't actually meaningfully developed since the 80s. Computers are obviously a massive exception to this - and there are several more - but I think that we tend to overstate the inevitability of technological progress. One day we might even exhaust the well of smaller and faster computers each year and I wonder how we will continue to view technological progress after that.

[–] bouh@lemmy.world 4 points 9 months ago (2 children)

There is a lot of fake progress. In computer technology some things were refined, but the only true technological novelty these last 20 years was the containerization. And maybe AI. Internet was the previous jump, but it's not really a computer technology, and it affect much, much more than that.

And Moor law has already ended some years ago.

[–] pkill@programming.dev 8 points 9 months ago* (last edited 9 months ago) (1 children)

20 years ago 32-bit systems, CRT monitors, dial-up modems, single core processors or HDDs with most people having 160 GB of storage at most were common. And laptop battery life and thermal performance was just ridiculous in most cases.

Moore's law is mostly dead for commercial crap, i.e. JS-heavy 3rd party spyware filled websites with comparably slow and costly backends and Electron/React Native bloat on desktop/mobile, because shorter time to market and thus paying the devs less is often much cheaper for a lot of companies.

I'd argue free software luckily proves this theorem wrong. There are still a lot of actively maintained, popular programs in C and C++ and a lot of newer ones written in Rust, Dart or Go.

[–] bouh@lemmy.world 1 points 9 months ago

Moor law is dead for a few years now. It's a fact. It doesn't mean performances stoped increasing. But they don't follow the old law. That's why the industry is shifting to distributed networking.

[–] jeffhykin@lemm.ee 3 points 9 months ago (1 children)

Clock speed and other areas I'd agree have stagnated, but graphics cards, wireless communicaiton standards, cheap fast SSD's, and power efficient CPU's have massively impacted end-user performance in the last 10 years. RISC-V is also a major development that is just getting started.

[–] bouh@lemmy.world 1 points 9 months ago (1 children)

None of those are major breakthrough. They're more computing power. It's still the same technology.

Today llm are the prime candidate for a breakthrough. They still have to prove themselves though, to prove that they're not just a fancy expensive useless toy like the blockchain.

Risc-v is not meant to be a breakthrough. It's an evolution.

Internet was a breakthrough. The invention of the mouse was a breakthrough.

Increase in power or in disk space, new languages or os, none of those are breakthroughs. None of those changed how computer programs were made or used.

The smartphone is a significant thing. Wi-Fi is not really important though, because you don't do anything more with WiFi than you can do with ethernet. The smartphone though and its network, that is a big thing.

[–] jeffhykin@lemm.ee 2 points 9 months ago

Sure not a breakthrough, but they are "real" progress not fake progress (which is what I was responding to in your earlier comment)

[–] BilboBargains@lemmy.world 13 points 9 months ago (1 children)

Products are developed and in that process technology is created. Once the technical problems have been solved, manufacturers seek to remove as much cost from the process as possible and this generally degrades the durability of the product. The biggest problem with a lot of technology is that virtually no consideration is given to the long term maintenance of the product. There's no way to interface the system with other parts and re-use the product. We throw it away and buy the next thing because that's good for capitalism but it's horrible for people and the environment.

[–] heeplr@feddit.de 5 points 9 months ago (1 children)

Consequence:

Software can only be good, when enough people WANT to work on it and with it along the complete life-cycle. There's a critical amount of developers/contributors/testers and (feedback providing) users.

Hence a lot of critical consumer stuff is based on popular opensource.

Also, we're entering an aera where the difference between hardware/firmware/software gets increasingly blurred. So all of this applies to more and more hardware, too.

[–] BilboBargains@lemmy.world 3 points 9 months ago* (last edited 9 months ago)

The vast majority of people are techno illiterate, even within firms that make technology. A handful of people (relatively speaking) are making most of the stuff. Everyone else is just feeding that process. The legal system is set up to motivate the concealment of information about products. You cannot find the documentation to repair embedded systems, even if you have the desire to fix them and the 'right to repair'.

In our village we have a wildly popular 'repair cafe' where people bring their faulty electrical items to be repaired by volunteers. People don't want to toss their duff appliances in landfill but we need the tools and education.

[–] jeffhykin@lemm.ee 10 points 9 months ago* (last edited 9 months ago) (1 children)

I disagree slightly, but only with his level of cynicism. I agree, we see the "peak diskwasher" problem everywhere. And I agree with his conclusion. But I feel he glossed over that, well, people still need dishwashers. Growth might be impossible, but a steady and "boring" amount of profit should still be possible selling plain-ole-dishwashers. Yet ... for some reason, we don't see that.

Instead companies throw everything into growth and we get the retarded bluetooth enabled dishwasher problem everywhere, and I'd like to know more about why.

[–] otl@lemmy.sdf.org 5 points 9 months ago (2 children)

Growth might be impossible, but a steady and "boring" amount of profit should still be possible selling plain-ole-dishwashers. Yet ... for some reason, we don't see that.

God yes this bothers and fascinates me.

Instead companies throw everything into growth and we get the retarded bluetooth enabled dishwasher problem everywhere, and I'd like toknow more about why.

I think it's alluded to in the article:

They found a way to make consumers spend more money on dishwashing. The line goes up, for one more year. But it's not enough. It has to go up every year.

Digging deeper: why must the line go up? Pesonally I see it as a deeply emotional, human thing.

When you read those annual financial reports from big companies, they will do anything to make sure things look rosy. Bullshit terms like "negative growth" are used because "loss" or "shrink" sound bad. So what if it sounds bad?

Confidence. Trust. It's emotional. These are deep in our psyche. It's how governments get elected, contracts are won, and investments are made. It's what makes us human. If that line goes down... will it go back up? What's going to happen? Alarm bells! Uncertaintly. Anxiety. People abandon you. Money, power, influence fades. You could find yourself replaced by the up-and-coming who "show promise".

Our social emotional species has hundreds of thousands of years (millions?) of years of this stuff hardwired into us. Trust let us cooperate beyond our own individual or family interests. Would we be human otherwise? (I found the article Behavioural Modernity interesting).

[–] BehindTheBarrier@programming.dev 4 points 9 months ago* (last edited 9 months ago)

I think the key fault lies in that most companies are publicly traded stock companies.

It challenges what corporations are at the heart. A company owned through stocks is controlled by those stock holders, and exist to make the stock holders money. It's expected for the stock to be worth it by growing, not paying out dividends. (but that is also another layer)

But that's not why a company should exist, it should turn a profit but ultimately it's about being a source of income to its workers. But stocks go against that, since stocks seek to extract money to the non-working owners. Well paid workers is rather contrary to the goal of the stock owners, as long as you can keep going.

The advantage of stock companies were getting investment to start and grow, but it forever shackles the company bar some rich maniac buys the whole thing for his own crazed ideas.

Private companies aren't guaranteed to be good either, but if they are set up right they at least aren't just a funnel of money for the people at the top.

Its because so much money can be gotten out of the perpetual invest, grow, squeeze and sell that things are as they are today. You're not a worthy company if you just increase your cash flow in line with inflation.

The need to grow also comes back as enshitification, planned obsolescence (or just made as cheap as possible), high focus on consumable products or subscriptions to ensure a steady flow of income. Making a product lasting for life? One and done, you'll grow until the market is saturated and then collapse because the cash flow simply won't be there.

Its especially noticeable when the economy takes a hit, all things go from being good investment objects to being something that needs to turn profit. So all the future profit is dropped, tons of layoffs, and rapidly increasing subscription costs. All to counter the reduced demand. Take streaming, the market fragmented, interest rates spiked so holding debt is bad, consumers have less money to spend easily. So the big ones take steps, more ads, crack down on sharing, layoffs, reduced selection and cancelation of various shows and projects. And then stock holders can be happy they once again have a good year and good growth of profit despite turbulent times.

Edit: By contrast a private company is not beholden to any requirement to cancerous growth. It too will be hurt by not having steady cash flow, but they don't need to grow until they are so big that they need constant growth to stay alive. But a private company can be steady for years without problem.

[–] hydroptic@sopuli.xyz 1 points 9 months ago* (last edited 9 months ago) (1 children)

Digging deeper: why must the line go up? Pesonally I see it as a deeply emotional, human thing.

The idea that corporations, economies or any human ventures in general have to grow infinitely is a very recent invention and obsession. I honestly find it worrying that someone would think it's some sort of deeply ingrained human trait when it's clearly not culturally universal (eg. small hunter-gatherer tribes wouldn't exist otherwise) and not present through all of history. Really goes to show how well the current economic system has been "bought" (har har), and how easily we start thinking that some culturally defined phenomenon or another just has to be a fundamental part of humans. There's a lot of similar thinking around nation states that are ethnically homogenous and based around a shared national cultural identity – people seem to think that that's the default and how things have been since ancient times, but nation states are barely even 200 years old as a concept.

The line has to go up because the current economic system demands it has to go up, not some fundamental feature of the human psyche

[–] otl@lemmy.sdf.org 2 points 9 months ago

I honestly find it worrying that someone would think it's some sort of deeply ingrained human trait when it's clearly not culturally universal (eg. small hunter-gatherer tribes wouldn't exist otherwise) and not present through all of history.

I think "growth" is a strong signal for people to put faith and trust into something. And that these emotions have influenced our behaviour for a long time.

Why did the Roman empire keep expanding? What made them want more? I'm not a historian nor an anthropologist (far from either!). But this feels like "line go up" behaviour. What would it mean for those in power to communicate that some part of the empire was receding? Even if, overall, the empire was objectivetly huge relative to other organised groups?

One thing I think about is there could be eroding confidence and trust of those in power by colleagues and the general population. If people lose faith, the powerful lose power; they lose ability to influence behaviour. Growth is obsessed over because it's a means to capture influence over the means of production (and capture profit).

The line has to go up because the current economic system demands it has to go up

What about outside of economics? Even metrics on https://fedidb.org: shrinking numbers are coloured red. Growing numbers green. Green = good, red = bad.

Another thought. The other day I was at a cricket match. Grand final. Because the home team was losing, the stadium started to empty. It wasn't about enjoying the individual balls/plays. Supporters were not satisfied with coming second (an amazing achievement, much "profit"!), it needed to be more.

To stretch this shitty metaphor further, when the supporters (investors?) lost confidence in their ability to deliver more, they just abandoned the entire match (enterprise?) altogether!

Again: I'm not stating anything here as fact. I'm just absolutely dumbfounded as to why "line go up" is, as you say, such an obsession. I hear you when you say that it's a consequence of how the modern economy works. That makes sense. I guess I wonder what would happen if we snapped our fingers and we could start again. I wonder what the economy system would look like. Would we still be obsessed with growth?

[–] muhanga@programming.dev 9 points 9 months ago (1 children)

I wholeheartedly agree with that. Every version of Excel is massively worse than previous one. Same with the other Office products. Incremental fixes and impovements covered with unneded features and Ribbon design.

The Ribbon interface intoduction is the most obnoxious design decision that was pushed to the keyboard and mouse users. It only helps "touch" or "pen" users and only marginally.

Then OneDrive aka "we holding your data ransom" Drive. This is the only one Drive that is purelly sheit.

[–] pkill@programming.dev 3 points 9 months ago (1 children)

idk as an ADHDer I might not have a hard time learning keyboard shortcuts (i uSe VIm bTw, fr in many cases for text docs I'd rather write them using markdown and maybe add some html styling then convert with pandoc than deal with the sensory overload that RTEs can give me) I need more time to navigate solely text-based menus with lots of items than a ribbon.

[–] muhanga@programming.dev 2 points 9 months ago (1 children)

in many cases for text docs I'd rather write them using markdown and maybe add some html styling then convert with pandoc

Yep. Exactly the case. Using the multiple instruments instead of one "specially created for this reason" programm become normal. And it become normal because the program become unpredictable in changes. All the functionality is click away, but you need to know what to click.

And as a chery on top Outlook by default uses ctrl+f to forward a message. Instead of starting search.

[–] Deckweiss@lemmy.world 7 points 9 months ago

It's like the author has just read Georges Bataille - The Accursed Share and now sees it in everything.

( https://en.m.wikipedia.org/wiki/The_Accursed_Share )