Responderei isso de uma maneira mais geral - parecendo um pouco com toda a "experiência de aprendizado Unix ".
No seu exemplo, você usa duas ferramentas e vê o idioma como semelhante. Apenas não está claro quando usar exatamente o que. É claro que você pode esperar que haja uma estrutura clara, então você nos pede para explicar isso.
O caso com o espaço em torno de =
é apenas e exemplo - há muitos casos de semelhantes, mas-bot-bastante .
Há tem que ser uma lógica, certo?!
As regras como escrever código para alguma ferramenta , shell, banco de dados etc dependem apenas do que essa ferramenta específica requer
Isso significa que as ferramentas são completamente independentes , tecnicamente. A relação lógica que eu acho que você espera simplesmente não existe .
A óbvia semelhança dos idiomas que você está vendo não faz parte da implementação do programm . A semelhança existe porque os desenvolvedores concordaram em fazê-lo quando o escreveram para um programa em particular. Mas os humanos podem concordar apenas parcialmente .
A relação que você vê é uma coisa cultural - não é nenhuma parte da implementação , nem em a definição da linguagem .
Um grande passo é aceitar que a consistência que você esperava não existe - o que é muito mais fácil ao entender as razões - Espero que a parte teórica ajude com isso.
Se você tem duas ferramentas, que não usam a mesma linguagem de configuração (por exemplo, ambos bash scripting), saber os detalhes da sintaxe de um não ajuda muito na compreensão do outro; Então, de fato, você terá que pesquisar detalhes independentemente . Certifique-se de saber onde você encontra a documentação de referência para cada um.
No lado positivo, há alguma consistência em que você não esperava: no contexto de uma única ferramenta (ou ferramentas diferentes usando o mesmo idioma), você pode ter certeza de que a sintaxe é consistente.
No seu mysql
exemplo, isso significa que você pode assumir que todas as linhas têm a mesma regra. Portanto, a regra é "espaço antes e depois de =
ser não relevante ".
Existem diferenças em quão hard é aprender ou usar a linguagem de configuração ou script de uma ferramenta.
Pode ser algo como " Listar valores foo em cmd-foo.conf, um por linha".
Pode ser uma linguagem de script completa que também é usada em outros lugares. Então você tem uma ferramenta poderosa para escrever configuração - e em alguns casos isso é legal, em outros você realmente precisa disso.
Ferramentas complexas , ou grandes famílias de ferramentas relacionadas às vezes usam muito < Sintaxe de arquivo strong> complex special configuration - (alguns exemplos famosos são sendmail
e vim
).
Outros usam uma linguagem geral de script como base, e estende essa linguagem para suportar as necessidades especiais , algumas vezes de formas complexas, conforme a linguagem permite . Isso seria um caso muito específico de um idioma específico do domínio ( DSL ) .