Software is in Decline - Jonathan Blow

แชร์
ฝัง

ความคิดเห็น • 746

  • @dinobotpwnz
    @dinobotpwnz ปีที่แล้ว +68

    Hardware limitations used to filter out bad programmers, now they don't. The more you program on embedded systems the clearer it becomes that most software today is crap. It's depressing to think of how much faster it could all be if such a goal were considered profitable.

    • @archimedesbird3439
      @archimedesbird3439 5 หลายเดือนก่อน +4

      The powers that be *want* you to buy the newest, most powerful hardware to solve software issues

    • @gammalgris2497
      @gammalgris2497 3 หลายเดือนก่อน +2

      He has a point. the layers of abstraction together with ever faster hardware hide inefficient code and algorithms. The layers of abstraction also are a source of many bugs if you naively use high level programming languages. On the other hand you are paid to build systems as fast as possible because you need to earn money.

    • @antred11
      @antred11 3 หลายเดือนก่อน +2

      It's not just speed; it's reliability too. Where ever I look I see a worrying readiness to stack poorly understood, not 100% stable components on top of other poorly understood, unreliable components, and then assign minimal resources to maintaining the resulting software. One has to be aware that unreliability stacks as well. If you build your SW as construct that combines 10 libraries, each of which is statistically 95% reliable, your SW's total reliability will be 0.95^10 = 0.59873693923837890625, or roughly 60%.

    • @gruntaxeman3740
      @gruntaxeman3740 3 หลายเดือนก่อน

      I don't see much of issues in speed.
      Sure performance requirements and number of simultaneus users should be written in software specification.

  • @JanVerny
    @JanVerny ปีที่แล้ว +130

    I studied CS in uni. I got a job in warehouse automation when I started my Masters and I dropped out midway through.
    But doing both at the same time, I vastly preferred coding for school, because most of the time we were given reasonably clear requirements that I could actually consult with someone who understood them and when we turned a project in, the teachers would give a clear feedback of what worked and what did not.
    Meanwhile at the company, clients would make vague requests that would be passed through 15 layers of middle men (salesman, planners, management, team leaders, etc.). Then I would have people often chaotically managing the development, because of deadlines, vacations, late payments, new requirements, changes in scope, etc.
    Engineering anything to a level where it can be completely debugged and thoroughly tested is next to impossible in such environment. And I suspect this is the real issue, software nowadays is made for people who don't know anything about software and they do not demand quality.

    • @LightWrathme
      @LightWrathme ปีที่แล้ว

      Yup, this is basically how software development works and in some ways it's kind of a good thing. If you start working with a company that has everything planned out for their software, it should set off the alarm bells in your head.

    • @armanke13
      @armanke13 ปีที่แล้ว

      "Formal methods"

    • @roywastaken
      @roywastaken ปีที่แล้ว

      S.:./ax.

    • @kiiro772
      @kiiro772 9 หลายเดือนก่อน +4

      I work in a big corporation as a software developer and everything you said is 100% accurate. Everything is done in an extremely superficial manner, without any form of rigorous planning or testing, wasting unbelievable amounts of money and time just because there's growth and they can afford to.

    • @killingtimeitself
      @killingtimeitself 4 หลายเดือนก่อน +1

      so as with most problems in corpos. its the management causing the issues.

  • @dfa2691
    @dfa2691 ปีที่แล้ว +70

    I fully agree.
    It does not matter the quality.
    It does not matter if it works or not.
    It does not matter the consequences.
    What it does matter:
    Doing it faster.
    Sell it faster.
    Profit from it until you can.
    Repeat.

    • @TW0man4RMY
      @TW0man4RMY 10 หลายเดือนก่อน +4

      Yup. Thats what happens when interest rates are artificially low.

    • @seriouscat2231
      @seriouscat2231 4 หลายเดือนก่อน +1

      @@TW0man4RMY, what do you mean by artificial? What determines what the "real" rate should be?

  • @marktaro
    @marktaro ปีที่แล้ว +71

    I work with Autodesk programs, and upon experiencing a 'downloaded package' bug that put me out of work for 2 days, I called an autodesk rep to try and help me with the problem. I was then lectured how autodesk had taken steps to prevent their user license agreement from being abused insinuating that we had multiple users for one seat. While that didn't seem to have anything to do with the error (and wasn't the case), it eventually got solved with lots of my own forum searching. Basically, many of their reps don't even know how to fix their own bugs even when already documented on forums.

    • @Eagledelta3
      @Eagledelta3 ปีที่แล้ว +3

      Not a whole lot individuals can do about that other than to stop using bad software. Sadly, that's not how people work. They'd rather continue being "abused" by a company to continue using what they know than to force a company to change by choosing a less well known alternative.

    • @foxtalksgames
      @foxtalksgames ปีที่แล้ว +6

      Devs not knowing how their programs work feels like some dark foreshadowing for AI

    • @dss539
      @dss539 ปีที่แล้ว

      ​@@foxtalksgames customer support agent != developer

    • @foxtalksgames
      @foxtalksgames ปีที่แล้ว +1

      ​@@dss539 sorry, I didn't mean to comment this in a thread.
      I was talking about the examples presented in the video I'm commenting on.
      TH-cam's interface has been exceptionally buggy lately, I'm not even sure how that comment get ther because I for the life of me didn't read the autodesk comment before today.

    • @dss539
      @dss539 ปีที่แล้ว

      @@foxtalksgames you actually aren't commenting on a video, you replied to someone else's comment. So it appeared as if you were continuing a conversation they started by responding to what they said.

  • @BorlandC452
    @BorlandC452 ปีที่แล้ว +69

    Sometimes I feel like software is getting sloppier because we get all of it online now. Back when there used to be software stores, you would buy a boxed product. The CD-ROM that came in the box would be available in that store for months or even years. It was much more resource-intensive to put out a bug fix. You had to burn it to a CD, package it up and ship it to stores. So I think this caused programmers to put more care into releases because they were fewer and farther between.

    • @Ian-eb2io
      @Ian-eb2io ปีที่แล้ว +11

      So what really happened is that most bugs were never fixed. He even talks about bugs from the era of software on CDs.

    • @jonblack7046
      @jonblack7046 ปีที่แล้ว +1

      What if no one ended up using the software to begin with after the waterfall delivery of a CD? The benefit most businesses want through utilising the internet is that you have the benefit of finding whether theres an actual apetite from customers faster... if that is the case then more effort will be put into improving the product with said customers driving requirements instead of assumptions.

    • @henry-js
      @henry-js ปีที่แล้ว +9

      Isn't the gaming industry a perfect example of this? Most AAA releases today have a Day 1 patch that is gigabytes in size. Publishers now would rather the devs release the game in an unfinished state and fix it after release.

    • @Eagledelta3
      @Eagledelta3 ปีที่แล้ว +2

      @@henry-js That's not entirely the case. For consoles with physical game discs, they HAVE to have a stopping point in development to begin the production of the physical media. Once they have the snapshot for the physical media, the developers continue their work to improve systems, fix bugs, etc.
      Most of the time, at least on PC, you don't see the big day one patches as often (it does happen, but there's not technical reason for holding those back on a preload) simply because if the game is shipping over a digital download, that digital download can be ready on release day. The Physical Media cannot receive updates once it has been produced and shipped.
      That said, there are deadlines because the Entertainment industry as a whole have to plan around what their competitors are doing to limit releasing a big product simultaneously with a competing game/movie/show AND they have to release it when potential customers still care about the product. Wait too long to "finish" it and you'll end up with a customer base that no longer cares.
      And to add to this false perception - there are STILL old games from the 90s with game-breaking bugs that never got fixed (and couldn't get fixed)

    • @bFix
      @bFix ปีที่แล้ว +6

      that's not the developers' fault. Usually these things are management decisions (to ship earlier).
      The other thing is the complexity and size of software nowadays. It's impossible to find and or fix every bug in a software.
      There are too many edge cases.
      Though there is a difference in how products these days are tested. They could run more tests (probably with selected users), but it's more expensive.
      Also: find competent users (or customers/companies) that notice the bug or use your program in unusual ways.

  • @paulholsters7932
    @paulholsters7932 ปีที่แล้ว +356

    I am a software tester and found two of these strange bugs in one test … my own newly bought computer has a bug in it when it comes to rendering so I get a green screen or green dots from time to time: and I looked it up NOT a hardware problem! A software issue that sometimes comes up for no reason for some desktops and cannot be fixed. I believe this talk. The industry is falling apart. Partly because client expectations just become to big. We have the internet, a billion types of devices, performance expectations that are insane and the market expects software to be shipped yesterday. And the level of understanding is lower than it used to be. A lot of demand and hardly any supply (of good developers). How can this end well?

    • @llothar68
      @llothar68 ปีที่แล้ว +14

      Only talk about client software that now moves to SaaS. The reason is the diversification into dozend different languages and hundert of frameworks. There is absolute no reason why librareis are written in anything else than with a C - API. This could save millions of hours of reinventing the wheel.

    • @michaellombardi3638
      @michaellombardi3638 ปีที่แล้ว +19

      You know Reddit? One of the largest websites on the planet whose primary purpose is as a forum? Some people (including me) can't paste text there without it changing the post to random nonsense. And this has been the case for about a year now. There's been dozens of posts on this in the bugs subreddit, nothing has been fixed. Some people say it is Firefox only, some people say it isn't, I'm not sure if it is browser specific. What I do know is that if I wish to paste anything on one of the world's largest subreddits, I have to manually switch it to a different mode, paste it, and then switch it back to the normal "fancy pants editor" mode, otherwise it deletes most of the text in my post.
      Note: I just looked on Reddit and as of a month ago the admins gave this response: "Thanks for the detailed post. The workaround you provided is the only solution for this issue at the moment.This has been a known bug with the Fancy Pants editor for some time now, and it is still slated to be fixed. But unfortunately, this issue has been bumped lower in priority in order to fix other persistent bugs."
      www.reddit.com/r/bugs/comments/vsp7fl/copypaste_in_comments_break_the_text_editor_using/

    • @parlor3115
      @parlor3115 ปีที่แล้ว +26

      Bruh, the entire industry is falling aprt because your screen is glitching?

    • @paulholsters7932
      @paulholsters7932 ปีที่แล้ว +7

      @@parlor3115 yes it are the little things that announce disaster

    • @ThePC007
      @ThePC007 ปีที่แล้ว +10

      I recently switched to Mac and was astounded at how many bugs macOS has these days. I fondly remember the time when Apple made ads where they compared a PC to a Mac and the reliability and error-free-ness was a huge selling point. What happened?

  • @be1tube
    @be1tube ปีที่แล้ว +52

    4:35 It is false that software used to work. My own experience in the 1980's and 1990's was that system crashes were common and could be caused by user programs not just the operating system. Programs would regularly lock up the C-64 requiring powering off and on. Mario is filled with glitches that speed runners exploit to this day. Donkey Kong level 22 kills the player after 4 seconds. Netscape crashed multiple times a day. Every windows user was familiar with the blue screen. And for other OSs, kernel panics and sad Macs were familiar friends. The widespread availability of after-release updates over the Internet or even server-hosted software has enabled us to fix problems that in earlier years would have had to be worked around. This allows levels of service that would have been unattainable in the shrink-wrapped software era.

    • @parlor3115
      @parlor3115 ปีที่แล้ว +20

      Thank you. this video is weird af

    • @AJ-le3yh
      @AJ-le3yh ปีที่แล้ว +3

      @@parlor3115 agree!

    • @alandemaria7569
      @alandemaria7569 ปีที่แล้ว +11

      Had the same reaction when he said this. He must have lost his memory cause all I can think of is how buggy things were in the past, much worse than today surely. I think we are "noticing" more and more beacuse we are more and more dependent on software for our daily lives.

    • @Fricasso79
      @Fricasso79 ปีที่แล้ว +8

      Yes! Software in the 80s and 90s was garbage and this video is just silly. I'd wager most of the comments agreeing are from people under 30 who aren't even old enough to remember the janky software we used to put up with.

    • @Voidermusic
      @Voidermusic ปีที่แล้ว +1

      Maybe on their emulators or old dusty consoles, I've played Mario hundreds of hours as a kid and never came across a single glitch or bug.

  • @JohannesSchmitz
    @JohannesSchmitz ปีที่แล้ว +48

    I believe in the beginning he talks about the 737 MAX disaster. Seems to be incorrect that it was a software only issue. They clearly had a design failure regarding the redundancy of the sensors coupled with a software issue. So not just a software problem but more like a systems engineering failure.

    • @tacokoneko
      @tacokoneko ปีที่แล้ว +1

      from what i have heard the normal practice in designing airplanes is to have many redundant systems including redundant computers so that the backup can be used if a software error causes an emergency. maybe that is only some planes though

    • @acuteaura
      @acuteaura 6 หลายเดือนก่อน

      it also was a mismatched expectations issue, the engineers thought the physical indicator for AOA disagree wouldn't be optional, because it hadn't been on previous 737 models. But then Boeing decided it should go in the glass cockpit by default somewhere along the way, probably quite late, and nobody reassessed that system for that change. This is something that happens often in software engineering, but it also happens in all other engineering (Hyatt Regency walkway collapse anyone).

  • @wilfredv1930
    @wilfredv1930 ปีที่แล้ว +196

    The "Get the things done fast" has been pulling majority of devs to high level languages.
    But to catch up with the new advances in hardware you need developers in low level.
    But that doesn't produce earnings quickly enough as required in modern economy.

    • @saqibshafin
      @saqibshafin ปีที่แล้ว +6

      You talking abt me...I barely touched C/C++

    • @kbabe3915
      @kbabe3915 ปีที่แล้ว +30

      You don't "need developers in low level," you need them to understand the low-level implications of the things that they do with higher level abstractions. The problem is that the chain of abstractions is too long. That literally cannot be solved. The only way to address the problem is to start from the beginning and meticulously architect every system for every ambiguous use case. The problem now is that there is not enough people interested in learning assembly or the like just to reinvent the wheel a hundred thousand times with good documentation.

    • @Ian-eb2io
      @Ian-eb2io ปีที่แล้ว +5

      If you want worse software you'd have more people using lower level languages.

    • @GlobusTheGreat
      @GlobusTheGreat ปีที่แล้ว +13

      @@Ian-eb2io It would be faster programs... but entirely unmaintainable and you'd have a new guy coming in every hiring cycle to rewrite your assembly systems because the last guy quit and nobody knows what the hell his code is doing

    • @tomhaswell6283
      @tomhaswell6283 ปีที่แล้ว +8

      @@GlobusTheGreat The problems you describe have nothing to do with the level of abstraction. Assembly programs can be well documented. Low-level engineers can be paid more so that they stay at the company.

  • @joecan
    @joecan ปีที่แล้ว +8

    This is like a drunken ramble without the drinking.

  • @rewrose2838
    @rewrose2838 ปีที่แล้ว +1

    Thank you filming the presentation instead of focusing on the speaker, great cameraman.

  • @bennettbullock9690
    @bennettbullock9690 ปีที่แล้ว +49

    I don't remember software as a kid being any better or worse than it is today. My first computer game was "Frogger" on a Mac 128k. I was so excited, I put in the disk, opened the application and ... the frog didn't appear on the screen. The cars, the sounds, the road, everything except the frog. I tried this several times with the same result. My Mac crashing because of a game was just something I put up with.
    But let's say the assertion is true. Why would this be?

    • @ifstatementifstatement2704
      @ifstatementifstatement2704 ปีที่แล้ว +11

      It is that way because today’s software has become far too complex for one person or a few to understand. Because it’s libraries built on top of other libraries, etc. By the time you get to know all of it you’d probably be dead from old age.

    • @JimSendre
      @JimSendre ปีที่แล้ว +1

      regarding games some people claim the games have become more broken compared to time before the internet since now everything can be patched after the release.

    • @frozentree2651
      @frozentree2651 ปีที่แล้ว +2

      These comments are good.

    • @allesdurchprobiert
      @allesdurchprobiert ปีที่แล้ว

      Nowadays Frogger would be a 3GB download, 5GB installed, needing 1GB RAM, 60% of a 3GHz Quadcore and would load for 8 seconds when you start it. While not even running smoothly. And then you find out its an electron app, and you make plans to murder the developer.

    • @jimmy_james0007
      @jimmy_james0007 ปีที่แล้ว +1

      @@christopherbentley6647 That is definitely not true for Atari, nor really a substantial number of video games at the time.

  • @remixisthis
    @remixisthis ปีที่แล้ว +89

    I agree, but growing up Windows and Mac were super buggy and blue screen of death was a meme.
    For the growing complexity and increasing amount of software everywhere, I’d say it’s going alright. If you’re an older person, though, who has a good memory of when there was less software and less complexity, I can see that everything looks as a decline from simpler systems in the past (and I get the pro/cons of that approach)

    • @1985rbaek
      @1985rbaek ปีที่แล้ว +9

      I think you don't have to take it too seriously. As an electronics engineer we do complain a bit about software engineers high usage of hardware resources and somewhat bad use of algorithms, memory management etc it's friendly hazing. To be fairs things worked on MS-DOS and it was pretty stable, most BSD and solaris systems ran pretty stable back in the day. Consumer computers have been somewhat of a steady decline from the commodore and through the windows 9X kernels (same for mac, X being their true reversal), NT being one of the more reliant kernels widely available, windows 2000 actually being pretty ok.
      But in the 10s it has been going down again in software, and people have been very involved with the idea for all platform languages like Java and to a degree more and more in to scripting languages like Js. While low abstraction languages like C, Cuda C, fortran etc. runs pretty well, as they do not abstract the hardware away. I know that there is a lot of overspecialization, UI developer, database developer, backend, fronted, etc., which does seem to create some issues, as software written by no more than 4-8 person tend to run pretty well. In short I think the issue of commercial and consumer software getting more and more unreliable is not the issues of having bad programmers, but artificial systems of management that screws up the most of the process, thinking that you can spread the workload to a lot of engineers with little to no cooperation between the groups.

    • @tomhaswell6283
      @tomhaswell6283 ปีที่แล้ว +4

      @@1985rbaek Yes, this is exactly the problem. Especially in web development things got out of hand. The list of things that you need to learn to build a web application has gone crazy long. And it has no right to be that long.

    • @HVDynamo
      @HVDynamo ปีที่แล้ว +3

      I think part of the problem is we keep trying to make appliances that are totally fine being "dumb" into smart/connected devices. So now that coffee maker that used to just work all the time now has bugs and won't brew coffee because it can't find wifi or something. I love tech, but man we really need to stop shoving it into places where it really doesn't need to be.

    • @eugenkeller
      @eugenkeller 4 หลายเดือนก่อน

      I would argue that Windows is now now in an invisible Blue Screen non-stop.

  • @silverywingsagain
    @silverywingsagain ปีที่แล้ว +186

    A few years ago I asked Google Assistant to "navigate home" from my traveling job, as I had many nights before. After a few miles I realized I was driving the wrong direction, and Maps was navigating to a town called "Home" located in the US state of Oregon. For the first time I found myself wondering if the "software engineers" at Google had ever even heard of an edge case.

    • @seeranos
      @seeranos ปีที่แล้ว +6

      I frequently have auto fills for my address unexpectedly filling in previous addresses, and when opening the auto fill dialog, each address has over a dozen identical entries.

    • @johnc8327
      @johnc8327 ปีที่แล้ว +38

      You said you wanted to go home. The program calculated the route to Home.... Working as intended.

    • @baganatube
      @baganatube ปีที่แล้ว +41

      @@johnc8327 Not a bug. @wontfix

    • @JoeARedHawk275
      @JoeARedHawk275 ปีที่แล้ว +15

      Idk why, but it seems like you’re leaving out some info or forgot some details of the story or something. It worked fine before, but randomly navigates to a town called “Home”? Story seems incomplete or dishonest

    • @gbolt111
      @gbolt111 ปีที่แล้ว +1

      I had another issue with android auto. Where if i had a route and did not fully reach the end point and then tell it to navigate me home, it would say rerouting, but it would actually still use old route to reach the end..

  • @k98killer
    @k98killer ปีที่แล้ว +128

    The financial incentive for developers is to pump out garbage code quickly, and a lot of execs and dev team leaders can't see beyond their nose to imagine the ramifications of accepting shit code.

    • @jakubrogacz6829
      @jakubrogacz6829 ปีที่แล้ว +9

      They promote shitty code by kissing customer asses and never being interested in newer or different solutions. Untill software stops being prepaid to fit certain time frames this will happen

    • @toddmartin7030
      @toddmartin7030 ปีที่แล้ว +11

      Pretty much. Engineers and developers want to turn out good code. But velocity and pumping out features fast the way exec teams want mean, the code is gonna be shitty. Its one of those classic, you have 3 things, but you only get to pick two; Time, Quality, and Quantity. Execs and management want Time and Quantity. And it always ends up biting everyone in the ass later.

    • @k98killer
      @k98killer ปีที่แล้ว

      @@atheosmachina who would head this guild and set the standards?

    • @atheosmachina
      @atheosmachina ปีที่แล้ว

      @@k98killer Much the same as any of the other bodies: highly qualified professionals who set the standards as a team. It's not a quick process, but in time it works. In the case of medicine and engineering, it saves lives. Software engineering can also be life-threatening as we know the aeroplanes, spacecraft, nuclear etc.

    • @k98killer
      @k98killer ปีที่แล้ว +2

      @@atheosmachina the health/medicine establishment has proven to be less capable and sane than any of us expected over the past few years. Very poor example for making your point.

  • @sexygeek8996
    @sexygeek8996 ปีที่แล้ว +74

    Software quality is definitely getting worse. We have too many unqualified people writing shitty code. Superficial features take priority over correct results. People are judged by the amount of code they generate. People refuse to accept the fact that hardware limitations still exist.

    • @Silicon_0014
      @Silicon_0014 ปีที่แล้ว

      Lots of people bashing code into tests because it's faster too (sometimes leading to bugs so bad they could collapse markets).

    • @mikewright2858
      @mikewright2858 4 หลายเดือนก่อน

      This is because we hire "coders" and not "engineers" ... most of these kids don't even know how a computer works. I have to explain basic concepts such as abstraction to CS grads and they have no idea what I am talking about. And, they want a six-figure salary because they can slap some crappy Python together and call it an API.

    • @sexygeek8996
      @sexygeek8996 4 หลายเดือนก่อน

      I write and document code in a manner that real software engineers can understand but these idiots cannot. I'm hoping to make them quit and move to another occupation.

  • @systemhalodark
    @systemhalodark ปีที่แล้ว +28

    A lot of old software from the late 80s/early 90s were often very hacky. There's a difference between putting out masterfully crafted demos and having the structure to produce professional systems. There was no golden age. All remains to be done.
    The biggest problem however is that quality software development today requires a socialised production, something with which the industry (at least in the anglo world) as it is today is simply woefully incompatible. Students/juniors with big debts and the pressure to be/remain immediately employable won't have the time or reasons to hone the time-consuming, yet essential long term stuff. Same deal with any new companies needing to spend more effort peddling future ideas than doing actual productive work.

    • @imranzero
      @imranzero ปีที่แล้ว

      ok, so marxism is the answer?

    • @litjellyfish
      @litjellyfish ปีที่แล้ว +2

      Agree so much with the first part.

  • @anatolydyatlov963
    @anatolydyatlov963 ปีที่แล้ว +60

    The number of bugs we encounter is proportional to the amount of software that we use. It's as simple as that. The same thing with cars - the more of them you encounter during your life, the bigger the chance of having an accident, but it doesn't mean that cars are getting worse. Think about it, so many things have been digitalized over the past 20 years!

    • @randall2158
      @randall2158 ปีที่แล้ว +13

      Weird how you can prove the point but miss it at the same time. The congestion and speed is what has made cars very unsafe or even unreasonable in certain situations such as cities. The same is true of software. It's gotten so complex that they cease to function as they should.

    • @anatolydyatlov963
      @anatolydyatlov963 ปีที่แล้ว +12

      ​@@randall2158 ​ It's a matter of interpretation. Congestion indeed reduces the usefulness of cars in general, but the quality of each individual car is much higher than what we had 20-30 years ago. Of course, you could argue that the simplicity of a 1966 Mustang makes it much better than the latest model, which is packed with numerous systems like ABS, power steering, electric side mirror adjustment etc., all of which are potential points of failure, however, I would then say that we disagree on what "quality" actually means. Imagine if someone in the 60s decided to build a car with as many features as modern cars are equipped with. It would've been a disaster. The same thing with software - it's not that hard to create a simple assembly program for a very specific purpose - its simplicity can make it bulletproof. The number of potential bugs in such a small piece of software is incomparable to what you could encounter in Microsoft Word or electron-based apps. Complexity has its drawbacks and it's all about finding the right balance between the number of bugs and extra features - there's a point beyond which we say "no, this is too buggy, I can't use it", which means that the given piece of software has gotten too complex. You argue that we've already passed that point, but I'd say it's highly subjective. I, for example, can tolerate occasional problems with Steam downloads. This platform makes installing new games very convenient, so sporadic bugs can be forgiven. Nevertheless, I admit that if my tolerance for bugs was lower, or I didn't appreciate all the features that are offered by modern software, I'd definitely agree with Jonathan.

    • @randall2158
      @randall2158 ปีที่แล้ว +5

      @@anatolydyatlov963 It's fascinating watching you rationalize your point of view while yet again demonstrating the fatal flaw in a software ecosystem that was not intended. I think you need more philosophy.

    • @anatolydyatlov963
      @anatolydyatlov963 ปีที่แล้ว +9

      @@randall2158 I'm glad you find my comment fascinating and thank you for the advice. It would be very helpful, though, if you explained the point that I'm missing in the context of what I said. Why, exactly, do you think that the current software ecosystem is fatally flawed? The only thing you said to support this view is that the ecosystem has gotten so complex that its products cease to function as they should. I gave you a clear counterargument, which you didn't care to address, and instead just restated your opinion.

    • @randall2158
      @randall2158 ปีที่แล้ว +6

      @@anatolydyatlov963 The features of cars have modestly improved. It's not really a great analogy. They function almost the same, but with a few extra bells and whistles; however cars just like software were never intended to exist in a system where their effectiveness has been vastly reduced, and continues to be reduced by adding additional software (or cars) to this system. Cars are a poor analogy I guess, but it was just to try to make the point that software in the past had very few systems to work with, and historically software engineers had more difficulty designing software, but it had to be designed better since they were coding in assembly, or C. Modern computing languages which are mostly object oriented now are more abstracted away from the actual metal, and thus are introducing new problems since we've moved further away from the bare metal which is what is actually doing the work. It's kind of hard to not restate my argument when I don't think much was said to shift it. I can see how you can look at the base of the issue: cars have gotten better, but that doesn't make it follow that cars are functioning in their given system better. We have more fatal accidents in cars than ever before. That was not intended. Same thing with software--more bugs than ever intended because of an ecosystem that is overloaded with software that is disassociated from each other.
      I can be guilty of this myself, but try to listen to your emotions. If you crave being right you will rationalize your way there. We're not logical creatures. I personally enjoy optimism over pessimism, but I don't think I can entertain your point of view for a bunch of numerous reasons that are unrelated to software, but related to the human condition. Such as government isn't evil, or even incompetent it's that our problems and the solutions to them are so sensitive and so complex that nobody can govern effectively anymore. It's harder to run a technological society than a band of gatherers. If you can't see my point of view--that's fine. It was interesting seeing yours, but I'm not convinced.

  • @frozentree2651
    @frozentree2651 ปีที่แล้ว +47

    I wish he defined "decline" better.
    Quality decline? As others in this comment section have pointed out, there's a tremendous need for software, and therefore the bar is a bit lower than it should be. In the old days, what little software we had was usually written by universities or people who were really enthusiastic about coding. Today, a lot of people do it as a 9-5 and aren't as passionate. That's necessary.
    In terms of declining in use, I think it could be argued the growth of software is peaking, because as he said, it's pretty much everywhere. But not declining.

    • @RealFableFox
      @RealFableFox ปีที่แล้ว +4

      Management decline. The first example he used is correct (the plane). Read more into the case and you can apply it to other example he provide.

    • @kimura317
      @kimura317 ปีที่แล้ว +10

      @@RealFableFox The 737 MAX was about cheap hardware too, as well as regulatory and training shortcuts. They made the plane longer and took shortcuts to re-certify the airframe as a 737 rather than as a new type. The plane shipped with fewer sensors than it should have, and the company minimized the training provided to pilots. They also neglected to fix the issue after they were aware of it.
      I agree that he didn't adequately define "decline." I've found that software is more reliable in the way Jonathan is talking about, not less. The 90s and 2000s were full of blue screens of death and hard crashes. Now the bugs are relatively minor, but software runs more of the stuff in our life.

    • @Tome4kkkk
      @Tome4kkkk ปีที่แล้ว +5

      I'm calling out the capitalistic way of blaming the individual in all circumstances. It's particularly flawed in your comment. Do you think companies put forward all the instruments before the developer for him to write a lean, elegant piece of software and yet those "second-tier" boogers decide to, all against their managers and under their watch, to write an atrociously buggy, bloated software?

    • @Ian-eb2io
      @Ian-eb2io ปีที่แล้ว +6

      It has nothing to do with being passionate. There were plenty of bugs in old software written by enthusiasts.

    • @LowestofheDead
      @LowestofheDead ปีที่แล้ว +7

      @@kimura317 The problem is that final part, "Software runs more of the parts of our life". We're forced to use software more often and so the errors are far more painful than the 90s.
      Consumers don't even choose this, they're forced to use software. Most government services use web or digital interfaces. Most companies force apps onto users to cut costs, so any company that didn't do so would be punished by higher operating costs.
      There's also the "blitzscaling" VC tactic, where a tech startup is subsidised for a 10+years by investor cash, to attempt to take over a market. So markets that functioned fine without software are now replaced by a collection of apps like DoorDash that aren't even profitable and may never be.
      Also it's profitable to sell user data, so that's another incentive to create datasets and force consumers to enter personal data.

  • @Fricasso79
    @Fricasso79 ปีที่แล้ว +365

    This is just one guy's anecdotal evidence and cognitive bias. I had way more problems with software not working back in the 90s and early 2000s. Back then, it was pretty common to buy software and it would just completely fail to work straight out of the box. Sometimes it would fail to even install. I haven't had to worry about that with new software in over a decade.

    • @henrikteinelund5437
      @henrikteinelund5437 ปีที่แล้ว +28

      But, back then we wheren't as dependet on software as we are today. Back then, nobody died because of bad software, but as today (as Jonathan said in the video) airplanes crashes because of software. There has been reports of glitches in trading systems, that have hurt people economicaly. Just a few examples. And we only get more and more dependent on software. Another sad habit of software are bugs that may be used by criminals, rough states and more to hijack a system. The explotions of ransomware expoits are one examples of that.

    • @dwosllk
      @dwosllk ปีที่แล้ว +14

      @@henrikteinelund5437 In my opinion the question is if the scale of those software in the past would have been the same as the scale of todays software, would the latter still produce more failures then the former? For example, back then 1 plane failed out of 4, today 2 plane fails out of 10. In this sense it is true that there are more planes failing today then before.

    • @AFuller2020
      @AFuller2020 ปีที่แล้ว +17

      The dude is just trying to sound more important than he is. He's talking about the Boeing planes using bigger engines, it was an aerodynamics problem.

    • @NetherFX
      @NetherFX ปีที่แล้ว +3

      especially the csgo one, it's a bug that causes no harm, there's no reason to put a high priority on something like that.

    • @alpyre
      @alpyre ปีที่แล้ว +1

      @@NetherFX I guess such glitches can cause big trouble on e-sports events where thousands of dollars are given as price and the audience and/or competing teams can speculate someone was cheating ect.

  • @drmonkeys852
    @drmonkeys852 ปีที่แล้ว +30

    IMO I don't really think that software is on the decline. It's just that the problems that software is trying to solve has gotten increasingly more and more complex. This leads to more and more dependencies thus more opportunities for failures. Of course back in the day it was more reliable everything was written in tiny bits so it was easier for the developer to test every single possible edge case and really grind out the bugs. Nowadays in order to do anything (even simple things) to log into instagram for ex you first need to connect to an auth server then query another server to get your posts another for your messages etc etc... There's just many moving parts now so there are more chances to fail. The same thing is happening in the car market. Why old cars are more reliable cause they use less efficient engines.
    I don't think the current state of software is perfect either. There are many problems like too many people trying to reinvent the wheel. Horizontal progress. I just think that most of these points presented in this talk are just bad/ wrong.
    Also the analogy about Rome is straight up wrong. Centuries before it was easy to tell that Rome was falling apart. During the third century due to a streak of insanely bad emperors there was constant corruption wars and revolts everywhere. Rome was hanging on a few threads.

    • @andru5054
      @andru5054 ปีที่แล้ว

      Agreed

    • @ivanbraidi
      @ivanbraidi ปีที่แล้ว +1

      You clearly need to wake up. :)

    • @andru5054
      @andru5054 ปีที่แล้ว

      @@ivanbraidi I bet u didn't even read the text

    • @ivanbraidi
      @ivanbraidi ปีที่แล้ว +1

      @@andru5054 I read it. And if you say that modern software is more complex, well, you didn't know software or how to program. It's very clear.

  • @Exilum
    @Exilum ปีที่แล้ว +13

    I would definitely say software quality declined as a percentage of error per line of code, but it is directly tied to the size of those piece of software. Software nowadays is way more complex than anything anyone had to make even 20 years ago. I do not think it is a sign of decline, though. Error handling has gotten way better over the years, and there are way more failsafe. What at the time could be hardware-breaking, computer-resetting, file-corrupting problems are way more anecdotal. An error prompts trying again, reloading the page (in the case of a web page) or at most restarting the app (in the case of an app). Software layers are way more isolated than ever before.
    On the wider argument, I don't agree with software being tied to hardware as a sign of lack of growth. While efficiency isn't a factor that improved much, scalability is a very important factor when it comes to software. The methods used nowadays to make scalable software has been constantly improved over the years, and will continue as hardware improves. When you consider software individually, you forget that software is, before anything, entirely dependent on the hardware it runs on. While the fastest piece of code for a specific task on old hardware never changed, the fastest piece of code on modern hardware for that same task is more modern. It uses the specificities of modern hardware to run faster and more efficiently at bigger scales. It is a net improvement in software too, which shouldn't be ignored because it is tied to hardware.

    • @kiiro772
      @kiiro772 9 หลายเดือนก่อน +1

      My only problem is, why every piece of software nowadays must be complex and bloated? It's like everyone forgot how to keep thigs simple and clean.

    • @Exilum
      @Exilum 9 หลายเดือนก่อน +1

      @@kiiro772 Abstraction. You need abstraction to make software with many features in minimal time, but also the higher the abstraction the more layers your code goes through. As I said, you couldn't write anything near the requirements of modern software with too low level an approach. Modern software doesn't just need to work on a machine, it has to work on all of them. It doesn't just have to work when used right, it has to work for all users. On top of that, it must interact with a network of other complex systems, which are the OS, internet servers, drivers, hardware, etc... It seems straightforward until it isn't and the list of requirement goes way beyond the list of features, as every feature can be broken into a hundred more. Because we don't like redoing boilerplate over and over again, we use abstraction, libraries, and others' work. And of course, there are performance trade-offs.
      Just look at technology choices. An IDE like vim might be well optimized, but as you customize it, you can run into bloating issues. A fully-featured IDE like Intellij Idea might be well coded, yet it still has so much to do that it just naturally ends up being slow to start.
      Meanwhile, a code editor like vs code might seem swift, but it's built with electron, which adds a layer on top of web technology and is far from optimized.
      Things just *feel* bloated because we need them to be. But some actually bloated software might not feel so simply because they have so much less to do.

    • @kiiro772
      @kiiro772 9 หลายเดือนก่อน +1

      @@Exilum VsCode is often my go-to point to talk about ultra bloated software, but yeah, I get your point. I surely don't have an issue if, say, a web browser has tons of features, a big piece of software full of stuff is not bloated if I feel the features are useful and make sense in the context of the software.
      My point was that I feel like ALL software that I use has so much useless stuff that I don't care about. But maybe that's just me.

    • @Exilum
      @Exilum 9 หลายเดือนก่อน +1

      @@kiiro772 Oh, in that sense. You could say that's because they catter to a large audience. There was a time when software didn't have to care about this, but it's way easier for people to miss a feature than to be bothered to it exists, but yeah. I get your point.

  • @christian-schubert
    @christian-schubert ปีที่แล้ว +11

    Couldn't this also be the result of constantly overengineering things when simply not necessary?
    To this day, I've probably already fiddled with a dozen frameworks/libraries for web-driven environments alone, where in many cases a simple Vanilla Javascript (or Python/PHP for the backend) approach would suffice.
    Javascript is a very high level language already (you don't have to worry much about garbage collection for instance, etc. ..), many complexities are greatly diminished by numerous environment APIs.
    Still, we get React, Angular, Next, Nuxt, (sure Noxt is on the way), Svelte(-kit), Vue, Node, ... libraries upon libraries, frameworks upon frameworks that often depend on each other and ship with huge code reservoirs when maybe only a tiny fraction thereof is actually needed.
    Add a coder who's always chasing the latest trends without fully understanding the fundamentals as a cherry on top of all that and you've got yourself a recipe for disaster.
    (...used Javascript for demonstrative purposes since this trend seems particularly bad in this community)
    Not claiming that that's the main reason - but it most certainly is a contributing factor IMHO

    • @allesdurchprobiert
      @allesdurchprobiert ปีที่แล้ว +6

      I always wondered when skinnyjeans hipster devs would reimplement the linux kernel in javascript and wrap it an electron app

    • @christian-schubert
      @christian-schubert ปีที่แล้ว

      😄

    • @wiseversa5369
      @wiseversa5369 ปีที่แล้ว

      @@allesdurchprobiert LMFAOOO

    • @tiagodev5838
      @tiagodev5838 ปีที่แล้ว

      @@allesdurchprobiert hahahaha!

  • @roncinephile
    @roncinephile ปีที่แล้ว +34

    This guy's documenting things we've all experienced but were too lazy or ill-equipped to describe.

  • @duke605
    @duke605 ปีที่แล้ว +47

    I think it's unfair to romanticize past software. Software in the past was few and far between. It wasn't part of our everyday life. And for the things we did use it for, the applications were relatively simplistic.
    Today we interact with millions of lines of code a day that do very complex things and are made by teams that have hundreds of people. That complexity coupled with poor management, time constraints, and the shear amount of software you interact with is why there are so many bugs. What you're seeing is growing pains and issues at scale.
    To frame it another way, it's like saying "cars are in decline, they kill thousands of people a year. When cars were invented, they were safer" and cars in fact, were death machines. No safety features or anything. But they had a lower fatality rate because they were simplistic, slow, and few and far between. Today everyone and their dog has a car that can go at least 100Km/h.

    • @SimGunther
      @SimGunther ปีที่แล้ว +1

      I assume that bad R&D and blissful ignorance of hardware/human constraints when the economic system is always going at 100KM/ms are why we don't have more than 3 major players in any given industry that are wasteful of time and tax dollars, including the CPU/software industry.

    • @rocapbg9518
      @rocapbg9518 ปีที่แล้ว +3

      That's just not true, the things that people use these days are simple in concept and complex in implementation for absolutely no reason. Photoshop has only become slower without any features for the average users. The web has gotten slower when the only thing most people use it for is to scroll through pictures on Instagram.

    • @duke605
      @duke605 ปีที่แล้ว +7

      @@rocapbg9518 in terms of photoshop, I feel like that's just wholly untrue. Just cause you might not use the features doesn't mean they're not their.
      But as a web developer, I can tell you don't know what you're talking about. The web is basically a desktop application at this point that has so many things working behind the scenes. That coupled with management going "come on, whats taking so long, this is just a simple feature, I'm not giving you more time" is the reason sites are clunky. Developers are put under severe crunch time to deliver the moon because stakeholders think they're just delivering a pizza

    • @lilyscarlet2584
      @lilyscarlet2584 22 วันที่ผ่านมา

      that doesnt justify the awful results. its not about the past its about the fact that we allow programmer to happen while being ignorant to hardware and have way more abstraction than necessary. its not even hard to fix its just most people dont know any better and have no sense of whats good anymore since everything changes so fast a single person cant keep up. the web is the worst of it though.

  • @jaywalks9918
    @jaywalks9918 ปีที่แล้ว +5

    I'd like to see an objective record of bugs and those data points plotted over time. Otherwise, this doesn't merit a presentation but a theory you might discuss over beers.

  • @rainerwahnsinn2150
    @rainerwahnsinn2150 ปีที่แล้ว +2

    Fun fact: I wanted to add this video to a playlist, but it didn't work. Then I added it again. And again. And again. And now it shows up four times in the same playlist. That should not even be possible. Well, first screenshot I guess.

  • @robchr
    @robchr ปีที่แล้ว +24

    His premise that software developed today for airplanes is done differently than it was 20 years ago is ludicrous. He's so smart, that he overflowed his 32 bit int into being dumb.

    • @UnicyclDev
      @UnicyclDev 8 หลายเดือนก่อน +1

      So I work in safety and in functional safety software has changed quite a bit.

  • @carbon1479
    @carbon1479 ปีที่แล้ว +5

    I'd agree that in the business world everything's 'fly by the seat of your pants' and if it works - great! If not - there's a guillotine in the corner. It's that merger of coding with the business world that's turning things to isht.

    • @allesdurchprobiert
      @allesdurchprobiert ปีที่แล้ว

      True! I miss the days when IT was completely in the hands of IT people. Nowadays everyone and their dog has a say in it despite being completely incompetent.

  • @simonegiuliani4913
    @simonegiuliani4913 ปีที่แล้ว +5

    It's called Scrum

  • @heyrmi
    @heyrmi ปีที่แล้ว +1

    I work as an SDET, I really see these things everyday. Like my brain is now always looking for such cases.
    An example, Share screen on slack huddle and change the theme of your mac from Dark Mode to Light or vice versa, then if the other person uses pen to point something on your screen whole screen turns black or white depending on the theme.
    This is something I discovered just a day ago.

  • @SamTipton
    @SamTipton ปีที่แล้ว +74

    Software needs to become a profession. We have too many gorilla coders that don't understand the art nor the science of software. It's not manufacturing. This is how you get dog water slow insurance and healthcare etc websites. We need quality controls on who commits code.

    • @cat-le1hf
      @cat-le1hf ปีที่แล้ว +13

      insurance and healthcare sites are slow because they're forced to deal with decades of legacy code.

    • @labadcloyd
      @labadcloyd ปีที่แล้ว +25

      You have to realize that most of the software today that even large companies use, came from hours upon hours of unpaid work from coders. The software we have today wouldn't be where it is now if it weren't for the open source community.

    • @supremespanker
      @supremespanker ปีที่แล้ว +8

      It's already a very low paid, high stress job. You want better coders, start shelling out the big bucks, and amazing benefits.

    • @mateovansweevelt5257
      @mateovansweevelt5257 ปีที่แล้ว +8

      @@supremespanker what do you mean low paid? software engineering is one of the better paid jobs?

    • @Tome4kkkk
      @Tome4kkkk ปีที่แล้ว +1

      Are you a socialist, sir? ;) Either that or you don't want what you said. Because you can be damn sure this won't happen under free market capitalism.

  • @balazssebestyen2341
    @balazssebestyen2341 ปีที่แล้ว +37

    I started watching this video because I was very curious about what "software is in decline" meant. It could mean that we are using less software, software is more expensive than before, code writing is less efficient, etc... It turns out that this decline means that software is more buggy than before. This is simply false. If you have ever used Win95, you know this. Bugs are part of life, always have been. There is a trade-off between creating new features efficiently and economically and stability. In safety-critical applications (like self-driving vehicles, pacemaker controllers, etc.) you have to spend many times more to minimize program errors. Simply paying five times more for a mobile game to get the same reliability is not worth it.

  • @1Maklak
    @1Maklak 8 หลายเดือนก่อน

    Software used to come on cartridges or diskettes or CD or similar. There was no internet, so it had to be mostly correct before shipping. Nowadays patching is so easy, that companies can get away with shipping buggy software and maybe fixing it later.
    Editors similar to gmail used to have a "raw code" button where you could just add some tags manually and it would be perfect, but they don't let you do that any more.

  • @vagtsal
    @vagtsal ปีที่แล้ว +17

    The power of software is exactly what Blow perceives as a problem. Rapid and chaotic/(nearly)heuristic evolution. Hardware must be exact to work, it is a slow procedure to be changed and fixed, software can be broken and fixed all the time. Life itself follows the same pattern. It has the same hardware mechanism since hundreds of millions of years (dna and amino acids) but chaotic/heuristic software evolution (genes) made possible the amazing diversity of life.

  • @muhdiversity7409
    @muhdiversity7409 ปีที่แล้ว +6

    Hey, all you need to do is get some Agile voodoo witch doctor on your team that knows zero about software development but can give you a 3 hour lecture about agile practice that will make it all better. I've been in the field for decades and it (the quality) just gets worse and worse and worse no matter how fast the hardware gets.

  • @lgtwzrd
    @lgtwzrd ปีที่แล้ว +57

    I'm old enough to remember the assembly competitions of the late 80s early 90s where brilliant coders produced amazing non repeatable graphics animations that were contained within a few kilobytes of code. The software decline started from that point onward, with best example, the M$ windows code that is pretty much layers upon layers of updated code sitting on layers of ancient code that somewhat working and somewhat broken, but nobody knows how to phase it out, so they just keep it there forever. Same for every kind of bloated software that is in the GB range doing very little to justify the size it takes on disk. The rapid advancement of data storage technology made programmers very lazy, and at this point, I wonder how many "professional" programmers use the brute force method to make everything work, just because they get away with it.

    • @litjellyfish
      @litjellyfish ปีที่แล้ว +3

      True. Still being in up demo scene cool optimization is a different topic. Usually those brilliant coders was pretty lousy software developers where they took over the machine etc etc etc. and complexity and dependence in those products was zero.
      What though was different was due to not having the option to update post release made testing more focused. As you simply could not have bugs as then your software could be recalled

    • @midoevil7
      @midoevil7 ปีที่แล้ว +2

      I think it is this layers-upon-layer is what made software advances this fast. and program size isn't really much indication of anything.
      In the end , software is just another tech tool to help solve problems,
      if we have a small program but takes ages to fix its bugs and add new features, and requires special training for users in order to work with commands on the console, then no thank you.
      A user will just pick the easier software with the more features , even for the cost of bugs , or even just revert back to using paper and pen.

    • @duhproffessionallove2011
      @duhproffessionallove2011 ปีที่แล้ว +3

      Well it's also financially unfeasable to fix the errors inside the libraries or kernels while working on a simple frontend for a customer.
      At least you can open issues for any errors you find if the project is open source, but yeah M$ is only sluggishly adapting to that.
      But I agree with you, too many issues have become high level, while low level solutions are disregarded becasue everyone wants a GUI these days.

  • @redderickjohns33w
    @redderickjohns33w ปีที่แล้ว +4

    I work in game dev. I will fill my hard drive if I took a screenshot everytime an error popped up... even just using Maya alone.

  • @tenminutetokyo2643
    @tenminutetokyo2643 11 หลายเดือนก่อน +1

    Grobalization sure has been good for us.

  • @jonbikaku6133
    @jonbikaku6133 4 หลายเดือนก่อน +1

    I think the most important thing he forgot is - he has one computer but 100s of apps with 1000s of libraries. Meaning hardware is limited when software is not. I can name 100s of chatting apps but there are 2/3 companies in the world that create cpus..

  • @hellfishii
    @hellfishii ปีที่แล้ว +27

    This is definitely not software failing itself this is clearly poorly manager software projects, yes good devs are hard to find but even harder it is to find really good technical leaders or managers.

  • @dienand_gaming
    @dienand_gaming ปีที่แล้ว +29

    I don’t think it’s getting worse, I think it’s just because we’re dealing with more software on a daily basis

    • @1gnore_me.
      @1gnore_me. ปีที่แล้ว

      you could argue that more of the same is fundamentally worse than before

  • @mattlm64
    @mattlm64 ปีที่แล้ว +28

    In my view software has always been buggy. I'm not sure things have gotten worse. At least we have better static analysers and more advanced programming languages that are less error prone nowadays.

    • @joshhoover1202
      @joshhoover1202 ปีที่แล้ว

      I think it has gotten better in terms of errors per line of code. Like you said better analyzers, better languages and even better understanding of best practices have reduced errors.

  • @FatherNovelty
    @FatherNovelty ปีที่แล้ว +13

    I think that the issue is that technology touches more of our lives. To simplify, say that on average you encounter a bug every 3 hours of interacting with software. We basically interact with software every minute of every day now, so of course you're going to encounter more bugs.

  • @showingsoftwarebugs5963
    @showingsoftwarebugs5963 ปีที่แล้ว +4

    The issue is our culture is push bugs out now and maybe fix later because money.

  • @stevensun680
    @stevensun680 ปีที่แล้ว +2

    Watching this on the TH-cam app where hitting 'x' to leave the comment section doesnt work

  • @dauchande
    @dauchande ปีที่แล้ว +1

    I haven’t seen failures like this that much. I use to see regular blue screens in Windows. I’ve only seen a few in the past decade. What I have seen is software features that used to work and now don’t.

  • @ouranhighhost
    @ouranhighhost ปีที่แล้ว +1

    If I read the comments, I feel like we are building the tower of babel

  • @smallbluemachine
    @smallbluemachine ปีที่แล้ว +3

    I thought this was new. Boo. -Watched this a while ago, this was an excellent talk. It's a fair assessment of the state of things.

  • @14bebop14
    @14bebop14 ปีที่แล้ว +1

    Don't worry Johnny Blow, I'm ready and willing to demand 180% more salary to maintain these programs

  • @muskyoxes
    @muskyoxes ปีที่แล้ว +2

    20 years ago we expected blue screen crashes and frequent reboots. Now they're a surprise. Software a thousandth of the size as current failed more often than current.
    When your examples are "this is so crazy that you won't believe it because it never happened to you", that defeats your argument

  • @briananeuraysem3321
    @briananeuraysem3321 ปีที่แล้ว +2

    Don’t get be started about how unstable adobe products are on Windows

  • @mscottveach
    @mscottveach 8 หลายเดือนก่อน +1

    Blow never ceases to maze me with his well thought out, intelligent takes that invariably get it completely wrong. The dude says that software today does the wrong and we accept it because that's not just how software is... and it didn't use to be like that.
    Is. He. High? This couldn't be more opposite in my experience. It used to be that my Windows would crash if you looked at it sideways. When was the last time you actually had windows full on crash? I remember games in teh 90s were like a $50 roll of the dice as whether it would even run...software has gotten much more robust over time.
    Blow is like the old man of tech. Everything back in the day was better! Instead of music, fashion and movies, it's software design, programemr discipline and probably also music.

    • @buzzhawk
      @buzzhawk 7 หลายเดือนก่อน

      He's a doomsday cultist. He's just working his way towards becoming Terry Davis.

  • @smvnt3803
    @smvnt3803 ปีที่แล้ว +11

    I am a student about to start pursuing computer science in university and have been writing code for a few years. I hope that we get more quality software developers by the time I'm out! I generally don't use much proprietary software or Windows so thankfully my life's somewhat easier.
    Honestly, open-source software is the future. Though I do understand that you can't really benefit with that when it comes to lighting systems and things like those, but yeah, that might change too someday? Maybe. We'll figure it out.

    • @kbabe3915
      @kbabe3915 ปีที่แล้ว +2

      Open source is a good idea, but it doesn't align with capitalism.

    • @imranzero
      @imranzero ปีที่แล้ว

      ​@@kbabe3915 But notice that all of the biggest software companies are the ones pushing open-source the hardest. The actual goal of Richard Stallman when he founded FSF was to reduce the amount of control corporations have on the programs we run on our computer, but today thousands of developers writing code for google/microsoft etc for free.
      Open-source is the most profitable system to get out of the last 2 decades

    • @kbabe3915
      @kbabe3915 ปีที่แล้ว +1

      @@imranzero nobody wants to work for free unless you're running a donation scheme, and even then it's not worth it. sure, companies might make open source software because they can afford to.

    • @imranzero
      @imranzero ปีที่แล้ว

      @@kbabe3915 what I'm saying is that _open source™_ is a very profitable tool. It's aligns with the goals capitalist corporations perfectly.

  • @derekgeorgeandrews
    @derekgeorgeandrews ปีที่แล้ว +1

    Watching streaming video in a browser with no crashes or bugs being told software is in decline. haha

  • @David-bc4rh
    @David-bc4rh ปีที่แล้ว

    Also, how does security vulnerability tie into decline of software with intentional glitches?

  • @marcw3126
    @marcw3126 11 หลายเดือนก่อน +1

    Well this is quite an interesting question.
    Lets take a look at the Universal law of vibration:
    Everything has its ups and downs. Nothing is on its high forever - or will increase forever. So there must have to be a decline some day. But maybe it also has just a local minimum there to then reappear.
    Regarding the phone ring: Yes I believe you absolutely. But I would be open to the idea that your subconsciousness had just manifested it 🙂

  • @Melzasx
    @Melzasx ปีที่แล้ว +1

    "Fullstack developer in 3 months".

  • @Kor1134
    @Kor1134 10 หลายเดือนก่อน

    I'm not used to these little glitches, I see them every day and they annoy the crap out of me.

  • @nothingisreal6345
    @nothingisreal6345 ปีที่แล้ว +1

    The biggest problem in the industry today is "people rental" (some call is modern slavery). The business model of many companies is: we don't sell products and services, we rent "work force", e.g. software developers. What happens is: a.) those hired as "coding slaves" have zero connection to what they do. The do as being told. And if being told "Black font on black background" - they'll happily, do it. Hence the quality of software 1:1 corresponds with the quality of requirements. And requirements quality is typically aweful b.) when things go south the idea to fix this is: hire more people! Hence the organisation hiring people get's an incentive for delivering bad quality by getting the opportunity to hire more people for longer times. Those people have zero interest in delivering good software. They only care about exactly matching the requirements and the happily make a new offer to help fix all the bug's caused by low quality requirements.

  • @alvisespano
    @alvisespano ปีที่แล้ว +1

    The thing is extremely complex and finding well-defined causes is hard. Imho, one of the major problems are languages: the advent and widespread of untyped dynamic languages and technologies built upon them is lowering the quality and stability of software in conjunction with the increasing complexity of interoperation. Static type systems are part of the solution and they already exist, but are less adopted by programmers due to educational and cultural problems.

  • @Dukenukem
    @Dukenukem ปีที่แล้ว +2

    As a software engineer I find this unsuprising. Its not just the culture of "get things done fast", it is also throwing everything together and hope it will work.
    Setting new developer machine at our company requires tons of scripts to run flawlesly or the person cn not start to develop, this can take 2-3 tries depending on server loadout and missed privileges from the onboarding proccess. I really miss a clean development without need for billion support softwares
    I personally prefer to set up my personal development envirorment as a virtual PC, that way my actual PC is not hindered by the atrocious mess of development frameworks, compilers, libraries and other. just a neat VM sitting next to my other stuff not hampering the perfromance when not needed (and you dont need advanced GPU acceleration anyway so no hassle about that).
    My actual development PC at work is.... not managed by me so whatever, it can run a slow as it wants

  • @jekabskarklins
    @jekabskarklins 7 หลายเดือนก่อน

    Also, I resonate with the speaker 100%

  • @guisampaio2008
    @guisampaio2008 ปีที่แล้ว +2

    Yeah i always get angry when computer don't simply work.

  • @rishabhupadhyay5670
    @rishabhupadhyay5670 ปีที่แล้ว +1

    if you are restarting the game to get fullscreen @7:23. I dont think you have spent time on computer that much. A simple alt-enter does the job its also because of the difference in your screen resolution and game's resolution. So yeah

    • @etodemerzel2627
      @etodemerzel2627 ปีที่แล้ว

      Not all games support that feature.

  • @shubitoxX
    @shubitoxX ปีที่แล้ว

    Title should be "Well written software is in decline."

  • @TWaveform
    @TWaveform ปีที่แล้ว +6

    Software is actually way more reliable today than it used to be decades ago. Just remember Windows ME failing for no reason and compare it to any modern operating system.
    The internet however has lowered the barrier of entry for software products, and programs that would have never been released before, today they see the light very easily.
    Also, it is true that the sheer complexity of today's software and the crappy management of many companies often lead to dubious results, specially in sectors like gaming or web development. That however, doesn't have anything to do with software being in decline, but with our tolerance for crappy software in certain areas, and the market adjusting their processes accordingly.

  • @deltaray3
    @deltaray3 ปีที่แล้ว

    Oh gosh after watching this video 4 months ago I'm seeing the software errors everywhere. Like that kid in Sixth Sense, "I see software errors"

  • @birgirkarl
    @birgirkarl ปีที่แล้ว +1

    I remember my first computer which was a Windows 95 with 1,200 mb HDD which was huge back then. That was more than enough for all my software and games. Now everything is bloated with bloatware which itself is bloated by bloatware etc.

  • @thanatosor
    @thanatosor ปีที่แล้ว +1

    When you don't intend to find the bugs, but the bugs always find their way back to you.
    Programmer life, bugs everywhere.

  • @GamingDemiurge
    @GamingDemiurge ปีที่แล้ว +1

    Wait until Jonathan learns about population collapse...

  • @PontifexMonarka
    @PontifexMonarka ปีที่แล้ว

    Could this be an effect of not enough supply of developers, making it less of a competition for developers to be hired,
    and more of a competition for employers to expand by any means by getting any developers they can get their hands on?

  • @Kayash_Kino
    @Kayash_Kino ปีที่แล้ว +1

    Title good as clickbait makes a big misleading claim, I would suggest to change.

  • @blueguy5588
    @blueguy5588 ปีที่แล้ว +30

    OOP, front end frameworks, and almost all the other improvements in "software engineering" of the past 30 years are all smoke & mirrors. Very little actual innovation is happening in the field. This goes beyond general bugginess to an internal problem with the field where developers are expected to understand absurdly complicated codebases, at the same time that developers need to switch companies and teams more regularly than ever to advance their careers. Devs end up pushing half finished features, then moving on to the next endeavour. This is further compounded by pressure to push features. To add to the confusion, this is then framed as an industry-wide lack of developer talent.
    Fixing this would require a return to technological improvement driving the field instead of short term profits. Dispensing with agile. Not letting MBAs run tech companies. Prioritizing readable code and refactoring when things get too complicated. Understanding that new devs aren't always going to hit the ground running. Don't hold your breath though.

  • @tomasruzicka9835
    @tomasruzicka9835 ปีที่แล้ว

    This is exactly why it is so hard to teach old people to work with a mobile phone. There is just so much annoyances that we learned to hide/ignore. And they forget the workarounds so easily.

  • @asdfasdfasdf383
    @asdfasdfasdf383 ปีที่แล้ว

    That's all?
    I was very surprised when this video ended. Like in the middle of nowhere, the video stosps

  • @StdDev99
    @StdDev99 9 หลายเดือนก่อน

    I think it's a very natural thing. Because we needed more software. So we had to hire a larger number of people. Now since not all of them are going to be skilled, we had to lower the standards. And since we hired unskilled people, we had to micromanage them so they don't screw up. And that started a whole micromanagement culture that kept the both skilled and unskilled engineers from learning and growing.

  • @asdqwe4427
    @asdqwe4427 ปีที่แล้ว +16

    I mean sure chrome-based apps are shower and they eat your memory. But programs used to crash a whole lot more often, sometimes taking out your whole computer with it. How often do you have to reboot your computer these days?
    I think Jonathan is brilliant, but he has a very nostalgic memory and seems to only remember the good old days when everything worked. When, in fact it very much didn’t.
    Everything we see to day is not progress, but it’s not decline either. We will look back on this time period as an experiment. And once wasm picks up steam we won’t be coding JavaScript nearly as much, but most people sure wont code in languages that require manual memory management either!

    • @asdqwe4427
      @asdqwe4427 ปีที่แล้ว +1

      @@christopherbentley6647 you never had crashes in the windows 95 to xp days?

    • @asdqwe4427
      @asdqwe4427 ปีที่แล้ว

      @@christopherbentley6647 I’ll definitely agree that AAA games are worse these days. I think it’s because of the fact that they can be patched.

  • @alanhoff89
    @alanhoff89 ปีที่แล้ว

    "move fast and break stuff"

  • @denirodarkqwerty
    @denirodarkqwerty ปีที่แล้ว

    A more varied hardware landscape def plays a roll

  • @kebertzilla3290
    @kebertzilla3290 ปีที่แล้ว +3

    What everybody should have learned from the past decade is everything is on decline…

  • @h.h.c466
    @h.h.c466 ปีที่แล้ว +1

    All true, I blame trying agile .... or programmers not interested in the product actually working for intended usage or PO cramming too much stuff in a release ... or working in duct-tape mode continuously ... or java classes with methods spanning pages of code nobody can explain easily.. I have seen all of this ...

  • @jackiechun4741
    @jackiechun4741 ปีที่แล้ว

    And that's a good thing.

  • @DavidFregoli
    @DavidFregoli ปีที่แล้ว

    it's just that the commercial software development process follows pareto principle

  • @ADHD75
    @ADHD75 ปีที่แล้ว +1

    Back in the early days this was more of a common project of humanithy. Now big business has tanken over. They dont care if people are complaining as long as they are making money. Eventually people will stop complaining because its no use anyway. Then we will all be in big trouble, because the model is very much based on customer feedback

  • @Hacktheplanet_
    @Hacktheplanet_ ปีที่แล้ว

    I love it

  • @chudchadanstud
    @chudchadanstud ปีที่แล้ว +8

    Google is an example of what not to do as a software engineer. They're legitimately going backwards. Their image search has become worse overtime, they removed the hamburger menu on Android making it impossible to get to settings from any page on their apps etc.

  • @GIRRIG001
    @GIRRIG001 ปีที่แล้ว +1

    Ah the best code that generally always works....when you turn your computer off and go outside.

  • @tejeshreddy6252
    @tejeshreddy6252 ปีที่แล้ว +4

    Everyone in the comments section talks about the lack of quality software engineers and here I am waiting for a job with FAANG level pay (already in a good job, with very high salary for my country) with experience under my belt. All the applications I send to jobs, even those I'm overqualified for get rejected and those that aren't FAANG don't go further after hearing my salary expectations.
    I have been through lots of resume reviews but it seems to me like the problem with corporations is they're willing to hire freshers from top colleges than to hire juniors/mid level engineers because their experience can't be quantified unless they're also from well known companies and not startups where the actual challenges lay.
    It seems to me that a "bar" such as in the legal field can only certify the developers but it will still be hard to gauge the quality of software that has been built by the engineer in software. Maybe some sort of metric/standard to gauge the kind of engineer a developer is would be the solution. Someone more qualified can offer some insights

    • @deanwilliams433
      @deanwilliams433 ปีที่แล้ว +3

      FAANG level pay is only at FAANG companies, and some Fintech firms. If you are getting rejected, its not personal your salary expectations are not inline with reality for non-FAANG companies. Also many non-FAANG companies pay less but have much better work-life balance, and don't fire people from a checklist because you did not work on a team with upper management visibility.

    • @tejeshreddy6252
      @tejeshreddy6252 ปีที่แล้ว

      @@deanwilliams433 Not true for base salary. I should've clarified, I only meant base salary.

    • @tejeshreddy6252
      @tejeshreddy6252 ปีที่แล้ว +1

      @@Bayo106 Great assumption I guess my current employer and other companies that have given me interview chances are just dumb eh?
      E: being a competent software engineer, that's the first thing i did, to get my resume reviewed by a few senior devs and recruiters. This might have been a good suggestion for novices but I'm telling you it's just my luck. I've been waiting for Amazon BR for the past 3 months in which time I've switched jobs and already have taken up ownership for a few microservices.
      I'm not kidding about the luck part, it really does make a difference.

    • @deanwilliams433
      @deanwilliams433 ปีที่แล้ว +1

      @@tejeshreddy6252 base salary for many FAANG companies is in the 225-320k range. That is much rarer salary in non-FAANG companies, as for them that starts to go to the level they pay their VP's

    • @tejeshreddy6252
      @tejeshreddy6252 ปีที่แล้ว

      @@deanwilliams433 I'm not American and that is not the base pay in India. I know a few startups that pay higher base than faang although it is way harder to get into them and they almost always require a referral

  • @manni.Net60
    @manni.Net60 ปีที่แล้ว +4

    haha i watch this talk and an answer to a comment recursively loads multiple times :D

    • @microdavid7098
      @microdavid7098 ปีที่แล้ว +1

      it happens to me in youtube shorts comments all the time

  • @dollertrifecta
    @dollertrifecta 7 หลายเดือนก่อน

    Formatting errors can usually be solved by copying and pasting into notepad and then copy from that.

    • @antred11
      @antred11 3 หลายเดือนก่อน +1

      Still, the point stands. Why carry over all that INSANE formatting behavior from MS Word? For instance, I've never understood why so many text application insist on marking the world PLUS exactly 1 following whitespace character when I double-click a word. In my over 20 years of programming, gaming, etc, I've NEVER once needed that idiotic behavior.

  • @angelg3986
    @angelg3986 ปีที่แล้ว

    I used to write sw back then and made some money, then the big companies took over and the small ones died or became resellers. I stopped doing it. So the competition has reduced greatly - only the big companies remained, because the clients chose so, they say "we can't trust a small company because our business depends on it". So be it. To add to that, the big companies prefer to throw more powerful hardware instead of optimizing the code. The software even opensource started to include vast libraries to just import few functions from them (see Drupal8/9).... When the PCs were 8-bit we optimized and saved every byte. Now we write in interpreted languages like python or languages who require own virtual machine e.g. JVM (java) and some consider it a good practice. The C++ standard introduced so many changes and constructions to look like python so somebody can lose himself in it.

  • @Kabbinj
    @Kabbinj 9 หลายเดือนก่อน

    But, soon we will have AI QA Agents actually looking visually on the program and traversing though input, and doing proper reasoning on what it should try to break. This will be an absolute game-changer when it comes to finding bugs.

  • @sephjfox
    @sephjfox ปีที่แล้ว +6

    The problem is lack of testing. Human hubris tends to generate code that developers would swear works fine everytime. Often what is "obvious" is not tested. Testing at all levels of logic and functionality will go a long way to reduce error. Scalability and environment testing is just as important as unit testing and integration testing. Humble advice from a lifetime of programming.

    • @darrennew8211
      @darrennew8211 ปีที่แล้ว +2

      Also, testing is hard, because it's an exponential problem. You have to test every combination of things if you're going to rely on testing finding flaws. Then people come along with Test First and Extreme Programming and all that crap, saying you can somehow automate quality. Bull. The best way to catch bugs (at least on reasonably small stuff) is to use the new version for a month before releasing it and noticing every time something is even a little bit suspicious. But nobody wants to wait a month between releases any more.

    • @Ian-eb2io
      @Ian-eb2io ปีที่แล้ว +2

      @@darrennew8211 If you want humans doing manual testing then you need to release it or at least have a very large army of human testers working for your company. Otherwise they'll miss those bugs that always manage to get past all internal testing including the humans.

    • @ThePC007
      @ThePC007 ปีที่แล้ว +2

      Fuzzy tests are much more effective at catching bugs than manual testing (where applicable) and also much, much faster. I have no idea how you could argue that TDD is crap.

    • @imranzero
      @imranzero ปีที่แล้ว +2

      Testing will only help you to FIND bugs, not fix them. Modern software is full of bugs everybody knows about, but they still don't get fixed.

    • @darrennew8211
      @darrennew8211 ปีที่แล้ว +2

      @@ThePC007 I argue that TDD is crap because in my 40 years of experience, the bugs that happen aren't the bugs you anticipate. The bugs that happen are the bugs that are are from misunderstandings of requirements, complex interactions of subparts, and bad requirements to start with. Or they're bugs from people just being bad at programming, at which point they're bad at writing tests too. I've worked at FAANG places where the programs were excrable, unmaintainable, untestable. It was all TDD, but over the course of years, the tests didn't ensure correctness when passing nor incorrectness when failing.
      For small programs, sure. Get above what one person can hold in his head, get to where even the bosses don't know the overview of the program, get to where nobody working on the program today was any of the people on the original check-ins, and no amount of TDD is going to make the code work right.

  • @prime6965
    @prime6965 ปีที่แล้ว +1

    To me, the fundamental flaw with his "software is way buggier than it used to be" argument is that software COULDNT be buggy back in the day. If you released a PS1 game with a horrible game breaking bug, you can't just patch a fix to everyone's playstations. Nowadays the cost of having a bug is a tiny fraction of what it used to be, and companies skimp on QA knowing this. If something breaks prod, you just patch it and it's live in minutes.

  • @Gahlfe123
    @Gahlfe123 ปีที่แล้ว +1

    software isnt in decline, society is.

  • @GTSongwriter
    @GTSongwriter ปีที่แล้ว

    I've heard that Humans are going to become the next big computer.

  • @foxtalksgames
    @foxtalksgames ปีที่แล้ว

    5:56 this kind of bug has been happening to me a lot when trying to use copy/paste in TH-cam, but especially Reddit comments now, and theses are two of the internet's largest platforms.

    • @foxtalksgames
      @foxtalksgames ปีที่แล้ว

      the fix in reddit seems to be going into markdown mode

  • @shampoable
    @shampoable ปีที่แล้ว +5

    His experience is interesting, I myself experience bugs very rarely, it's basically always my fault lol. And I work with software for devs (IDEs for example), which I would consider more prone to errors than software for regular use such as mail clients

    • @Mclfarm2
      @Mclfarm2 7 หลายเดือนก่อน

      Yeah I agree. I find my software I use to be fairly reliable.

  • @quosswimblik4489
    @quosswimblik4489 ปีที่แล้ว

    I agree humans working on bigger software projects overly dependent on computing power getting better it's leading to more bigger sloppier code but the power will eventually lead to more things like more AI bug fixing and AI code optimisation so the Issue may cancel out near the beginning of the optical compute era. There will still be planned obsolescence though.