• @[email protected]
    link
    fedilink
    English
    751 year ago

    I remember the 90s when both mac and windows crashed on a daily basis. When was the last time you saw a legitimate BSOD that didn’t involve hardware failure? When was the last time you had to reset the PRAM on your mac just to get it to boot?

    • @[email protected]
      link
      fedilink
      English
      151 year ago

      Thats actyally very good point. Our phones x100 or x10K more powerful and complex than computers from 90s, but always works and very-very rarely need reboot.

  • @JoeKrogan
    link
    English
    65
    edit-2
    1 year ago

    Not FOSS but commercial software is. The apps just get more bloated and want to suck even more data with each update. Then there is the sites that have hundreds of trackers and third party cookies from everywhere and need 1gb to display 🙄. OK maybe not 1gb but you get the gist.

    • @Dasnap
      link
      English
      301 year ago

      Electron apps created with React can definitely push the boundaries of what ‘acceptable’ memory usage is.

      • @[email protected]
        link
        fedilink
        English
        31 year ago

        Electron apps created with React can definitely push the boundaries of what ‘acceptable’ memory usage is.

        I have a pet theory that webview-based apps are popular only because currently there is absolutely no usable multiplatform desktop GUI framework. Therefore, developers have to resort to the one thing that works: load a webpage in a web browser.

        Even React Native feels like a kludge in a way it converts React components to UI components.

    • @[email protected]
      link
      fedilink
      English
      141 year ago

      Yep totally unheard of for foss software to get worse. Gnome 3 and kde 4 for example were universally acclaimed.

      I think that the post author just neglects that software has become mindblowingly complex compared to the days of yore, if you put together all the features of netscape + win 3.11 + wordperfect + whatever other thing they were using in the 90s at any given point you don’t get 10% of the complexity of a contemporary productivity app (say outlook) let alone a full operating system.

      It’s clear that the more complex something is the more things can break. It’s like complaining that F16s are worse than consumer 40€ drones because the former require maintenance every few hours of flight while the latter don’t.

      • @[email protected]
        link
        fedilink
        English
        19
        edit-2
        1 year ago

        But if all you need is a drone and all anyone makes is an F-16, that is a shitty mismatch. I don’t need an outlook that does all that shit, I just need to check my email, or at least set up a filter to send everything to the trash.

        I don’t need teams to do document management, I just need to chat with my team. I’ll resend a document if it is needed for any reason. Companies are adding useless bloat to all of these things and then breaking the core functionality because they’ve made things hard. This is not progress.

        Edit: fixed some iOS auto-incorrect. Apologies for any incoherence before.

        • @[email protected]
          link
          fedilink
          English
          71 year ago

          It’s kinda like having an F16 that are built to go through a McDrive. It’s a feature, yes, but an utterly terrible one at that. Your job is to do one thing and do it well. I’ll take the car for going to McDrive.

      • @[email protected]
        link
        fedilink
        English
        61 year ago

        He’s not exactly comparing software to netscape or win 3.11 though, he’s comparing version N of some software to version N-1 or N-2 and noticing that they’re getting worse from release to release. Given the rate of new releases the complexity shouldn’t be increasing that rapidly between releases so I’m not convinced that is the cause per se. I have to agree with the conclusion from the article, testing was more rigorous in the past than it is now. Both because there was less surface area to test back then and because time-to-market pressures were less due to the longer windows between releases.

        • @balp
          link
          English
          11 year ago

          I assume you never worked in testing. back in the days, we used to cram testing into a weekend as developers were late with their coding. There was no test automation so that weekend we spend all the time on the most basic functionality. Barely getting thou the testing of having the app started and some of the most basic functions. Almost never was there any time for regression testing, old functions broke all the time. It wasn’t uncommon that we skipped a bug fix in one version, just to reintroduce the same bug in the next release.

          • @[email protected]
            link
            fedilink
            English
            11 year ago

            No, but I do work as a developer and we work pretty closely with the testers. Not back in the day though, I’m not that old but I’ve been around enough to know that even in the current era of software development the quality and duration of testing varies quite a bit from company to company. Some companies really don’t care and the testing is token at best, others like where I currently work are quite obsessed with quality and dedicate quite a lot of time and people to testing a release before it goes out. Of course there are still bugs from time to time but a lot are found and fixed during testing.

            Previous companies I’ve worked at with not-so-great testing were more consumer facing whereas the current one is B2B with a lot of enterprise customers so maybe companies just put as much or as little effort into testing as they think their target audience is willing to put up with.

            • @[email protected]
              link
              fedilink
              11 year ago

              It’s less about putting up as much as fulfilling requirements. I know several software houses will tailor and vary their testing directly as result of classification. The higher the rigor, the higher the cost. There are customers that spare no expense in certifications like government.

    • Nioxic
      link
      English
      91 year ago

      And of course, remember…

      Early access / beta programs

      Subscriptions for every fucking thing

  • @[email protected]
    link
    fedilink
    English
    261 year ago

    I think that there are many potential causes, but I would like to add monopolization to the list.

    Usually, a bad release spelled the demise of a company, because release times were so long that competitors could take advantage of a bad software release.

    People aren’t going to switch from windows because they release something bad or buggy, in that case it would already be dead. Windows isn’t technically a monopoly, but they have a lot of inertia and there are many programs that only run on windows that people depend on. There is perhaps a limit to how bad windows can be before people abandon it en masse, but they can get away with a lot. The tech world is full of different companies and programs that are in monopolistic-ish positions.

    • smoothbrain coldtakes
      link
      fedilink
      English
      71 year ago

      The main issue is that Linux is too fragmented and absolutely not user friendly enough to be consumer-grade in most applications. Steam is doing their best with SteamOS and they have been making great strides in a lot of areas, and they’ve even allowed me to feel like I can run Linux as a primary OS without losing out on my main off-time workload of gaming. Stuff like DXVK and Proton have made amazing strides towards a gaming OS that isn’t Windows.

      Unfortunately too much shit goes wrong for the average user. Troubleshooting also becomes problematic when the community itself is fragmented on solutions. Often I will search up a problem and be recommended different solutions that are not using the tools I have available in favor of the other poster’s favorite system. It’s very annoying to say “I have problem X and have tools Y” and be told “Well, tool Y will do the job but tool Q will do it better”.

      I’ve been running Arch on a laptop recently and the first thing I had to do was troubleshoot networking. I looked at the router, wondered if I fucked up the config. Everything else connects fine, must be something else. Turns out that the clock was out of sync and it was preventing the OS from verifying any cryptography. The only time I’ve had that shit happen on Windows is on an old Surface RT that would randomly decide it was the year 3000.

      • @[email protected]
        link
        fedilink
        English
        21 year ago

        Oh man, yeah I’ve been there with the arch networking issues. To be fair, I do think you sign up for some messing around when you decide to install arch, although it wouldn’t hurt to make networking a bit easier. Troubleshooting on windows isn’t very fun either, although you might not need to do it as often.

        While it might be true that a lot of people are scared away by linux weirdness (or not, for all I know picking a beginner friendly distro and not doing anything weird might be a pretty decent experience, I’ve been using arch and doing weird stuff the past couple of years), most people don’t even get far enough to install linux in the first place so the selection happens before that. Part of it is probably software compatibility, part of it might be that most people advocating linux are techy people who mostly talk about the techy reasons for why you should get linux, which aren’t that appealing. Part of it could just be that people are resistant to change because it’s annoying to have to learn a new system.

        • smoothbrain coldtakes
          link
          fedilink
          English
          11 year ago

          Yeah, I’m definitely opening myself up to issues by having installed Arch instead of Ubuntu, but as much as I’ll bitch about these problems existing, I really do enjoy the process of fiddling and troubleshooting.

          I find Ubuntu can be used right out of the box for productivity depending on your workload and general productivity tools - personally my shop primarily uses Gsuite stuff so I can access everything within the browser, making most of what I do generally agnostic to environment. The main thing I liked about Ubuntu is all the changes MS have made to it, including things like having cloud connectivity for GDrive and OneDrive out of the box, instead of needing some kind of hacky weird solution. I find Ubuntu with all the MS contributions has become a very good productivity OS on top of being a solid server to be using with Hyper-V.

        • iByteABit [he/him]
          link
          fedilink
          English
          11 year ago

          Maybe I’m lucky as shit but I’ve tried Arch Linux on many different systems with quite different hardware, and I’ve never had a networking issue that wasn’t my fault (for not installing dhcp for instance)

  • @[email protected]OP
    link
    fedilink
    English
    191 year ago

    I no longer look forward to updates.
    […]
    It seems to me that some software is actually getting worse, and that this is a more recent trend.
    […]
    Why does this happen? I don’t know, but my own bias suggests that it’s because there’s less focus on regression testing. Many of the problems I see look like regression bugs to me. A good engineering team could have caught them with automated regression tests, but these days, it seems as though many teams rely on releasing often and then letting users do the testing.

    The problem with that approach, however, is that if you don’t have good automated tests, fixing one regression may resurrect another.

    Every time I see a new update, I think: “I wonder what will break after this update” and postpone them as much as I can. Software updates shouldn’t cause anxiety. But they do these days…

    • huntrss
      link
      fedilink
      English
      91 year ago

      They used to cause anxiety in the past as well. But there was a window where - at least I - didn’t fear them. Main reason why I still think they are necessary are security patches. But I do fear updates due to their tendency in breaking things.

  • @balp
    link
    English
    17
    edit-2
    1 year ago

    It seems to me that the author doesn’t remember all the struggles we had back then with bugs and features not working. And masses of needed functionality that never got skipped into the hands of users. It also strikes me that maybe there is a bit of nostalgia, just a bit of reluctance to change his ways. He found a workflow around the missing functionality that might be blocking for others and he has a harder time adjusting to the new functionality.

    A bit like my father that refused to change his workflow, to make images for webpages (all static) he used for different Amiga programs because one could scale the images, one could edit them add lines and stuff, one for helping him make image maps, and they one so they could be converted to jpg/png as anim files used by everything else on the amiga didn’t work well on the internet.

    Bug testing back then was awful, we never had time to catch any issues but the biggest. The time plan for the release was fixed years ahead, the functionality that was needed was fixed years ahead. All the needed time for testing was eaten up by the developers working into the final skip to customers, trying to make the software actually run. It wasn’t uncommon for test teams trying to cramp months of eating into a weekend to have the software skipped on Monday morning. Well including masses of needed bug fixes during that weekend that no one knew what code each issue was actually tested on. Remember that software version control system was almost not used, there was no CI build system all all software was built on some random developers workstation. Maybe, with some additional changes for his or her convenience. No software development has come a long way since the 90s. A very long way!

  • jadero
    link
    fedilink
    English
    161 year ago

    I have two hypotheses for why some kinds of software grow worse over time. They are not mutually exclusive and, in fact, may both be at work in some cases.

    Software has transitioned from merely complex to chaotic. That is, there is so much going on within a piece of software and its interactions with other pieces of software, including the operating system itself, that the mathematics of chaos are often more applicable than logic. In a chaotic system, everything from seemingly trivial differences between two ostensibly identical chips to the order in which software is installed, updated, and executed has an effect on the operating environment, producing unpredictable outcomes. I started thinking about the systems I was using with this in mind sometime in the early 2000s.

    The “masters” in the field are not paying enough attention to the “apprentices” and "journeymen. Put another way, there are too many programmers like me left unsupervised. I couldn’t have had a successful career without tools like Visual Basic and Access, the masterful documentation and tutorials they came with, and the wisdom to make sure I was never in a position where my software might have more than a dozen users at a time at any one site. Now we have people who don’t know enough to use one selection to limit the options for the next selection juggling different software and frameworks trying to work in teams to do the bidding of someone who can barely type. And the end result is supposed to be used by thousands of people on all manner of equipment and network connections.

    One reason that open source software seems more reliable is that people like me, even if we think we can contribute, are mostly dissuaded by the very complexity of the process. The few of us who do navigate the system to make a contribution have our offerings carefully scrutinized before acceptance.

    Another reason that open source software seems more reliable is that most of it is aimed at those with expertise or desiring expertise. At least in my experience, that cohort is much more tolerant of those things that more casual users find frustrating.

  • @[email protected]
    link
    fedilink
    English
    151 year ago

    everything went down when we allow web technologies be part of the desktop, everything electron or any other incarnation is an abomination

      • @[email protected]
        link
        fedilink
        English
        21 year ago

        I have the feeling, that this age will come back in one way or the other (and I have the feeling Rust and Webassembly will be involved ;))

    • @[email protected]
      link
      fedilink
      English
      31 year ago

      I can understand it tho. What other GUI toolkits have a markup language like HTML? It’s so easy compared to having 50 billion different widgets, adding stuff through code is so verbose…

  • @Aux
    link
    English
    111 year ago

    Modern software is getting more complex, yet the user base is getting less and less technically literate. At the same time software security is a bloody nightmare.

    Back in the 90-s if your app crashed, it was an annoyance. Today if an app crashes, it’s a possible attack vector to rob your users one way or another. You can’t even create a simple and dumb web site anymore, you need a full security infrastructure around it, HTTPS, XSS protection, DDoS protection, etc, etc.

    The rise of smart phones and internet in general, added billions of people to the pool of your users. Most of whom don’t know the difference between address bar and Google. You have to invest a lot of resources into UI and UX as well as into protecting your application from people who don’t understand how to operate computers.

    Foolproof design, security and advanced feature sets make modern software ridiculously complex.

  • thingsiplay
    link
    fedilink
    111 year ago

    @canpolat The article is written from the perspective of a Windows user. I’m not surprised. Software as a whole does not get worse; there are some software which get worse, and some technology getting in the way. And then there is software which get better, not worse too. If you cherry pick, then you can prove any point you want to proven right; especially on a very wide range of topics like software.

    • Pennomi
      link
      131 year ago

      Yeah this article is definitely suffering from a lot of biases in its logic. First off, they are cherry-picking, but there’s also survivorship bias in there.

      For an obvious counter example, look at Blender. It’s gotten amazingly good even though it’s gotten more complex over the last 10 years or so.

    • @[email protected]OP
      link
      fedilink
      English
      71 year ago

      I’m not sure it’s that simple, really. And I definitely don’t think this is limited to Windows. I agree with other comments that this is mostly related to complexity. The more complex the domain the more difficult it is to implement/maintain a good solution. Delivering the new shiny feature is more exciting for all people (product management, development, users, etc.) than to fix bugs. And if you don’t have the resources/maturity to keep technical debt under control, the software quality will suffer over time. Free software may be the exception here as profit is not always the primary concern.

      • thingsiplay
        link
        fedilink
        71 year ago

        @canpolat My point was not being limited to Windows, but more that his view is limited to DOS/Windows world, but making general judgements about software. And because Windows and it’s eco system of applications he listed gets worse, he extrapolates this to all software.

        Let’s look at Linux, which is probably the biggest software ever and used on every possible way one can imagine. It got better and better, even though it’s extremely big and has a lot of complexity to it and does not want to break compatibility if possible. But I am not saying all software is like that. That’s my point. Some software get better, some get worse.

        • @[email protected]OP
          link
          fedilink
          English
          61 year ago

          And because Windows and it’s eco system of applications he listed gets worse, he extrapolates this to all software.

          They admit that bias in the article:

          […] since I’ve always been working in the Microsoft tech stack, I use a lot of it. Thus, selection bias clearly is at work here.

          Now, I mentioned free software as the exception. I don’t have any data as to how big free software vs proprietary software. But I think his points extends at least to other proprietary software and is not limited to Windows.

          Some software get better, some get worse.

          I can agree with that.

  • @[email protected]
    link
    fedilink
    English
    111 year ago

    Yes. Case in point: there are at least 10 Lemmy iOS apps. I’ll give you ten guesses on which ones are actually native Swift…

    There are a quite a few Android apps in progress too. How many are written in Kotlin?

    • Digital Mark
      link
      fedilink
      English
      21 year ago

      Mlem is SwiftUI. It’s a buggy pile of crap that loses posts, says “nothing here” when there is something there, has bizarre navigation (where do I tap to go to a post?) Some of that may improve; some seems like no design.

    • @[email protected]
      link
      fedilink
      English
      11 year ago

      Voyager isn’t native and it’s good. I’m not totally sure what the hate is for React Native for apps like this. It’s an abstraction over Swift, it’s still Swift under the hood isn’t it?

      • @[email protected]
        link
        fedilink
        English
        21 year ago

        In my experience, Voyager is still pretty buggy too. For example, try editing a post then go to do anything else after the fact. I always have to restart the whole app when I go to edit a post I made. They have a ton more features than anyone else but there are still tons of bugs.

        react native is another layer and lags behind the dev of swift by at least a year. This is a huge problem for new api’s like SwiftUI, in my experience. Ps. Native is ALWAYS better than an approximation of native.

  • Digital Mark
    link
    fedilink
    English
    51 year ago

    Yes. At least since late '90s, and certainly the last 2 decades.

    I blame the rise of frameworks, libraries, and IDEs. It’s easier for someone who knows nothing to throw some software together and ship it. In the good old days, all software had to be written by someone who knew what they were doing, often in difficult tools. You had to think ahead and write code correctly, because you couldn’t just ship patches every week.

    And as junior devs get replaced by AI, there won’t be any experience for any of them to learn how to do that.

    • ExpensiveConstant
      link
      fedilink
      81 year ago

      I blame the rise of frameworks, libraries, and IDEs. It’s easier for someone who knows nothing to throw some software together and ship it.

      I very much disagree with this. Yes to an extent you don’t need to know as much as you might have in the past but if we had to constantly reinvent the wheel, I don’t think we would have nearly as many people entering/remaining in this field. Additionally well written frameworks and libraries can actually make your code safer since you don’t have to reinvent the wheel and discover the pitfalls all over again. IDEs are also a net positive IMO. Errors next to the line of code that caused them, breakpoints, interactive debugging. These are all things I personally would find hard to live without. Necessities? Technically no. But good god do I not want to have to read build output unless necessary.

      • @balp
        link
        English
        21 year ago

        A good IDE also helps you make better refactoring, making the code so much easier to read. The main goal of any code.

      • Digital Mark
        link
        fedilink
        English
        21 year ago

        If you can only hobble along with tool support, you never understood what you were doing. You don’t have to rewrite everything from scratch, but if you can’t, you lack the skills to use them effectively, and can’t ever improve on them. And like I say, soon AI will replace those consumers.

        Compilers are perfectly able to tell you the line of an error, you can use a debugger without the IDE, I run lldb or the Chez Scheme debugger all the time, but I understand what the tool’s doing.

    • @[email protected]OP
      link
      fedilink
      English
      71 year ago

      In 2014 Robert Martin claimed that number of developers doubles every 5 years and says:

      As long as that growth curve continues there will not be enough teachers, role models, and leaders. It means that most software teams will remain relatively unguided, unsupervised, and inexperienced. […] It means that the industry as a whole will remain dominated by novices, and exist in a state of perpetual immaturity.

      Not sure if the data can be confirmed or not, but if that’s the case it will be difficult to maintain the best practices in our industry.

    • @balp
      link
      English
      41 year ago

      I blame the rise of frameworks, libraries, and IDEs

      Without good libraries and frameworks, we can hardly get any software working in today’s environment. We get stuck with a slow development cycle and have software that doesn’t do what the users want of it. A few years ago, I was at a customer using an old Linux distribution at their customer’s site. For contractual reasons that was not upgrading to the latest version, they had skipped keeping up to date with changes as they came. Every step of development became a hassle and the good programmers there were not able to deliver features at any predictable rate. There were issues with HTTPS, most webservers of today mandate at least TLS1.2, but when the OS only supports SSLv2 and SSLv3, and TLS1.1, connecting to the internet, well gets hard.

      Having to develop all functionality from the ground up, makes no features needed by the customers ever released. With most developers I have worked with using good libraries also makes the implementations less prone to have serious bugs in them.

    • @[email protected]
      link
      fedilink
      English
      3
      edit-2
      1 year ago

      I blame the rise of frameworks, libraries, and IDEs.

      My thoughts exactly. Frameworks on top of frameworks with a lot of cruft that will incrementally make software slower and buggy.

      That, coupled with the fact that business owners just want things shipped. Quality aside, I dont even think they care about products being good anymore 🥲

    • @Nommer
      link
      English
      21 year ago

      What is a new person supposed to do to learn then? I’ve been stuck trying to figure out what the 5-8 different services, frameworks, libraries, and IDEs all do and I feel very overwhelmed.

    • jadero
      link
      fedilink
      English
      21 year ago

      I disagree to some extent. I could never have had a career without Visual Basic and Access. Now in my retirement, I struggle mightily to put together all the pieces required. You might say that getting me out of the field is a good thing, but without masters creating tools and tutorials for journeymen and women, we will forever need the masters on the front lines instead of leveraging their mastery for more valuable ends.

  • thingsiplay
    link
    fedilink
    -3
    edit-2
    1 year ago

    @canpolat The article is written from the perspective of a Windows user. I’m not surprised. Software as a whole does not get worse; there are some software which get worse, and some technology getting in the way. And then there is software which get better, not worse too. If you cherry pick, then you can prove any point you want to proven right; especially on a very wide range of topics like software.

  • dog
    link
    fedilink
    English
    -81 year ago

    Yes, software is getting worse, as education and corporate are getting worse.

    Where employees needed to know what they actually were doing in the past, now is mostly auto-filled by IDE’s and languages that target other languages, so employees need to know less and less fundamentals.

    Which in turn means when a low-level error occurs, either no one knows how to fix it, or the corporate refuses to hire someone who knows how to fix it because they’re “over-qualified”, and therefore would “cost them too much”.

    • @[email protected]
      link
      fedilink
      English
      41 year ago

      Do you think complexity and scope stayed the same? Or did it increase? Do people have to know more now to have the same level of depth and surrounding knowledge?

      • dog
        link
        fedilink
        English
        11 year ago

        I’d say no. While yes for example in game development we’ve had new tech come up that wasn’t there 10-30 years ago, the “how” to do it was on paper decades earlier. It just wasn’t feasible to implement with current technology.

        Due to IDE’s etc, it’s significantly easier to just create stuff these days, which for indie etc is extremely good.

        It does however also mean that the implementation of tech X will be sub-optimal in most situations, because people don’t really understand the underlying tech.

        That can be solved in non-corporate situations by asking for help/advice online, or looking it up; but in corporate that’d likely get you branded “overqualified”, and they’d fire your ass for focusing development time on improving/fixing something instead of just pushing, pushing, and pushing.

        'course there are also programming fields specifically targeting to improve gaps left by IDE’s etc, to make them even easier and efficient to use.

        So basically: Fuck big corpo, fuck “education” that prepares you for corporate rather than teaches you the fundamentals.

    • @witx
      link
      English
      2
      edit-2
      1 year ago

      Depending on the points I can see it with education and even with things like chatgpt, but IDEs? Ah this is a new one. How do IDEs just fill code for programmers? What’s next? programmers use chairs that are too comfortable nowadays?

      IDEs have boosted significantly programmers productivity.