4 ms·
Problems can be solved by introducing an abstraction that provides tools for working in a certain domain, and then using those tools to solve problems in that d
by jmull 4y ago
Problems can be solved by introducing an abstraction that provides tools for working in a certain domain, and then using those tools to solve problems in that domain. This can be really effective when the requirements are complex and shifting because it allows for flexibility and working more directly in the problem domain.
You can invent a language to do this.
But quite often existing languages are perfectly capable of expressing the abstraction. Meanwhile, there can be a huge overhead to a programming language… you tend to need syntax, documentation, parsers, a standard library, third party libraries, debuggers, programmers, etc.
Usually it just makes a ton more sense to express your domain concepts withing an existing language than make a domain-specific one.