I have a friend I play go with that is an old Univac programmer (he's 30 years older than me) and he often pulls the "call me when you have to use punch cards".
Developers always look back on the past a bit wistfully, but I assure you that some things never change.
This applies to general software too, things that weren't big deal/non-existent in 90's are important now, security, networking, OS native UI frameworks. The OS itself doesn't give you FFA access to the machine anyway.
Also if you really wanted, instead of using Ruby you could bang out a backend/REST API using assembly[1]/C[2] even today, just that nobody wants to do that because it's a fucking pain in the ass.
[1] https://asm32.info/index.cgi?page=content/0_MiniMagAsm/index...
[2] https://kore.io/
I think it's because businesses have figured out that it is most cost-efficient to throw powerful hardware on problems rather than spending money on bespoke solutions or specialists in most cases.
Too many lazy/greedy developers fighting against users and operating systems (coughelectroncough)
This is the tendency for any craft that gains popularity over time. We can only advocate best practices by making them accessible, approachable and applicable. We can then hope the crowd listens and if they don't, that's ok, it's their loss (or not if their audience doesn't care).
A good analogy is, you don't have to build an earthquake resistant building if you are gonna use it to store some metal junk (carpenter tools, gardening tools etc). It's not a house and there is no danger even if you live on top of an active fault line.
Things like SwiftUI and the upcoming "clips" (or whatever the iOS/Android "partial/temporary apps" tech is going to be called) are a step in a good direction.
All that said desktop development is an interesting challenge, if sometimes maddening.
Is laziness a good excuse for poor software? For wasting the time and resources of every one who uses the application? For disregarding the conventions of the host platform including any user preferences and accessibility features?
I don't believe this argument for a second, with the ubiquitousness of successful Electron apps.
Sure, you can run some sort of Java VM on a lot of platforms. That's no big distinction, you can say the same about Javascript, Python, Lua and so on.
Once you enter the realm of graphical applications, it's a clusterfuck, just like any other "cross-platform" thing.
Hard to find time for when you have 30 JIRA tickets every two-week "sprint", none of which have anything to do with improving performance.
Is it running on Windows? (Honest question.)
Nowadays, even simplistic programs take ages on a device 1000 times more powerful. I had time to read this article because restarting our ruby development server is so excruciatingly slow.
It seems the craftsmanship aspect of computer programming is getting lost, and all that remains is the large leverage that one can use to drive profits with software.