Slashdot Mirror


'It Just Seems That Nobody is Interested in Building Quality, Fast, Efficient, Lasting, Foundational Stuff Anymore' (tonsky.me)

Nikita Prokopov, a software programmer and author of Fira Code, a popular programming font, AnyBar, a universal status indicator, and some open-source Clojure libraries, writes: Remember times when an OS, apps and all your data fit on a floppy? Your desktop todo app is probably written in Electron and thus has userland driver for Xbox 360 controller in it, can render 3d graphics and play audio and take photos with your web camera. A simple text chat is notorious for its load speed and memory consumption. Yes, you really have to count Slack in as a resource-heavy application. I mean, chatroom and barebones text editor, those are supposed to be two of the less demanding apps in the whole world. Welcome to 2018.

At least it works, you might say. Well, bigger doesn't imply better. Bigger means someone has lost control. Bigger means we don't know what's going on. Bigger means complexity tax, performance tax, reliability tax. This is not the norm and should not become the norm. Overweight apps should mean a red flag. They should mean run away scared. 16Gb Android phone was perfectly fine 3 years ago. Today with Android 8.1 it's barely usable because each app has become at least twice as big for no apparent reason. There are no additional functions. They are not faster or more optimized. They don't look different. They just...grow?

iPhone 4s was released with iOS 5, but can barely run iOS 9. And it's not because iOS 9 is that much superior -- it's basically the same. But their new hardware is faster, so they made software slower. Don't worry -- you got exciting new capabilities like...running the same apps with the same speed! I dunno. [...] Nobody understands anything at this point. Neither they want to. We just throw barely baked shit out there, hope for the best and call it "startup wisdom." Web pages ask you to refresh if anything goes wrong. Who has time to figure out what happened? Any web app produces a constant stream of "random" JS errors in the wild, even on compatible browsers.

[...] It just seems that nobody is interested in building quality, fast, efficient, lasting, foundational stuff anymore. Even when efficient solutions have been known for ages, we still struggle with the same problems: package management, build systems, compilers, language design, IDEs. Build systems are inherently unreliable and periodically require full clean, even though all info for invalidation is there. Nothing stops us from making build process reliable, predictable and 100% reproducible. Just nobody thinks it's important. NPM has stayed in "sometimes works" state for years.

