Interessante a separação de linguagens com base em seu nível de ortogonalidade. No livro "Programador Pragmático", em um dos exercícios propostos, é feito uma provocação sobre qual tipo de linguagem seria mais ortogonal: Procedural vs Orientada a Objetos. O livro nos induz a escolher uma ou outra, pois são as opções apresentadas, entretanto a resposta esperada é que o conceito de ortogonalidade independe de linguagem oi ferramentas. Uma linguagem procedural pode ser menor ortogonal a medida que é possível escrever funções que controlam o fluxo de execução dependente de outras funções. Assim como, linguagens orientada a objetos também pode oferecer um menor nível de ortogonalidade a medida que é possível escrever um código com abuso do uso de heranças, interfaces, métodos "que sabem demais". Portanto, independente da linguagem ou modelo arquitetural, o livro apresenta a ideia que a ortogonalidade de um sistema depende mais da forma como se constrói do que da ferramenta em si.
Em resposta a O que é Ortogonalidade?
2
2
Bem interessante esse ponto de vista. A forma como o livro citado (Conceitos de Linguagens de Programação) leva em consideração a ortogonalidade está muito mais relacionada ao projeto e à finalidade da linguagem, de modo que eu compartilho da visão do autor (Robert W. Sebesta).
Ps: Ainda vou ler o Programador Pragmático.