this post was submitted on 03 Sep 2024
159 points (97.0% liked)

Programmer Humor

32360 readers
856 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

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

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 6 points 1 month ago (1 children)

The first time I heard about programming being obsolete was when I was taught UML in university. That was over almost 15 years ago and it didn't happen, if anything programmers now also had to know UML, which isn't all that bad but it definitely didn't replace anything, it's just useful for designing and documenting projects.

I also heard from colleagues that in the 80s and 90s people said that SQL was supposed to be used by users directly, making (some) programming obsolete.

Now AI bullshit claims to be making programming obsolete. I won't hold my breath.

[–] [email protected] 3 points 1 month ago

Same here only it was 20 years ago. UML professor was convinced it would replace programming.

[–] [email protected] 5 points 1 month 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.
[–] [email protected] 10 points 1 month ago

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

[–] [email protected] 59 points 2 months ago* (last edited 1 month ago) (1 children)

Oracle has a product called Oracle Policy Automation (OPA) that it sells as "you can write the rules in plain English in MS Word documents, you don't need developers". I worked for an insurance organization where the business side bought OPA without consulting IT, hoping they wouldn't have to deal with developers. It totally failed because it doesn't matter that they get to write "plain English" in Word documents. They still lack the structured, formal thinking to deal with anything except the happiest of happy paths.

The important difference between a developer and a non-developer isn't the ability to understand the syntax of a programming language. It's the willingness and ability to formalize and crystallize requirements and think about all the edge cases. As an architect/programmer when I talk to the business side, they get bored and lose interest from all my questions about what they actually want.

[–] [email protected] 9 points 1 month ago

Edge cases are for teams that have internal testing AND care about quality.

A quick easy way to know if your new job is or isn't one of those, is when you open a 3 year project and find no unit tests.

[–] [email protected] 26 points 2 months ago

Zero-code has been about to make us all redundant for about five decades running so far.

[–] [email protected] 12 points 2 months ago (1 children)

"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.

[–] [email protected] 27 points 2 months ago (2 children)

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.'"

[–] [email protected] 2 points 1 month ago (1 children)

Yep, that's the one I was paraphrasing, thanks for the exact quote

[–] [email protected] 1 points 1 month ago

I mean, I'm paraphrasing, too.

[–] [email protected] 5 points 1 month ago

That's fun, I'm stealing that

[–] [email protected] 47 points 2 months ago (1 children)

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.

[–] [email protected] 13 points 2 months ago (2 children)

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

[–] [email protected] 2 points 1 month ago* (last edited 1 month 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

[–] [email protected] 13 points 2 months ago

I know I’ve chosen to take lower paid jobs rather than work on Salesforce.

[–] [email protected] 17 points 2 months ago* (last edited 2 months ago) (2 children)

sometimes, it feels like managers hate engineers, and are constantly plotting their replacement. maybe its because it hurts their ego to know that the engineers they manage worked harder to get there and deserve a higher salary.

or else, it could be office politics. anyone who can claim to have removed an entire department from payroll is due a huge raise.

[–] [email protected] 7 points 2 months ago

sometimes, it feels like managers hate engineers

They hate engineers because the engineers ask difficult questions that somebody needs to answer in order to really automate a process, and they take the time necessary to do so.

[–] [email protected] 6 points 2 months ago (1 children)

I don't think it's just managers saying hey we could automate such and such a thing away. It's human nature to think "how could I improve this" which almost immediately leads to "if I get this right it could mean no work at all"

[–] [email protected] 5 points 2 months ago (1 children)

that explains why the idea to replace engineers would enter peoples minds, but not why they would try so, so hard to get people to believe it.

[–] [email protected] 8 points 2 months ago

Every business's biggest expense is labor. Skilled labor costs more. The people in charge like it when you save money.

I think it's wrong. But only because the interests of the people who own the machines and businesses diverge from the worker's interests. I'd like to see more worker cooperatives. If the workers own the machines, then it's good when things are automated.

I also don't believe anything will ever be truly automated, or that it's a good idea to try.

All that to say we don't have to resort to an explanation of "managers must hate engineers" to understand why they would want to eliminate positions.

[–] [email protected] 19 points 2 months ago (1 children)

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

[–] [email protected] 9 points 2 months ago* (last edited 1 month ago)

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

[–] [email protected] 9 points 2 months ago (1 children)

It's not happening, ever. Someone has to build the AI after all

[–] [email protected] 4 points 2 months 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.

[–] [email protected] 9 points 2 months 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

[–] [email protected] 79 points 2 months ago (1 children)

So far one of the best use cases for AI in software engineering has been identifying idiots and sociopaths.

[–] [email protected] 16 points 2 months ago

Joke's on AI. It's harder to stop us from outing ourselves.

[–] [email protected] 12 points 2 months ago (2 children)

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.

[–] [email protected] 4 points 2 months ago

I had to learn how to use that in the military, used to call it crashinal rose

[–] [email protected] 1 points 2 months ago (1 children)

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.

[–] [email protected] 4 points 2 months 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.

[–] [email protected] 5 points 2 months ago (1 children)

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.

[–] [email protected] 2 points 2 months ago (1 children)

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.

[–] [email protected] 1 points 1 month ago

I almost never put why. this cycles though hostnames and parses out blah blah blah. I guess I assume the why is self evident.

[–] [email protected] 25 points 2 months ago

Programmers become obsolete when they stop evolving with technology

[–] [email protected] 5 points 2 months ago (1 children)

The earliest I can think of (from personal experience) is 4GL languages; the early low-code platforms that first started to get traction in the early 80s. They wouldn't have replaced programmers but some thought/hoped they would usher in an age of "low skill" programmers that companies could get away with paying minimum wage to.

[–] [email protected] 2 points 2 months ago

Oh yeah, low-code platforms in general are pretty much always a thing, in every industry for various tasks.

I've also never seen any of them that were not horribly abused with ridiculous workarounds or custom code snippets, which effectively made them as complex as a real program.

load more comments
view more: next ›