• otacon239@lemmy.world
    link
    fedilink
    English
    arrow-up
    27
    ·
    edit-2
    9 hours ago

    I’ve never had to code professionally, but even on my personal projects, I don’t want a single extra line in the program that doesn’t need to be there and I should be able to understand the purpose of every line years later.

    My eyes glaze over whenever I look at corporate code because there are so many moving parts at that scale all from different qualities of programming.

    I don’t know if this is a practical thought, but I really wish we could get away from every project being monstrously sized. I prefer small packaged ideas similar to terminal commands. Just because it has a GUI doesn’t mean you need to design every piece of software as if I’m going to spend a day in it. Just give me small, purpose-built tools I can understand and then stop eternally developing and adding features.

    To add to this, it seems that every company now either makes one piece of software or 36 different softwares. If they make one piece of software, they endlessly pack it with features people don’t want and if they’re the latter, every piece of software is a hastily-cobbled-together half idea and they just move onto another piece of software. Is there really not a middle ground here?

    • ohlaph@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      8 hours ago

      That’s the result of product managers, project leads etc constantly thinking users need stuff, maybe trying to beat their competition, etc. I have watched a few products get bloated with the aim of beating their competition not providing user value.

      • orclev@lemmy.world
        link
        fedilink
        English
        arrow-up
        8
        ·
        8 hours ago

        The really disgusting part is that actually works (if you’re primarily selling to other corporations). Most of the most popular pieces of corporate software have the common trait that they do tons of stuff really poorly and nothing well. They get picked by the bean counters because the bean counters don’t care that it’s a fucking trash fire of a UI, they’re just looking at the list of other software they can remove because this new software does the same job significantly worse. That or they’re just mesmerized by the giant fucking bullet point list of “features”.

    • Ricaz@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      3
      ·
      edit-2
      4 hours ago

      I kinda agree with your first point, but AI assistance is so incredibly powerful that it’s foolish not to use it, unless you’re working on some really important logic. And even then, having an AI skim for common mistakes, inaccuracies or inefficiencies is still very valuable.

      And what you’re describing is really “Unix philosophy” and I strongly agree with that. Make a piece of software that does its one thing really well, and have it communicate with a simple API (POSIX).

      In Unix/Linux you generally just “pipe” one program’s output into another program’s input, and can chain them virtually infinitely.