Those Who Do Not Remember The Past Are Condemned To Repeat It

Program Generators

Let's go way back, way way back, to the late 1980s.

We used an application at work which was very much "closed source" and I managed to get hold of it's source code.

Examining my booty, I was struck by the fact that it was of appallingly low quality. Each source file was about 3 times longer than it needed to be and the logic was so twisted and convoluted it was almost incomprehensible.

This was very simple CRUD database code. It wasn't possible to do anything that complicated back then because our computers were kinda lacking in RAM, disc space and processing power.

Some people at work "explained" to me that this was "perfectly OK" because our supplier used a new idea (that we would now call "low code" or "no code" but those terms didn't exist back then) called "program generators".

We had a problem with this system that it ran so very very slowly it just couldn't cope with our workload and it was absolutely riddled with bugs.

Many people at the users' group meeting complained so bitterly that our supplier's technical director (their only employee who had any ability to actually write code) was doing a tour of their customers trying to fix the bugs and performance issues on site. His visit to our company was the point at which I managed to "steal" the source code.

Cutting and Pasting From Stack Overflow

Not so far back, in the 1990s, as the "dot com bubble" was just about ready to burst, I did some consultancy for an artist who had "got into web design".

He had started out by copying and pasting code from Stack Overflow that he didn't really understand but, with a lot of effort, he had managed to cobble together something that more or less worked. But he was left with the biggest and muddiest "big balls of mud" you can imagine.

Some of his code was small enough for me to be able to tidy up. But a great deal of it led me to suggest to him that we just throw it away and start again from scratch and, fortunately for him, his ego was robust enough to accept that I knew what I was talking about and he let me do this.

Those Who Do Not Remember The Past Are Condemned To Repeat It

In our industry, we seem to be appallingly bad at history, particularly our own history. If you're looking for a magic silver-bullet that will turn your ideas into perfect working code and enable you to fire all of your developers. I'm sorry but I think you're in for a rude awakening.

Now you could say "ah yes, but you're a software developer yourself, you can see a future where we don't need you any more and you're trying to preserve your job". And this could well be true. If it was true, I would be sat here telling you these very lies.

One more story before I go

A friend of mine (who was not so well informed but very enthusiastic) developed an interest in large language models and, thinking forward to some sci-fi future where you can have a meaningful conversation with your domestic android, asked a model to explain the structure of the universe to him and was utterly amazed by the reply he got back. He said to me "everything is so much clearer now".

The very next day, I was watching a video on YouTube by a physics professor at Nottingham University (you know the one). He had a problem that his students were starting to use large language models to "cheat" on their homework. We're talking about undergraduates here - so the questions are probably beyond you and me but still fairly elementary. What he noticed was that suddenly he was greeted by answers that so fundamentally misunderstood basic principles that the "person" who wrote them appeared to lack the entry requirements of the course.