Language Design for Developers First

2015-03-14

Instead of considering any limitations that current languages, parsers, and computers have, let's start from the front-end of the new language... How should it be written and read.

Higher abstractions tend to be good, and provide useful productivity boosts. So, let's start with an extreme.. what's the minimal working code we can write for any given program or algorithm? We will start by removing absolutely all boilerplate.

Once, this extreme is designed and gone through the rabbit hole, then we might consider allowing more (possibly optional) verbosity to make reading and maintaining the code easier.

No boilerplate.

Imagine how you would feel writing that, and how productive you would be.

We'll talk more specifics later. For now, question everything that your language does. Imagine for a moment that you didn't have to worry about the underlying performance of the system and what the compiler does, because in the ideal language, you wouldn't have to.