Não acho que você possa programar sem criar um novo idioma, por isso é bom perceber que é isso que você está fazendo e entender os problemas.
- O que é um idioma?
Vocabulário, sintaxe e semântica.
Uma linguagem pronta para uso como VB, Java, C # etc. é apenas uma linguagem básica . Assim que você adiciona classes, métodos, etc., adiciona vocabulário e semântica. Existem várias maneiras de implementar idiomas - análise e tradução, análise e interpretação, macros sobre um idioma existente, adição de classes e métodos a um idioma existente.
- O que você quer que um idioma faça?
Seja bom para expressar problemas de forma concisa.
Como você sabe se você fez isso? A medida que eu uso é a contagem de edições . Se o requisito de uma frase A aparecer, eu continuo implementando o requisito no código. Quando termino e tenho todos os bugs eliminados, verifico o código e o repositório de códigos me fornece uma lista das alterações que fiz, B. Quanto menor o B, melhor a linguagem. Média sobre o espaço de requisitos reais e possíveis, essa medida me diz como é "específica do domínio" a linguagem.
- Por que a concisão é boa?
Porque minimiza bugs.
Se forem necessárias alterações no código N para implementar o requisito 1 e, às vezes, você cometer erros, o número de erros que você introduzir será aproximadamente proporcional a N. No limite em que N = 1, é quase impossível introduzir um erro sem tentar.
Observe que este é um desafio direto ao "inchaço do código" que vemos hoje em dia.
ADICIONADO: em resposta à sua solicitação de exemplo, consulte execução diferencial . Não vou dizer que ele pode ser entendido rapidamente, mas reduz significativamente o código da interface do usuário.