Every language either is strongly typed or becomes one after sufficient use.

All languages seem to do this, not just programming languages. Examples:

  • Legalese is close to being a type-safe English (…and is maddeningly verbose).
  • Java was, is and will be strongly typed (and is, similarly, verbose). I am not aware of any tool that removes typing from Java.
  • JavaScript isn’t strongly typed, but now everything I interact with recommends using TypeScript instead (TypeScript is incredibly verbose).
  • Python isn’t strongly typed, and now with so many Python projects around, types and type-safety become important (and bet your ass it will be verbose).

In short, every language that is used sufficiently frequently will become de facto type-safe and verbose. Just like carcinization, type-safetization seems inevitable.

What about vibecoding? Isn’t it a sort of wobbly programming language? Surely enough, as software using it becomes useful, prompts become more and more like a type-safe language.

Maybe this carcinization of programming is a byproduct of the complexity of the world? You can’t really avoid it once you want your software to actually do useful things.

Thanks to Ani Talakhadze for reading drafts of this