17 of 560 comments (clear)

  1. Why should they? by QuietLagoon · · Score: 5, Insightful

    We've been trained to be a consuming society of disposable goods. The latest and greatest feature will always be more important than something that is reliable and durable for the long haul.

    1. Re:Why should they? by Anonymous Coward · · Score: 5, Insightful

      and our kids and grandkids will be buried in our electronic wastes.

      corporate greed is to blame (the consumer, less so). forced obsolescence for the sake of profits and with zero regard to the environment.

    2. Re:Why should they? by K.+S.+Kyosuke · · Score: 3, Insightful

      Less resource use to accomplish the required tasks? Both in manufacturing (more chips from the same amount of manufacturing input) and in operation (less power used)?

      --
      Ezekiel 23:20
    3. Re:Why should they? by JuliceMTL · · Score: 5, Insightful

      Quick question ... do you always buy the cheapest car possible? I'm pretty sure you don't. This fantasy that consumers always go for the cheapest product is false and blaming consumers for the industry's lazyness and lack of vision is also lazy IMHO. Cheers

    4. Re:Why should they? by Nidi62 · · Score: 5, Insightful

      The kind of quality and efficiency that the summary seems to be talking about is expensive. The buying market wants cheap. Creating cheap solutions means grabbing third-party libraries and gluing them together....as much as possible. Once it basically works you just move on. That keeps development costs low and time to market low, which is exactly what the market wants.

      To use the Apple example in the summary, Apple could create lean and efficient software for their phones without raising costs to consumers. But then they would go from making a metric shit ton of profit to only making a standard shit ton of profit and we can't have that, can we? It's not that the people have decided what they want, corporations have told people what they want and the people lapped it up, even when it is quite clearly not in their best interest.

      --
      The only thing necessary for evil to triumph is for it to be pitted against a slightly greater evil
    5. Re:Why should they? by Puls4r · · Score: 3, Insightful

      Inefficient software and environmental harm.

      How about pointless software and total environmental harm? I believe they call it "cryptocurrency mining" in more polite circles.

  2. Twice as bad in manufacturing and hard goods. by Seven+Spirals · · Score: 4, Insightful

    Support your state's Right to Repair bill! Part of the reason "everything sucks now" is that we let these fuckers sell us crap that only they can fix.

  3. Can't do it with "Agile" by david.emery · · Score: 4, Insightful

    I assert that Agile is antithetical for this kind of work. It's critical that infrastructure be built to completion (in both functionality and quality). A lot of infrastructure doesn't lend itself to "requirements on 3x5 cards" For example, how would you handle "consistent concurrent updates" in a distributed system? That's an architectural/key design issue that has substantial repercussions throughout a distributed system.

    I've worked on several projects producing on reliable software infrastructure. One was all new code, most others included a lot of COTS. Each had a substantial effort to capture 'architecture' and 'requirements,' including establishing what "100%" looked like so we could track progress to completion, and so the users/customers of of the infrastructure had an idea what features and capabilities they could depend on.

    DevOps might work, -if- there's a substantial investment in up front architecture, design, and build planning.

    (My sense of "architecture" here includes non-functional considerations, deployment issues, and even identifying human contributions to the system, i.e. how the infrastructure will be configured and maintained.)

  4. Vague nostalgia by sjbe · · Score: 4, Insightful

    Remember times when an OS, apps and all your data fit on a floppy?

    Sure do. I also remember that it did close to fuck all in the way of useful tasks compared to the devices I have right now. Is there a point to this nostalgia over what now is primitive technology? If your OS fits on a single disk it is either a VERY narrowly focused device that doesn't do much else or it is a very primitive system that cannot do much. Just because something isn't coded in hand written assembler doesn't mean it is bad.

    iPhone 4s was released with iOS 5, but can barely run iOS 9. And it's not because iOS 9 is that much superior -- it's basically the same. But their new hardware is faster, so they made software slower.

    No they made it DO MORE. It didn't get slower out of incompetence or laziness. (well mostly anyway...) It is a more complicated system that does tasks that weren't previously possible with the older hardware. It's NOT "basically the same" if you really look at it carefully. A lot of new technology has been added which comes at a cost. You could run the old system on the new hardware and it would run faster but do fewer useful things. Pick your poison. I remember running the same DOS system that ran on my 286 on a 486 and it was a whole lot faster but it didn't really take full advantage of that extra speed for most tasks. The code was written the way it was because of the hardware limitations of the day. No different than today.

    It just seems that nobody is interested in building quality, fast, efficient, lasting, foundational stuff anymore.

    This statement presumes A) that software in the past was all those things (it wasn't) and that B) that the meaning of all those things is clear (it isn't). Define "quality". Define "fast". Define "efficient". And under what context are we talking? That statement makes for a good sound bite but it's as vague as an astrology reading if you really think about it.

  5. Re:Welcome to the world of perpetual growth by lgw · · Score: 4, Insightful

    Perpetual exponential growth is also know as "technology". And TFA is right on the nose here: technology does not mean "more bling", it means "more efficiency". That's how we sustain perpetual exponential growth. New technologies let us make the same stuff for less labor or energy, a few percent every year.

    When the focus changes to all bling, no efficiency, it's a non-sustainable path.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  6. Re:This sounds like my grandpa. by iggymanz · · Score: 4, Insightful

    very wrong, applications now are built on many bloated layers such that no can understand or secure it.

    The massive security holes constantly being found prove it, and the vast majority of those are due to the same mistakes self-confident high IQ morons keep making.

    The amount code it takes to do actually a job is much smaller than the size of code we have nowadays, by a factor of at least 10.

    it is not "natural", it is laziness, arrogance and ignorance. Each and every security and bug flaw is the fault of that idiotic mindset.

  7. The customer can't find it as an option by Anonymous Coward · · Score: 5, Insightful

    The customer has no choice in the matter. The people that make the decisions and hire/fire are the ones that do. Lets take a look at a typical DevOps or NoOps shop:

    1: The devs are mainly junior to intermediate level. Senior devs get the axe because they cost too much.
    2: What matters is getting deliverables that marketing has already sold to a customer.
    3: The devs are asked each day about said deliverables in the Scrum stand-up meeting.
    4: If the devs don't cough that deliverable up -yesterday-, they get replaced by someone else who can.

    In this environment, technological debt is someone else's problem. All that matters is getting stuff working and the code artifacts into production. Security, or readability? That's other people's problems.

    This is the modern company. The days of people writing code in assembly to get everything to work perfectly and still have room on a floppy disk are over.

    Blame the bad top brass, who short their stock before a security breach is announced so they can swing a new yacht, and who can't hear anything over their own ego. That is where the fault resides.

  8. Re:Moore's law by Anonymous Coward · · Score: 4, Insightful

    The big problem however, is that the software industry isn't even spending it's own money. It's the users resources that they pissing away, and it's the user who gets told that "RAM is cheap", (though it isn't), or "buy a new device".

    The problem isn't that capacity grows, it's that the developers doesn't really have to pay for their sloppiness.

  9. Re:Moore's law by squiggleslash · · Score: 3, Insightful

    That's (mostly) a distinction without a difference. People also talk about a doubling of power, or halving the cost. They're all correct.

    --
    You are not alone. This is not normal. None of this is normal.
  10. It's more than that by rsilvergun · · Score: 3, Insightful

    at least in America. It's not just because they're short sighted, see here or read up some more via google

    This is also why 99 cent stores are a harbinger of doom for an economy. They make most of their money selling essentials (toothpaste, soap, toilet paper, etc) in reduced sizes at very high markups to poor people who only have a few dollars left after paying their bills. Me? I buy that stuff at a warehouse store and it saves me about $100 bucks a year vs a grocery store and closer to $300 vs a 99 cent store.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:It's more than that by lgw · · Score: 3, Insightful

      I would hope any self-respecting Slashdotter would understand the "Vimes Boot Theory of Value". However, while there are people forced into that trap by circumstance, there are many more people who simply lack he judgement, ability to plan, or ability to defer gratification. I can't really blame companies for selling to them.

      It really pisses me off, however, when there are no middle tier products for some need, just "the cheapest shit possible" and "custom made, massive margin" if you want any quality. Seems like there would be a market for goods in between, the decent quality, moderate margin goods. Perhaps companies get trapped by focusing on growth of sales, rather than profits.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  11. At least as of 2018 that's 78% by rsilvergun · · Score: 4, Insightful

    living paycheck to paycheck.

    There's no middle tier because the middle class has been hollowed out and, well, the middle tier was for them. By "middle class" I don't mean the numeric definition but the more generalized one of a class that has a significant amount of discretionary income.

    One thing that's important to realize is that the notion that people are "living beyond their means" is generally a false narrative used by the rich and powerful to keep you and me from questioning the system. There's tons of data to back this up. All the gains since 2008 have gone to the top 1%. Wages stopped growing (and is large swaths declined) in the 70s even as productivity exploded. Essentials like Housing and education are eating up 60+% of peoples income. The commodities market was deregulated resulting in massive food price inflation. For me, I'm going to pay approximately 50% of my income between taxes and healthcare this year and my roads are falling apart, I pay for my kid's school out of pocket and I hesitate to go to the doctor. Meanwhile my country's fighting 8 (count 'em) offensive wars (meaning wars against countries that didn't attack us).

    Basically, there's a fall scale class war going on that only one side is fighting...

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/