Stories
Slash Boxes
Comments

SoylentNews is people

posted by chromas on Wednesday October 03 2018, @09:12PM   Printer-friendly
from the the-future-is-now,-old-man dept.

Nikita Prokopov has written a blog post detailing disenchantment with current software development. He has been writing software for 15 years and now regards the industry’s growing lack of care for efficiency, simplicity, and excellence as a problem to be solved. He addresses the following points one by one:

  • Everything is unbearably slow
  • Everything is too large
  • Bitrot
  • Half-baked products get shipped
  • The same old problems recur again and again
  • Most code has grown too complex to refactor
  • Business is uninterested in improvement

Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Insightful) by jmorris on Wednesday October 03 2018, @10:43PM (9 children)

    by jmorris (4844) on Wednesday October 03 2018, @10:43PM (#743715)

    Seriously, the bloat is out of hand. Compare Lotus SmartSuite on Win 3.1 to LibreOffice now. Both are full GUI programs with embedding, truetype fonts, bitmap and vector images, etc. Both have word processor, spreadsheet, presentaions, and the usual things one expects. Either would would be perfectly capable of producing a complete book. One shipped on a few floppy discs and the other won't fit on a CD-R anymore. One ran well on a 486 with a few MB of memory and LibreOffice tends to chug unless you have several GB. Measured any way you please, shipping size, resident working set, cycles consumed, LibreOffice needs hundreds of times the resources and offers few compelling features that Lotus lacked to compensate. Yet LibreOffice descends from Star Office that ran on OS/2 on those low resource machines, but the bloat just piled on with each year that went by.

    The linux version of Netscape Communicator in the 1990s ran fairly well on a 486 and perfectly fine on a Pentium. No it didn't support all of html5/css3/etc. but it browsed webpages and did its job. On machines with 8-16MB of ram. MB, not GB. Machines with single cores clocked at a 2 or 3 hundred MHz, not multiple cores cranking out a few GHz optimized out the wazoo to retire multiple instructions per clock. Modern processors often have more cache than machines of that era had for main RAM. Do pages load faster? Do they do a lot of things that simply couldn't have been done then? As a rule, they do not. But they have a lot more ads now. Again, measured any way you want you see hundred of times more resources producing little improvement.

    The problem seems to be idiots. People with zero clue, and violently opposed to demands they get one, slam together obscenely bloated libraries and frameworks, with dependencies of their own, and because there aren't even real books documenting these horrors anymore (O Reilly doesn't even try to sell books anymore, they want you to subscribe to their constantly churning e-books) everyone does the blind leading the blind game on stack exchange. They do this because it is the extent of what they are capable of, they have no actual knowledge of how anything works, just that stacking libraries atop one another will eventually get something that approximates working.

    And now hardware is starting to be built the same way, everything is cookie cutter blocks of "IP" that small fabless entities license, cross license, relicense and tweak until single person knows what is actually inside them, then they toss a final product together and never bother to debug or document any of it before abandoning that one for something entirely different, being bought and absorbed into some bigger but equally fake entity (losing most of their people and documents along the way) and so on.

    How often do you see a new version of a software product released with "Slashed memory use in half!" as a bullet point? How about "Now 33% faster than the previous version on the same hardware!" We should start demanding it.

    Starting Score:    1  point
    Moderation   +3  
       Insightful=2, Interesting=1, Total=3
    Extra 'Insightful' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 2) by suburbanitemediocrity on Thursday October 04 2018, @12:19AM (1 child)

    by suburbanitemediocrity (6844) on Thursday October 04 2018, @12:19AM (#743768)

    I use .com to write all of my documents.

    • (Score: 3, Insightful) by suburbanitemediocrity on Thursday October 04 2018, @12:21AM

      by suburbanitemediocrity (6844) on Thursday October 04 2018, @12:21AM (#743769)

      That should be mail.google.com.

      OTOH, firefox requires about 1000x more memory than an entire QNX install.

  • (Score: 2) by RS3 on Thursday October 04 2018, @03:01AM (1 child)

    by RS3 (6367) on Thursday October 04 2018, @03:01AM (#743811)

    I thought code bloat was out of hand in 1995, but I digress. A friend of mine does stuff like high-end PhotoShop, Premier, Solidworks, etc., and 32 GB RAM is typical for him and his wife. Do they need all of that functionality loaded in RAM? Couldn't they modularize the software? With today's SSD speeds you could demand load and unload a lot of the code more efficiently than OS-level paging. Just a thought.

    With the big problem of CPU security bugs and the somewhat significant loss in performance, it really is time to refine and shrink code.

    One of the best examples of great tight code is the audio recording / editing software "Reaper". Much of it is written in assembly, which doesn't guarantee smallest code but I like to think it's more likely.

    • (Score: 3, Informative) by mhajicek on Thursday October 04 2018, @05:28AM

      by mhajicek (51) on Thursday October 04 2018, @05:28AM (#743870)

      My CADCAM box has 64GB. It's mostly for the data, not the code.

      --
      The spacelike surfaces of time foliations can have a cusp at the surface of discontinuity. - P. Hajicek
  • (Score: 2) by MichaelDavidCrawford on Thursday October 04 2018, @11:33AM (3 children)

    by MichaelDavidCrawford (2339) Subscriber Badge <mdcrawford@gmail.com> on Thursday October 04 2018, @11:33AM (#743986) Homepage Journal

    Your statement of the problem is far more general than just software:

    For quite a long time now it has been fashionable for politicians to act like idiots even when they're intelligent and educated.

    For quite a long time the Republicans have been steadily working to eliminate the teaching of Critical Thinking in schools for the _specific_ reason that they regard Critical Thinking as inspiring children to disobey their parents. Maybe their parent are idiots, maybe their parents are evil, maybe their parents told them to jump of the Golden Gate Bridge but they plummet to their deaths because they weren't taught Critical Thinking.

    My own high school English and Literature classes _heavily_ emphasized critical thinking. Yes: English, not math nor science. This because math does not permit ambiguity, science has little room for ambiguity but natural language is so expressive specifically _because_ of its ambiguity.

    Now that we have a few generations of adults who weren't taught Critical Thinkking, they readily fall prey to propaganda and transparently false claims.

    --
    Yes I Have No Bananas. [gofundme.com]
    • (Score: 2) by jmorris on Thursday October 04 2018, @04:37PM (2 children)

      by jmorris (4844) on Thursday October 04 2018, @04:37PM (#744169)

      I'll excuse you, considering your issues, for not knowing what is going on there. You are confusing "Critical Theory" with "Critical Thinking." Like all Marxist terminology it uses English sounding words but assigns meanings almost entirely opposite to them. But lets not get off on a political tangent on this thread.

       

      • (Score: 2) by MichaelDavidCrawford on Thursday October 04 2018, @09:40PM (1 child)

        by MichaelDavidCrawford (2339) Subscriber Badge <mdcrawford@gmail.com> on Thursday October 04 2018, @09:40PM (#744333) Homepage Journal

        To have been educated in Critical Thinking leads one to cry "Bullshit" when one sees, hears or reads bullshit.

        That's not always as easy as you might expect. Suppose just for the sake of argument that our _only_ only evidence for or against confirming Judge Kavanaugh was last Friday's hearing. Is he guilty of attempted rape? Is Dr. Ford assassinating a righteous man's character? I have two very close friends who are also my Facebook friends, but not friends of each other. They've been arguing this back and forth for _days_.

        I didn't watch Friday's hearings because I didn't feel the need to: I'm not into TV I'm into reading so I read oodles of articles, essays, rants and manifestos until my eyeballs started bleeding.

        But once having done so, I figured it was important that I watch the hearing, so I watched just a little bit, specifically when Democratic Senator Klobuchar asked Kavanaugh whether he'd ever experienced an alcohol blackout.

        A simple, "No, Senator" would have sufficed, but Kavanaugh couldn't settle for that.

        He want absolutely bananas yet I remain puzzled that out of all those barrels of ink spilled over last Friday's events, only _one_ opinion piece pointed out that "Kavanaugh has a drinking problem". NO ONE has so far reached the conclusion I did the very instant I saw Kavanaugh tear Klobuchar a new asshole:

        tl;dr: he's the very worst kind of alcoholic because he worships beer as if it were a God. I've known several other addicts to worship their drug of choice that way. It is specifically that _worship_ that makes them the worst kinds of addicts, whether they worship beer, weed, heroin or meth:

        You'll never convince a sincere Christian to renounce his faith. Yes america is chock full 'o closeted gay Christian child molesters - but they're not _sincere_ once. The Romans really _did_ feed Christians to lions: lots of Christians, lots of Lions. "Vatican" is Latin for "graveyard". It was at first a swamp where the Roman pitched the bodies of dead Christians. The pope who built the first Vatican Cathedral - there've been two, the first burned down - put it on top of that swamp specifically because the Christian martyrs had _already_ consecrated that ground.

        If you can feed a Christian to lions without him doubting Jesus in the slightest way, then you can impeach Kavanaugh, imprison him for perjury, let him back out on the street with no hope of getting a job because he's a felon, let him sleep out in the rain as he starves to death, yet he will somehow come up with enough money for his beer. I've seen that far more times than I care to think about.

        THAT is Critical Thinking, my friend: I one-upped the entire Democratic Party by noticing what is as plain to me as the nose on my face: Judge Kavanaugh worships his beer.

        As for Critical Theory - it happens that I'm heavily into that actually, but I had never known there was a proper name for it. Thanks!

        --
        Yes I Have No Bananas. [gofundme.com]
        • (Score: 2) by jmorris on Thursday October 04 2018, @10:33PM

          by jmorris (4844) on Thursday October 04 2018, @10:33PM (#744369)

          Critical thinking applied to the current SCOTUS mess actually looks very different. Once you realize that arguing the merits of the he said, she said means you already lost the game you can arrive at the Truth. If there existed 8x10 color glossy photographs of this alleged drunken grope it still does not matter. What happened in high school ~36 years ago (barring an actual criminal act, i.e. a police report, charges, etc) does not matter, Dr. Ford should have never been permitted to grandstand on live TV and this whole sorry episode should have been nipped in the bud right there. Whether the guy drank in high school or college is also unimportant. Justice Breyer actually having an arrest record for underage drinking did not matter, and should not have mattered. Whether he is likely to judge cases while drunk should matter, but Justice Ginsberg attending a State of the Union drunk off her ass didn't matter so....

  • (Score: 3, Interesting) by VLM on Thursday October 04 2018, @12:03PM

    by VLM (445) on Thursday October 04 2018, @12:03PM (#744003)

    measured any way you want you see hundred of times more resources producing little improvement.

    There is a small problem in that bug and error and possibly intentional back door rates scale slightly less than linear with software bloat.

    Thats why 80s home computers could ship with their "OS" in masked rom because the error rate per 8K is low enough to get away with that, whereas 100 gigs of windows or linux will require daily/weekly patching.

    At some point in the future, the bandwidth to patch bloated software has to be factored into memory system design. Like if you had some AI flying car it might require 100 TB of binary code, and a codebase that big would require such a bandwidth of constant patching that you'd need some dedicated hardware between the L1 and L2 on chip CPU cache just to keep up with endless bug fixing. Aside from the issue that 100 TB of binary executable code would probably require more coders than the population of the Earth, etc.

    There is also an interesting competition with EE / telecom error rates. Can you read 8K of executable code from a masked rom without a single bit error? Yeah not too hard. Now try 100 TB of executable code from a hard drive without a single bit error? Not so simple. Eventually the power requirements of sending enormous amounts of executable binary data will exceed the power requirements of actually processing the data, and that will be interesting. No longer will heat production limit clock speeds; heat production will limit times between crashes due to memory read error rate.