Se você puder quantificá-lo, poderá criar um idioma que possa otimizá-lo.
Embora eu não conheça nenhum idioma específico que realmente imponha uma política de "código limpo", os policiais de estilo executados na compilação são bastante comuns.
A principal razão pela qual essa é uma etapa separada da inserção no idioma é em grande parte uma função das prioridades. É no melhor interesse de uma linguagem de programação permitir maior flexibilidade aos programadores para obter o nível mais amplo de adoção. Existem tantas linguagens de programação e DSLs diferentes que restringir artificialmente a base de usuários, sendo exigente e opinativo sobre qual entrada é permitida, provavelmente atrapalha a adoção mais ampla.
Por exemplo, não é do melhor interesse do C # forçar as pessoas a escrever
if (condition)
{
ao invés de
if (condition) {
Mas os damas de estilo podem ser exigentes, porque é para isso que eles foram projetados.
Então, para responder à pergunta
Uma linguagem de programação pode impor código limpo por design?
ênfase minha
Absolutamente, desde que você forneça uma definição forte para o que significa "código limpo".
Por exemplo, eu posso definir "código limpo" como:
- comprimento da linha não superior a 80 caracteres
- funções compostas de não mais que 100 linhas
- recuo deve ser de dois espaços
- chaves abertas devem seguir no final da linha precedido por exatamente um espaço
- não mais que dois operadores por linha
e você pode discordar de algumas ou de todas essas convenções, mas no final do dia elas são quantificáveis e podem ser aplicadas programaticamente.