• UndercoverUlrikHD@programming.dev
    link
    fedilink
    arrow-up
    121
    ·
    11 months ago

    Is it really tempting for people? They’ve given me too many headaches when I’ve had to reformat or add functionality to files.

    Unless it’s a simple single use script that fit on the computer screen, I don’t feel like global variables would ever be tempting, unless it’s for constants.

    • PetDinosaurs@lemmy.world
      link
      fedilink
      arrow-up
      72
      ·
      11 months ago

      Most people suck at software engineering.

      Plus, there’s always the temptation to do it the shitty way and “fix it later” (which never happens).

      You pay your technical debt. One way or another.

      It’s way worse than any gangster.

      • rodolfo@lemmy.world
        link
        fedilink
        arrow-up
        15
        ·
        11 months ago

        amen

        Plus, there’s always the temptation to do it the shitty way and “fix it later”

        double amen

              • decerian@lemmy.world
                link
                fedilink
                arrow-up
                6
                ·
                11 months ago

                Why is that weirder? The people writing scientific software are, by and large, less good at writing software than people who only specialize in software development. I’d expect there to tons of terrible engineering practices in an old code base like that

                • PetDinosaurs@lemmy.world
                  link
                  fedilink
                  arrow-up
                  3
                  ·
                  edit-2
                  11 months ago

                  good question.

                  Because even trivial things like Fourier transforms (to people like me) are very difficult to understand to those that don’t know them. They took me years to understand. Non scientific software engineers do not understand those. It’s just a different course of education.

                  You’re also right about old code base as well. Algorithms like these belong in c++ (or C or fortran), and it’s extremely difficult to explain why to people who have no understanding of numerical computing.

                  It’s just different education.

          • rodolfo@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            11 months ago

            I wish I was so lucky to have comments.

            in real life, I’m fighting with - I’m not joking - a few dozen “quick patches”. code does not reflect in any point functional requirements, and dude is adamant he’s in the right and supersarcastic in any occasion.

            • PetDinosaurs@lemmy.world
              link
              fedilink
              arrow-up
              3
              ·
              11 months ago

              I’ve been working at my current company for almost a year.

              I had no idea it could be this bad.

              I actually had to fight/plead with someone to “please read the code”. Guy did get fired though.

      • manapropos@lemmy.basedcount.com
        link
        fedilink
        arrow-up
        4
        arrow-down
        1
        ·
        11 months ago

        If you’re smart you do it the quick and easy way and leave the company before it bites you in the ass. Only suckers stay with the same company for more than a few years

    • yiliu@informis.land
      link
      fedilink
      arrow-up
      24
      ·
      11 months ago

      They’ve given me too many headaches…

      I.e. you did use them, but learned the hard way why you shouldn’t.

      Very likely OP is a student, or entry-level programmer, and is avoiding them because they were told to, and just haven’t done enough refactoring & debugging or worked on large enough code bases to ‘get’ it yet.

    • BorgDrone@lemmy.one
      link
      fedilink
      arrow-up
      20
      arrow-down
      1
      ·
      11 months ago

      Is it really tempting for people? They’ve given me too many headaches when I’ve had to reformat or add functionality to files.

      I don’t get it either. Why would you ever feel the need for them to begin with?

    • fluxion@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      As with the sexual connotation here, the temptation is not rooted in long-term considerations like future maintainability

    • ZILtoid1991@kbin.social
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      11 months ago

      Depends on what you’re doing. Functional programming has its own downsides, especially once you want to write interactive programs, which often depend on global states. Then you either have to rely on atoms, which defeat the purpose of the functional programming, or pass around the program state, which is janly and can be slow.

      I personally go multi paradigm. Simpler stuffs are almost functional (did not opt for consting everything due to performance issues), GUI stuff is OOP, etc.

    • GTG3000@programming.dev
      link
      fedilink
      Русский
      arrow-up
      1
      ·
      edit-2
      11 months ago

      Well, if you’re writing something the user will be looking at and clicking on, you will probably want to have some sort of state management that is global.

      Or if you’re writing something that seems really simple and it’s own thing at first but then SURPRISE it is part of the system and a bunch of other programmers have incorporated it into their stuff and the business analyst is inquiring if you could make it configurable and also add a bunch of functionality.

      I also had to work with a system where configurations for user space were done as libraries setting global constants. And then we changed it so everything had to be hastily redone so that suddenly every client didn’t have the same config.