Dysfunctional state of modern software

Discussion in 'PC Hardware, Software and Displays' started by green.pixel, Jan 17, 2019.

  1. tuna

    Veteran

    Joined:
    Mar 10, 2002
    Messages:
    3,097
    Likes Received:
    340
    If you could make a phone that has a couple of thousands time more battery life with the same functionality offered by today's phones you would most probably sell a lot. But I suspect you do not have any clue what you are talking about.
     
  2. milk

    Veteran Regular

    Joined:
    Jun 6, 2012
    Messages:
    2,726
    Likes Received:
    2,214
    Nobody can make that phone right now, there are years of work into the tech we ha e right now. But taking the necessary steps to approach that phone is becoming more and more necessary each day. There just hasn't been enough pressure to tip the industry in that direction just yet, but awareness about this can be what helps build that pressure.
     
  3. tuna

    Veteran

    Joined:
    Mar 10, 2002
    Messages:
    3,097
    Likes Received:
    340
    You claimed that it was only software holding the battery life back ("if software was more tight and neat"). Everybody working on phone hardware and OS are working to improve battery life, but it is not an easy problem (like you claimed in the previous post).
     
  4. milk

    Veteran Regular

    Joined:
    Jun 6, 2012
    Messages:
    2,726
    Likes Received:
    2,214
    Pure software is a large part of it certainly. But multiple layers of it. But I include in software the app, the APIs, the OS services and kernel, low level translation. When talking about hypotheticals like this, one could even include Processor microcode and firmware under a broad blanket of "software abstraction". When you include all that, there is a lot of redundant work and cascading bugs and workarounds to lower level bugs that generate more bugs further down the line. I understand why things are like that. Software and digital tech I'm general has evolved under an unbelievable pace during the last half century. But the industry as a whole has been sweeping problems under the rug and building hacks around it throughout the whole period and maybe time has come when it might be a good idea to start reconsidering this whole mess again.
     
  5. tuna

    Veteran

    Joined:
    Mar 10, 2002
    Messages:
    3,097
    Likes Received:
    340
    You can reconsider "this whole mess" one piece at a time if you want to.
     
  6. milk

    Veteran Regular

    Joined:
    Jun 6, 2012
    Messages:
    2,726
    Likes Received:
    2,214
    Why this defensiveness? Non software devs can have lose opinions. I'm not demanding that the industry bend over to please me. I'm just saying there is a point in recognizing modern software is untenably messy.
    tuna, what is the problem with pointing that out?
     
  7. green.pixel

    Veteran

    Joined:
    Dec 19, 2008
    Messages:
    1,765
    Likes Received:
    272
    Location:
    Europe
    Some bizarre variety of Stockholm syndrome.
     
    pharma likes this.
  8. tuna

    Veteran

    Joined:
    Mar 10, 2002
    Messages:
    3,097
    Likes Received:
    340
    You are not pointing anything out, you are just complaining about everything. If you would point something out you could say that Linux scheduler X causes is non-optimal and causes high input lag when there is high IO load. Preferably you would also measure it and be able to measure it again when things change. What has been done here is just general complaining that modern software is slow, which I just think is pointless whining.
     
  9. milk

    Veteran Regular

    Joined:
    Jun 6, 2012
    Messages:
    2,726
    Likes Received:
    2,214
    The OP was not mine, it was from an actual developer. He has more posts, that go into specifics. I've read them, maybe you should too.
    I'm just here saying what he points out is fair.
     
  10. tuna

    Veteran

    Joined:
    Mar 10, 2002
    Messages:
    3,097
    Likes Received:
    340
    His latest blog is basically that you shouldn't do anything in a web browser because it is inefficient. Which is great if you do not want anyone to use your SW.
     
  11. JoeJ

    Regular Newcomer

    Joined:
    Apr 1, 2018
    Messages:
    351
    Likes Received:
    429
    Sadly it is like that. Everything builds upon previous stuff that still needs to keep working. Browser needs to support 100 image, video, and audio formats, multiple script languages, dozens of fonts, thousands of other things. Same for OS. Sadly even the same for games: Old API still needs support, game must support Steam overlays and achievement tracking, loading updates in the background, keep connected to your buddy list... an endless pile of essential things, worth to spend one core just for all this crap they say.

    The times of an Atari ST, which booted GUI OS just from ROM, never any updates... they are gone.
    If the guy from the OP thinks it is necessary to have low latency text input he is likely wrong, and if he thinks he could write an 'efficient' browser by not relying on any pile of crap, i'd like to see that. He will end up with the same huge pile of bloat, if he ever succeeds to finish.

    But if you don't like this (nobody does), then you could use something like Raspberry Pi. Likely the slickest device you can get in modern times? Not sure it if can run a neat OS other than Android, but if so you could write / use just the absolutely necessary software without any extra functionality. No FB of course, so you would not be happy with that either. At some point you would give up and admit there is no escape from all those requirements that modern software has to fulfill. :(

    "I'm sure they could be multiple thousand times faster, if software was more tight and neat."

    No, not that much. If i'd have to guess for a total average maybe a factor of 2 or 3 mostly, rarely 10. (pure guessing) But if you take the time to optimize the shit out of everything you never get anything done and finished stuff is outdated already.
    There is also another motivation to keep selling new hardware before the old gen is maxed out, but this is not the reason for this inefficiency. The reason is simply growing functionality and necessary compromises - a net effect, not something everybody does wrong by intention.
    If you would make a start up about a new computer system, with optimized OS and no bloat, it would be just a matter of time until you sit in the same boat as the others.
     
  12. tuna

    Veteran

    Joined:
    Mar 10, 2002
    Messages:
    3,097
    Likes Received:
    340
    You can just run emacs directly in a linux framebuffer/terminal if you want to minimize latency and resources. I program like that sometimes. Otherwise you can run a really minimalistic window manager with no compositing etc. That usually feels really "snappy", but I haven't measured anything.
     
  13. Entropy

    Veteran

    Joined:
    Feb 8, 2002
    Messages:
    2,948
    Likes Received:
    829
    I was looking for an old pertinent Donald Knuth quote, when I came upon this blog post. It’s pretty good and relevant, and not written while (still) in an upset state.

    I’ll contribute this though - back in the olden times algorithmic efficiency was mostly determined by analyzing number of (FL)OPS and time complexity O(n^whatever).
    But at least during the last three decades, the art of writing efficient code has increasingly dealt with the memory hierarchy and data management. As CPUs have increased in performance, the latency, bandwidth and sizes of various stages in the memory hierarchy impose ever harder limits, and complexities springing from assumptions about OS/apps/threads.
    And that is messy.
     
    #33 Entropy, Feb 4, 2019
    Last edited: Feb 4, 2019
    tuna likes this.
  14. Rodéric

    Rodéric a.k.a. Ingenu
    Moderator Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,961
    Likes Received:
    823
    Location:
    Planet Earth.
    Well we could also talk about C and C++ which are slower than Jonathan Blow JAI programming language at compiling by at least an order of magnituve (if not two)...
    Runtime performance is unknown at this time, however if he's still using LLVM back-end there's no reason it wouldn't match C/C++.

    We are using solutions for long gone hardware instead of current hardware..

    I'll never understand why MS didn't clean/sanitize Windows 64 bits, it was a great opportunity to only keep Windows 32 bits compatibility through and emulator...
     
  15. entity279

    Veteran Regular Subscriber

    Joined:
    May 12, 2008
    Messages:
    1,210
    Likes Received:
    403
    Location:
    Romania
    as a software developer myself i feel this thread is going in the wrong direction.

    Oh, software is by large dysfunctional nowdays.
    I'd say software is poorly QA'd, badly evolved, overly simplistic, inadaptable and fails inacceptably often in unacceptable manners

    Performance is IMO one of the lesser problems.

    It's true that often performance is an issue as well.
    But this lack of performance can also be coming together with some of the issues mentioned above. In which case it is also not itself a problem, but a symptom
     
    #35 entity279, Feb 4, 2019
    Last edited: Feb 4, 2019
    green.pixel likes this.
  16. tuna

    Veteran

    Joined:
    Mar 10, 2002
    Messages:
    3,097
    Likes Received:
    340
    Unlike Blow's compiler, C and C++ compilers can actually be used and benchmarked. But it would be interesting to see his language/documentation/debugger.
     
  17. green.pixel

    Veteran

    Joined:
    Dec 19, 2008
    Messages:
    1,765
    Likes Received:
    272
    Location:
    Europe
    Of bad business practices?

    They want as fast as possible turnover disregarding everything else in the process, including people
     
  18. JoeJ

    Regular Newcomer

    Joined:
    Apr 1, 2018
    Messages:
    351
    Likes Received:
    429
    I've thought a lot about it the recent days. Conclusion: We always realize we did something wrong when it's already too late. :|
     
  19. JoeJ

    Regular Newcomer

    Joined:
    Apr 1, 2018
    Messages:
    351
    Likes Received:
    429
    Maybe, but that's unlikely the reason. More the opposite: We still use x86 from the 70s because of backwards compatibility.

    There is hardware that does not allow for inefficient coding, e.g. GPUs. No dynamic memory alloc, no lazy containers, nothing. You constantly need to build every tiny thing from scratch. But as a result the productivity is close to zero.
    If there is a solution to this, then maybe another programming language. I have no idea how this could look like.
    Or maybe AI becomes the better future coder, or at least optimizer. Let AI solve all our problems ;)
     
  20. Davros

    Legend

    Joined:
    Jun 7, 2004
    Messages:
    14,668
    Likes Received:
    2,118
    Reminds me of a computer program that gained a lot of hype in the early 80's
    The Last One - so called because it would be the last human programmed software

    By September 1977, David had a logic-solving system which, if it didn't 'understand', asked questions of the user until it had sufficient knowledge to be able to represent the logic mathematically. The system appeared to 'pause' while the logic was developed. On one occasion the problem was so complex that the system 'paused' for three weeks. Sensibly, David had built some sort of trace into the program so he was able to check periodically and make sure it hadn't got stuck in a loop. Once the system's grasp of the logic was complete it then went ahead and turned this into a running program. The next year or so was spent 'tweaking' the system. Redundant code was removed, error trapping included and the system put through its paces on a real project.

    By this time David's businesses, which he'd all but ignored, crashed leaving him destitute. The receiver took away his beloved computers


    If you want to read the whole story
    http://www.tebbo.com/presshere/html/wf8104.htm
     
    JoeJ likes this.
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...