•  jarfil   ( @jarfil@beehaw.org ) 
    link
    fedilink
    21
    edit-2
    1 month 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.

      • 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 😂

        • 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   ( @jarfil@beehaw.org ) 
            link
            fedilink
            6
            edit-2
            1 month 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)