- personal software technology blog

A long time ago Professor Paul Bailes at the University of Queensland in Australia became Full Professor with the keen observation that a new programming language L’ is defined by a program P applied to a lower level language L. It’s a very generic definition, let’s apply it.

L’ = P x L

His followup was that EVERY program you write defines a new language for someone else to understand. I like it and agree - the corollary is that not all L’ new languages are good or easy to grok.

Typescript = WebPack x Javascript

Vue-SFC = WebPack x Javascript

But think about this - when you or a computer write code, you are defining another language for someone else to understand. So all of it matters - exceptions, method names, abstraction, infix/postfix/prefix syntax capabilities of the host language (think domain specific languages such as builder pattern in kotlin).

It is an interesting perspective applied to the latest less-code movements. We are really trying to define new languages to make things easier.