Skip to main content

The End of Programming (Again)

· 2 min read
Ray Myers

What if machines could do the mechanical parts of what humans do?

Often they do, we call that automation. Automation of the software variety is often called "programming".

But what if the mechanical parts of programming were automated?

We do that.

Constantly in fact, we're positively neurotic about finding new ways to eliminate duplicate work.

But what if you could draw on a vast library of code already written?

We call those library dependencies.

But what if you could skip the code entirely and just describe in unambiguous terms what you wanted the computer to do?

Then you’d have a programming language. They exist to describe in human-readable and unambiguous terms what you want a computer to do.

But it would be like a higher-level pass that generates code.

We do that, for instance in DSLs (domain-specific languages) and multi-pass compilers. The GHC Haskell compiler uses at least 4 intermediate representations not including Haskell code itself or assembly/machine code.

Do you really think it’s impossible to make further progress?

Of course not, that’s why we continue to refine our tool-chains and new language communities are still forming with new approaches.

Just understand that we’ve seen claims of revolutions in coding productivity/elimination coupled with impressive demos regularly for over 50 years. The ideas that made a dent were few and far between, and even then the realistic implications were different than we would have expected.

So what have you got?

Can we write to you from time to time? Get updates.