I think _all_ programming is about finding an appropriate DSL for the problem at hand. First you need to understand the “language” of the problem then you develop a “lingo”.
Exactly. You build the language up to the problem. When you do that, the program almost writes itself.
Exactly. You build the language up to the problem. When you do that, the program almost writes itself.