IMHO vincular uma variável a outra variável ou expressão é um cenário muito comum em matemática. De fato, no começo, muitos estudantes acham que o operador de atribuição (=) é algum tipo de ligação. Mas na maioria dos idiomas, a ligação não é suportada como um recurso nativo. Em alguns idiomas como C #, a ligação é suportada em alguns casos, com algumas condições preenchidas.
Mas IMHO implementar isso como um recurso nativo foi tão simples quanto alterar o seguinte código -
int a,b,sum;
sum := a + b;
a = 10;
b = 20;
a++;
para isso-
int a,b,sum;
a = 10;
sum = a + b;
b = 20;
sum = a + b;
a++;
sum = a + b;
Ou seja, colocar a instrução de ligação como atribuições após cada instrução alterar os valores de qualquer variável contida na expressão no lado direito. Depois disso, será possível aparar instruções redundantes (ou otimização na montagem após a compilação).
Portanto, por que não é suportado nativamente na maioria dos idiomas. Especialmente na família C de idiomas?
Atualizar:
De opiniões diferentes, acho que devo definir essa "ligação" proposta com mais precisão -
- Esta é uma maneira de vincular. Somente soma é vinculada a a + b, não ao contrário.
- O escopo da ligação é local.
- Depois que a ligação é estabelecida, ela não pode ser alterada. Ou seja, uma vez que a soma é vinculada a a + b, a soma sempre será a + b.
Espero que a idéia esteja mais clara agora.
Atualização 2:
Eu só queria esse recurso de P # . Espero que esteja lá no futuro.