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
Post funny things about programming here! (Or just rant about your favourite programming language.)
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.
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.
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.
I had to learn how to use that in the military, used to call it crashinal rose