• ulterno@lemmy.kde.social
      link
      fedilink
      English
      arrow-up
      38
      ·
      11 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
      20
      ·
      edit-2
      11 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
          11
          ·
          11 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
            8
            ·
            11 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
              11 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)

  • Digital Mark@lemmy.ml
    link
    fedilink
    English
    arrow-up
    70
    ·
    11 months ago

    “She”. The gag of SwiftOnSecurity is it’s Taylor Swift, posting infosec. Tho these days she mostly trolls like this.

  • OttoVonNoob@lemmy.ca
    link
    fedilink
    arrow-up
    55
    ·
    edit-2
    11 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
    40
    ·
    11 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
    26
    ·
    11 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
      11 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.

    • ElCanut@jlai.luOP
      link
      fedilink
      arrow-up
      13
      ·
      11 months ago

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

  • xep@fedia.io
    link
    fedilink
    arrow-up
    5
    ·
    11 months ago

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

    • meteokr@community.adiquaints.moe
      link
      fedilink
      arrow-up
      3
      ·
      11 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
      11 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