Is English the New Programming Language?

Well, that’s what it sounds like from people who are very excited about AI-assisted programming. The thinking goes that, in the past, you had to meet the computer halfway: We don’t quite have to write in binary any more, but even though modern programming languages use English words here and there (if and else and while etc), they have their own syntax and rules that you have to learn.

But now, you can get surprisingly far asking the AI, in plain English, what it should do, and get pretty good outcomes. While at this point I don’t believe we can ditch Python, JavaScript, C++ and co just yet, there might indeed be a world where intimate knowledge of any given programming language becomes less important.

However, even if that’s the case (and we’re still far away from that), there’s a fallacy in thinking that “English” means easy. Just look at any document that needs to be unambiguous and airtight. Whether that’s a legal contract, a patent application, or an operating manual. Technically, they’re written in plain English. But they might as well be their own strange dialect with their own complicated rules that professionals take a long time getting good at and, after that, command high fees.

  • In plain English, you can say “one”. But do you mean exactly one, at least one, or at most one?

  • Does "benefits including health insurance, dental, and vision" mean those three things only, or are those just examples? Lawyers write "including but not limited to" for a reason.

  • "Monthly" - Once per calendar month? Every 30 days? The same date each month? What happens in February?

  • "Biweekly" - Famously means both twice a week and every two weeks. Good luck.

  • "Tighten firmly" - Firm to whom? A 90kg mechanic or a first-time assembler?

  • "Real-time" - Instantaneous? Within milliseconds? Fast enough that humans don't notice the delay? Varies wildly by context.

And for software, it just turns out that the best way to express yourself in an unambiguous way is through a programming language.

So, no, don’t think you can get create valuable software without any knowledge of programming languages. The way to exactly specify what you want is to use a programming language.

Previous
Previous

“Free from hype and BS”

Next
Next

Good Judgment