Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I look at articles like this and the comment responses to it and I can't help but think everyone is like the old man grumbling how "things used to be built to last!"

Have people really forgotten their computing history so soon?

Let's roll back the clock. Windows 95 ran for a total of 10 hours before blue screening. Windows ME ran for -2 minutes before blue screening and deleting your dog.

Roll back further. IBM was writing software not for you. Not for your neighbor. They were writing software for wealthy businesses. Bespoke software. Software and hardware that cost more than you make in a lifetime.

Software, today, represents responses to those two historical artifacts.

1) At some point software became complex enough that we discovered something we didn't know before ... programmers are really bad at memory management. Concurrently, we also realized that memory management is really important. Without it, applications and operating systems crash.

And yes, this point was hit roughly around Windows 95. You really couldn't use Windows 95 for more than a day without something crashing.

So the programming ecosystem responded. Slowly and surely we invented solutions. Garbage collected languages and languages without manual memory management. Java, .NET, Python, etc. Frameworks, layers of abstractions, etc.

Now fast forward to today. I'm absolutely shocked when an app crashes these days. Even games have become more stable. I see on average maybe 1 or 2 crashes in any particular game, through my _entire_ playthroughs. And usually, the crashes are hardware bugs. I haven't seen a Firefox crash in ... months.

This is leaps and bounds better. Our solutions worked.

The caveat, of course, is that these new tools use more memory and more CPU. They have to. But they solved the problem they were built to solve.

2) In the "good old days" software was bespoke. It was sold strictly B2B. For a good long while after that it remained a niche profession. Does no one remember just how expensive software and hardware used to be? And people scoff at $600 phones...

But software exploded. Now everyone has a computer and software is as ubiquitous as water.

With that explosion came two things. Software got cheaper. A _lot_ cheaper. And software filled every niche imaginable.

When software was bespoke, you could get the best of the best to work on it. Picasso's and Plato's. But those days are long gone. Picasso isn't going to make Snapchat clones.

We needed a way to allow mere mortals to develop software. So we created solutions: Java, JavaScript, Python, .NET, Ruby, etc. They all sought to make programming easier and broaden the pool of people capable of writing software.

And just like before, these tools worked. Software is cheap and plentiful.

We can bemoan the fact that Slack isn't a work of Picasso. But who wants to pay $1 million per seat for Slack? Instead, Slack is free in exchange for the sacrifice of 4GB of RAM.

The lesson here is two fold. Software today is better than it ever was, and it will continue to get better. We've learned a lot and we've solved a lot of problems. Battery constraints are forcing the next evolution. I would never have dreamed of a world where my laptop lives for 10 hours off battery, but here we are. I can't wait to see what the next decade holds!



As a software developer and manager of software development projects, I wouldn't say that software quality has increased significantly since I started working professionally in the industry (1997).

As mentioned elsewhere, web apps frequently "crash" (ie. fatal JS error) and have strange behavior.

And those bugs are often platform/browser/version-specific so very difficult to fix.


> And yes, this point was hit roughly around Windows 95. You really couldn't use Windows 95 for more than a day without something crashing.

I still have the same experience with Win10. Hardly a week without a BSOD. On the same machine linux flies and flies.

> Even games have become more stable. ... I haven't seen a Firefox crash in ... months.

Yet Firefox and most AAA games are written in C++.


> Yet Firefox and most AAA games are written in C++.

C++ is a very different language from what it was.


From the code I saw of it firefox's code is still pretty much in the 90s mindset. I mean I just went to the github repo and opened a random file and look at this : https://github.com/mozilla/gecko-dev/blob/master/widget/Text... or this : https://github.com/mozilla/gecko-dev/blob/master/dom/base/At...

raw pointers everywhere, macros, etc etc

    nsresult Attr::Clone(mozilla::dom::NodeInfo *aNodeInfo, nsINode **aResult, bool aPreallocateChildren) const
    {
        nsAutoString value;
        const_cast<Attr*>(this)->GetValue(value);
        ...
makes my eyes bleed. the references to netscape everywhere are funny, too.


Sure, but a project like Firefox has a lot of the old C++ too.


You've gone back down the wrong branch of the tree. Look at what an Amiga could do with 512k RAM and a 7 Mhz processor.


I don't know. I'm sat here creating UML diagrams in a JS-powered diagram editor built in to a wiki. It works, and it's great to be able to create diagrams straight in the editor.

But it's buggy as anything. Selection is unreliable, redraws go wrong. It's lacking lots of tools (align, size group to smallest/largest etc) that are standard in most vector tools. It can't save undo history between sessions.

I guess that's better than my Omnigraffle workflow of 5 years ago? It's certainly cheaper.


I don't remember NT4 crashing around that time. And my Win95 set-up would crash sometimes when booting an audio app or game with a faulty driver. But again I would shut down the computer every day. It must have been around the same time Linux geeks started posting their uptimes.


I remember installing NT4 on my desktop PC in ... 1997 or '98. Within 24 hours, it wouldn't boot any more. I formatted the hard drive an installed it again, and within 24 more hours, it once more refused to boot.

Of course, I did not have much of a clue what I was doing back then.


Windows NT4 was "peak stability" in my experience.

Although some have said that Windows 2000 was more stable, I found the fusion of 95/98 into the NT kernel made it less so.


"Ruby, etc." - are you saying that Ruby On Rails made software "go off the rails"?


Your comment is spot on. Muh in life happens because of tradeoffs on available resources over time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: