• ulterno@lemmy.kde.social
      link
      fedilink
      English
      arrow-up
      36
      ·
      8 months ago

      It’s kinda fun to think of programming as magic.
      And “libraries” as grimoires/tomes .

      It’s surprising how far you can go with the analogy.

    • jarfil@beehaw.org
      link
      fedilink
      arrow-up
      18
      ·
      edit-2
      8 months ago

      Some time ago:

      • Me: “Programming is fun, but user interfaces are a PITA”
      • CS student: “What!? The algorithms I’m given to solve are really complicated!”
      • After a year on a job: “I hate testing user interfaces…”

      Some other day:

      • Me: “Programming is mostly copy&paste”
      • Engineering student: “What!? We have to come up with a new solution for every problem!”
      • After a year on a job: “I don’t program anymore, just copy&paste…”

      Told ya.

        • jarfil@beehaw.org
          link
          fedilink
          arrow-up
          9
          ·
          8 months ago

          No matter what you work on, programming is one of:

          • Check the documentation for a library, copy&paste the interface call, fill in the blanks.
          • Pick the best algorithm for the case at hand, copy&paste, change a few variable names.
          • Get out your snippets archive, copy&paste the one you need.
          • Write some boilerplate, copy&paste over and over, then fill in the blanks.
          • Look up how someone else solved your problem, replicate it in a way that doesn’t look like copy&paste.
          • Once in a blue moon, come up against an actually novel problem, spend some days figuring out the best way to solve it… then copy&paste the solution back into the project.

          Doesn’t matter what you’re working on, in the end it’s mostly copy&paste 😂

          • Dark Arc@social.packetloss.gg
            link
            fedilink
            English
            arrow-up
            7
            ·
            8 months ago

            I work on compilers (we can’t/don’t even have access to the C++ standard library in my case)… Most of the time, Google can’t help me ⚰️😅

            It was definitely a bit more copy and paste when I was working on web applications… But even then, most of the code I was writing was fairly novel / more application and database architecture problems than trying tying libraries together.

            • jarfil@beehaw.org
              link
              fedilink
              arrow-up
              6
              ·
              edit-2
              8 months ago

              What are databases, other than glorified MS Access (¹)? 😜

              But seriously, if you’re working on compilers, then your “target users” are way different than the average thing: you have actual problems to solve, and can stick to the CLI.

              Most copy&paste begins the closer to a GUI you get. Modern web interfaces, have also become a string of libraries and frameworks.

              (¹: once upon a time… I tried to explain to a client, why there was no way on Earth to make their in-house MS Access solution compatible with personal data protection requirements for medical data, like 100% access control and logging. I failed… then some years later saw a story about the same problem on Coding Horror; still wonder if it was the same guy who got some other poor soul to try and go through with it, or if it was a more widespread problem at the time when personal data protection laws got enacted)

  • OttoVonNoob@lemmy.ca
    link
    fedilink
    arrow-up
    54
    ·
    edit-2
    8 months ago

    Me: Spends 4 hours making a pause menu… “I wish this was true… This man has not met the hell of a 50 state, 100 elif statement…”

    Amateur Coders code: " We don’t do this because its easy, we do this because we thought it would be easy"

  • nilclass@discuss.tchncs.de
    link
    fedilink
    arrow-up
    36
    ·
    8 months ago

    It’s like if farmers were just letting plants do all the work, instead of manually assembling the potatoes themselves

  • jmcs@discuss.tchncs.de
    link
    fedilink
    arrow-up
    24
    ·
    8 months ago

    It’s like the joke about the invoice charging 0.10$ for a screw and 100$ for knowing which screw to replace.

    Coding is easy. Software engineering not so much.

    • PenguinTD@lemmy.ca
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      8 months ago

      Merge needs some stomp, yeah, mine stomp yours.

      edit: note, this is a good thing, cause then we both have unlimited supply of tickets.

  • lad@programming.dev
    link
    fedilink
    arrow-up
    19
    ·
    8 months ago

    The biggest scam about programmers is they barely program

    He’s got a point, though, the further you go, the less time you spend inputting code. Although some people prefer to continue going head first and then remaking everything.

    • abbadon420@lemm.ee
      link
      fedilink
      arrow-up
      9
      ·
      8 months ago

      That is a lot of fun to do, most times. Also I need to provide for my family and the guys who pay my salary want their stupid features implemented like yesterday.

      • lad@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        8 months ago

        I half agree about fun, think it depends on how often clients want some weird shit done yesterday, it becomes a nightmare if it happens too often :(

    • FaceDeer@fedia.io
      link
      fedilink
      arrow-up
      8
      ·
      8 months ago

      Over the past month I feel like all I’ve been doing is writing tech design documents for systems I don’t actually know anything about because I haven’t had the opportunity to go in and do anything with them.

      Fortunately I’ve finally managed to reach the point where everyone agrees that we should just start implementing the basics and see how that goes rather than try to plan it all out ahead of time since we’re surely going to have to throw out the later plans once we see what we’re actually dealing with.

    • Swedneck@discuss.tchncs.de
      link
      fedilink
      arrow-up
      6
      ·
      8 months ago

      like with many jobs you’re learning to only do the work that matters, and oftentimes when you can avoid doing work that actually improves the product.

      There’s a reason why construction workers aren’t making their own planks and nails, that would be horribly time consuming, inefficient, and they’d probably make shitty planks.

      • lad@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        8 months ago

        Not trying to become an expert in everything was the most important decision I made so far, I think

    • ElCanut@jlai.luOP
      link
      fedilink
      arrow-up
      12
      ·
      8 months ago

      There’s an intern inside the server that checks every transaction by hand

    • twei@discuss.tchncs.de
      link
      fedilink
      arrow-up
      9
      ·
      8 months ago

      Can ya please go back to the Drop-Down thingy for your license? It’s already annoying on its own, but it gets even more so when Voyager adds the Link-Preview

    • bitwolf@lemmy.one
      link
      fedilink
      arrow-up
      5
      ·
      8 months ago

      Hey, how do you get the creative Commons attribution to automatically appear under your comments?

      • onlinepersona@programming.dev
        link
        fedilink
        English
        arrow-up
        4
        ·
        8 months ago

        Unfortuately, it’s manual :) Keyboard shortcut to put the text into the clipboard and then paste it into the comment.

        If you're on linux using X11
        #!/usr/bin/env nix-shell
        #!nix-shell -i bash --packages xautomation xclip
        
        sleep 0.2
        printf '[Anti Commercial-AI license](https://creativecommons.org/licenses/by-nc-sa/4.0/)' | xclip -selection clipboard
        #(echo '::: spoiler Anti Commercial AI thingy
        #[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
        #
        #Inserted with a keystroke running this script on linux with X11
        #```bash'
        #cat "$0"
        #echo '```
        #:::') | xclip -selection clipboard
        xte "keydown Control_L" "key V" "keyup Control_L"
        

        Anti Commercial-AI license

  • xep@fedia.io
    link
    fedilink
    arrow-up
    3
    ·
    8 months ago

    Sometimes it feels like most of my job nowadays is deleting code now.

    • meteokr@community.adiquaints.moe
      link
      fedilink
      arrow-up
      3
      ·
      8 months ago

      To me, there is no greater high than seeing big negative numbers on a commit. Deleting stuff is the most satisfying experience in programming. A commit with +10, -142 is mint.

    • Dark Arc@social.packetloss.gg
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      8 months ago

      Be careful with that one. I’m not sure about your experience level, but a mistake newer (and some more experienced) programmers often make is taking DRY too far.

      It’s easy to “dry” something up to the point where it’s spaghetti that’s overly clever about how it reduces lines of code resulting in some crazy inheritance hierarchy even you (the author) are afraid to change a few years down the road.

      There are of course other times when someone just copy and pasted e.g. sort logic all over the code base … but that sort of thing is relatively rare