this post was submitted on 03 Sep 2024
151 points (97.5% liked)

Programmer Humor

32042 readers
1012 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

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 10 points 2 weeks 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.

[–] TheRagingGeek 4 points 2 weeks ago

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

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