• Nougat@fedia.io
    link
    fedilink
    arrow-up
    76
    ·
    3 days ago

    Carmack, former CTO of Oculus and co-founder of id Software, argued that software inefficiencies - not hardware limits - are the real bottleneck in computing today.

    Used to be programs needed to be well-optimized to run in limited hardware. I can imagine that optimization sensibility has taken a back seat now that companies can just say “you need better hardware”.

    • lightnsfw@reddthat.com
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 days ago

      Yea it’s always annoyed me that despite having decades of improved hardware. Software has been running as shitty as ever since the 2010s. Like I still have to wait for things to open and close or tasks to complete even in simple shit like launching an application or browsing files. WTF.

    • cabbage@piefed.social
      link
      fedilink
      English
      arrow-up
      24
      arrow-down
      2
      ·
      edit-2
      3 days ago

      At this point it’s pretty much a challenge to write software bad enough that a computer will struggle to run it.

      (Not a particularly great challenge obviously - I’m quite good a it myself)

      • Pieisawesome@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        8
        arrow-down
        1
        ·
        2 days ago

        Yes and no.

        It’s about abstractions more than optimizing.

        React native is JavaScript code, which means it’s starting (essentially) a web browser, then it downloads, parses, and runs the code.

        All of this takes time, and is repeated every time it starts (perhaps they might cache this for windows).

        If they used a compiled or JIT language, it would be much faster performance, since there are fewer abstractions, but the hi would be much harder to build…

    • irotsoma@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      1
      ·
      3 days ago

      Yeah performance, security, etc., is always a low priority in software departments. All work generally have to get funded by some current or expected income specifically linked to that work. Things are never linked to cost of NOT doing the work. It’s always assumed that there’s no cost to not doing something. This is a huge flaw in moderne business practices in general as the only thing that matters is current revenue for purposes of stock price or the companies value to investors. In software this means that any work is generally tied to some feature requested by upper management and usually connected to some sale or otherwise linked to expected income. And that means every new feature gets a limited budget and generally in the end, cost cutting trims that down before delivery, but instead of cutting business features, they have to cut things like performance and security testing and development. Those end up as “technical debt”, but there is almost never any income that gets tied to those unless there’s a lawsuit or other legal requirement that forces the company to fund those things. The whole idea of a department having to “sell” every piece of work to a “internal customer” so they can get money from the organization is a ridiculous idea. It’s all the same company’s money, there’s no actual customer and the whole bureaucracy to support all of that is a huge waste of time and money that could be put into the longterm health of the company. But longterm health isn’t important anymore in so many industries because consolidation and legal maneuvering has removed most competition in many industries.