Hi, this is a question that popped into my mind when i saw an article about some AWS engineer talking about ai assistants taking over the job of programmers, this reminded me that it’s not the first time that something like this was said.

My software engineering teacher once told me that a few years ago people believed graphical tools like enterprise architect would make it so that a single engineer could just draw a pretty UML diagram and generate 90% of the project without touching any code,
And further back COBOL was supposed to replace programmers by letting accountants write their own programs.

Now i’m curious, were there many other technologies that were supposedly going to replace programmers that you remember?

i hope someone that’s been around much more than me knows something more or has some funny stories to share

  • RegalPotoo@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    ·
    16 days ago

    If only we lived in a world so simple as to allow the whims of managers, customers and third parties to be completely definable in UML

  • Elise@beehaw.org
    link
    fedilink
    arrow-up
    10
    ·
    15 days ago

    Fortran was supposed to replace computers (people). Then the computers became Fortran coders.

  • python@programming.dev
    link
    fedilink
    arrow-up
    11
    ·
    16 days ago

    Dude I WISH an AI would do all the dumb AWS crap for me so that I could just hang out and build React frontends all day

    • 👍Maximum Derek👍@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      16 days ago

      The thing that made me laugh when I saw the article that OP mentions is that it was coming from AWS.

      In my testing AWS’s Titan AI is the least useful for figuring out how to do things in AWS. It’s so terrible that Amazon just announced they’re using Claude for Alexa’s upcoming “AI” features.

  • yogsototh@programming.dev
    link
    fedilink
    arrow-up
    4
    ·
    14 days ago
    • can AI replace the job of a real programmer, or a team of software engineers? Probably not for a long time.
    • can manager abuse the fantasy that they could get rid of those pesky engineers that dare telling them something is impossible? Yes totally. If they believe adding an AI tool to a team justifies a 200% increase in productivity. Some managers will fire people against all metrics and evidence. Calling that move a success. Same occurred when they try to outsource code to cheaper teams.
  • invertedspear@lemm.ee
    link
    fedilink
    arrow-up
    47
    ·
    16 days ago

    Salesforce advertised “No more developers” for awhile in the mid 2010s. It was great fun trying to clean up the mess all the “not programmers” made of those systems. I really hate Salesforce. They must have some of the best sales people on the planet.

    • jonne@infosec.pub
      link
      fedilink
      arrow-up
      13
      ·
      16 days ago

      And now job boards are full of ads for ‘salesforce developers’ that pay ridiculous amounts because nobody really wants to work on salesforce.

      • Skullgrid@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        15 days ago

        Hook me up, I work in outsourcing for salesforce and my current job has failed to find me a client for a while now.

        They keep telling me it’s hard to find a client

  • kameecoding@lemmy.world
    link
    fedilink
    arrow-up
    11
    ·
    16 days ago

    “AI” is just another productivity tool, copilot let’s you remove some of the tedious patterned work you do, like writing all those asserts in Unit tests, it’s decent at guessing html structures too.

    So basically it makes a developer faster, but then so do stuff like a good IDE, good plugins for your workflow, etc.

    i saw somewhere an interesting take, even if AI could generate all the code for all the edge cases, you’d still need people to translate what business wants for the AI to understand properly.

    Writing code is already a small part of a developers job, completely eliminating it won’t eliminate a developers job.

    • JakenVeina@lemm.ee
      link
      fedilink
      English
      arrow-up
      27
      ·
      16 days ago

      Even better quote, I love using this one.

      “So, with AI writing code for us, all we need is an unambiguous way to define, what all our business requirements are for the software, what all the edge cases are, and how it should handle them.”

      “We in the industry call that ‘code.’”

  • HubertManne@moist.catsweat.com
    link
    fedilink
    arrow-up
    5
    ·
    16 days ago

    So far my experience with ai is it cannot evaluate the quality of the data it uses to any significant degree. As such it can summarize which is convenient for searching and give examples but ultimately you have to correct its mistakes and know enough to do so. There is some savings for a programmer in the sense you might be able to get some rough scaffolding and its a bit eaiser to identify relevant search links but I don’t see it replacing developers. It definitely allows one to do more though or even increase the quality. One really great thing it can do is auto commenting of the code which does not need as much improvement as actual code and makes it more likely for you to do the task (both because it does it and because it causes you to go. no don’t explain it like that). Is similarly helps with documentation. I doubt it could more than double productivity though. At least as how it stands now. Im not sure it can do much better without becoming general ai.

    • Ephera@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      16 days ago

      One really great thing it can do is auto commenting of the code

      But then it only comments the ‘what’, it cannot possibly know the ‘why’. I know, some devs disagree on that, but personally, I would rather not have what-comments in my code.

    • Maeve@kbin.earth
      link
      fedilink
      arrow-up
      4
      ·
      16 days ago

      Was thinking that may be why it’s taking so long. It’s akin to knowing you have to train your human replacement before you’re fired. You can’t possibly teach a program or human everything you know in a limited time; and a great many don’t want to do.

  • SavvyWolf@pawb.social
    link
    fedilink
    English
    arrow-up
    18
    ·
    16 days ago

    Was before my time, but iirc C and other (then) high level languages were supposedly able to put programmers out of jobs.

    • tias@discuss.tchncs.de
      link
      fedilink
      arrow-up
      9
      ·
      edit-2
      15 days ago

      SQL was explicitly designed to allow “normal humans” to query the database. Nowadays even “normal developers” aren’t able to use it properly.

  • litchralee@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    4
    ·
    16 days ago

    I know this is c/programmerhumor but I’ll take a stab at the question. If I may broaden the question to include collectively the set of software engineers, programmers, and (from a mainframe era) operators – but will still use “programmers” for brevity – then we can find examples of all sorts of other roles being taken over by computers or subsumed as part of a different worker’s job description. So it shouldn’t really be surprising that the job of programmer would also be partially offloaded.

    The classic example of computer-induced obsolescence is the job of typist, where a large organization would employ staff to operate typewriters to convert hand-written memos into typed documents. Helped by the availability of word processors – no, not the software but a standalone appliance – and then the personal computer, the expectation moved to where knowledge workers have to type their own documents.

    If we look to some of the earliest analog computers, built to compute differential equations such as for weather and flow analysis, a small team of people would be needed to operate and interpret the results for the research staff. But nowadays, researchers are expected to crunch their own numbers, possibly aided by a statistics or data analyst expert, but they’re still working in R or Python, as opposed to a dedicated person or team that sets up the analysis program.

    In that sense, the job of setting up tasks to run on a computer – that is, the old definition of “programming” the machine – has moved to the users. But alleviating the burden on programmers isn’t always going to be viewed as obsolescence. Otherwise, we’d say that tab-complete is making human-typing obsolete lol

    • leviticoh@poliverso.orgOP
      link
      fedilink
      arrow-up
      5
      ·
      16 days ago

      @litchralee
      Thank you!
      i didn’t expect serious answers here, but this was a nice read,

      so the various jobs around computers were kind of obsoleted, but the job description just shifted and the title remained valid most of the times,

      now i’m interested to see what we’ll do 20 years from now rather than just being annoyed by the “don’t learn ${X}, it’s outdated” guys

  • Phen@lemmy.eco.br
    link
    fedilink
    arrow-up
    20
    ·
    16 days ago

    If a tool were created that properly converted an UML diagram into a project without any need for code, all the programmers that lost their job to this tool would then be hired by the company that offered it, in order to give maintenance and support to everything the customers want in their programs.

    It would be removing programmers from they payroll of some companies but they would still be working for them, just further down in the chain.

    The same is true for AI. If AI could completely replace programmers in some area, it would need a lot of programmers itself to keep dealing with all the edge cases that would show up from being used everywhere that a programmer was needed before.

    • SzethFriendOfNimi@lemmy.world
      link
      fedilink
      arrow-up
      16
      ·
      16 days ago

      Besides. Somebody has to convert customer needs into the diagram. Account for what they’re not saying, etc.

      That’s the real essential skill in software dev, not spitting out lines of code.

    • leisesprecher@feddit.org
      link
      fedilink
      arrow-up
      10
      arrow-down
      1
      ·
      16 days ago

      To be fair, a lot of roles simply disappeared over the years.

      Developers today are much more productive than 30 years ago, mostly because someone automated the boring parts away.

      A modern developer can spin up a simple crud app including infrastructure in a day or so. That’s much much more productive than 1995. We just cram a lot more of the world into software, so we need 20x the amount of developers we needed back then.

  • BeigeAgenda@lemmy.ca
    link
    fedilink
    arrow-up
    12
    ·
    16 days ago

    Rational Rose etc. could generate code from UML diagrams, then you “only” needed architects.

    In reality it only gave a little help during the design phase, as soon as someone touches the generated code, you have to manually merge changes to UML.

    • leisesprecher@feddit.org
      link
      fedilink
      arrow-up
      1
      ·
      16 days ago

      It’s really weird, though, that nobody really created a language/tool to bridge these two world. It’s always just generating one representation from the other, mostly in a bad way.

      I’d argue, that for many problems, a graphical view of the system can help reasoning. But there simply is nothing in that regard.

      • Ephera@lemmy.ml
        link
        fedilink
        arrow-up
        4
        ·
        16 days ago

        For OOP languages, you can definitely get IDE plugins, which create UML from code.

        Personally, I’ve never found them useful, though, partially because our code was never OOP enough, e.g. we were using the actor pattern, or had important modules with functions, or had lots of small classes for handing data around etc…

        But also because it just makes for bad architecture diagrams.
        It has no sense of what’s important and what should be abstracted away. Or how to structure the diagram to make it readable, e.g. REST API at the top, database at the bottom.

        What I also really don’t like about generated architecture diagrams in general (even when the contents are specified via e.g. PlantUML), is that things jump around every time you make a structural change. This means people looking at the diagram have no chance of learning what it looks like, so they can spot changes or know where to look for what they’re interested in.