Software Disenchantment

rustydrd@sh.itjust.works to Programming@programming.dev – 71 points –
tonsky.me

Recently re-discovered this gem of a blog post, written in 2018 by Nikita Propokov, about his disenchantment with the state of modern software. Do you think it's still relevant today (perhaps more/less so than it was when it was written)?

27

You are viewing a single comment

Why would it get better? Higher level programming is faster and saves companies money… they’re not going back to super efficient assembly or something to make xyz from scratch.

Article has a bit of an “old man yelling at clouds” sort of vibe.

It does have that vibe, but it's unarguably true that a lot of software and websites are ridiculously bloated and slow.

7 years ago when I started my career, My first project we sat down and designed the program and interfaces.

Today, we implement features using best practices, never sitting down to design and end up accumulating technical debt that we don't have funds or time to go back and fix.

Time to market is proportional to time to obsoletence. We don't design for longevity anymore :(

My current project is building a (almost) 1gb Java rich client which takes around 2minites to load... while it's merely a gui with some small client to client capabilities. The technical debt is insane, and it's only getting worse because neither can they afford to rebuild it from scratch.

Basically anything above assembly is a high level language. The article is not about making everything from scratch. It's about thinking about what you're doing and not just being lazy.

I don't think it's about laziness, but rather about having deadlines set by management that you can only possible meet by reusing stuff as much as possible - even if you only actually need 5 % of this stuff but got to package everything of it in your application for it to work.

He's talking about ridiculous programming stacks and bloated tooling and things. Not once does he level any criticisms at higher level languages in general

The frameworks and tooling stacks are just even higher level abstractions.