Semiótica e Programação 2
Linguagens cuja proposta é tipagem forte permitem através de sua sintaxe a expressão de constrições sobre a manipulação do estado de um objeto denotado por uma referência. Linguagens cuja proposta é tipagem fraca permitem manipulações de objetos com pouca constrição.
Entendendo uma referência nesse contexto como o mesmo que um signo, o tipo é o significante de uma referência, impondo significado ao objeto denotado.
Para o programa, o tipo impõe constrições sobre as manipulações possíveis ou válidas desse objeto. Em linguagens como C++, a diferenciação dos tipos permite a seleção de uma entre diversas operações possíveis de modo particularmente significativo para o objeto referenciado.
Naturalmente, programas podem formar diversas referências ao mesmo objeto, o que causa diversas dificuldades à especificação do significado de um programa como um todo e atrapalha ferramentas de transformação de código -- o "problema de aliasing".
A especificação da máquina abstrata que determina o significado de um programa deve responder de algum modo a questão: suponha uma referência a cujo tipo é A e uma referência b cujo tipo é B onde ambas denotam o mesmo objeto; suponha que um programa escreva um valor válido através de a e então leia um valor através de b; qual é o significado desse programa para A e B arbitrários?
Linguagens de tipagem fraca frequentemente realizam conversões auto-mágicas internamente de modo que o programa acima sempre possui um significado compreensível. C++ dirá que o programa acima possui em geral um significado indefinido.

0 comentários:
Postar um comentário