Designing a Programming Language: I
I am always happy to see people make their own languages and write about it.<p>For this article in particular, I disagreed with the first two parts:<p>1. Premise: Simplifying assumption: There are two kinds of languages, static and dynamic. Somehow, it&#x27;s just good to know this, and nothing is said of which of these the Duck language fall into.<p>2. Syntax: Wait, no.<p>There is an implicit premise here, being that if you make a language, it&#x27;s probably going to be a general-purpose one with expectable control-flow structures, and because of that, what we care about is how those control-flow structures look, i.e. should there be curly braces around blocks and such.<p>A premise I would prefer is: When you make a language, you want to solve a problem. Imagine a language being an overgrown library. You don&#x27;t start a tutorial in making libraries about how a good library interface looks like. You start by saying what problem you want to solve.<p>Another premise I would prefer is: Most problems are domain-specific, so most language-shaped solutions to problems are DSLs.