Melhor resposta
Ótima pergunta!
A semântica na linguagem se refere a como o significado muda se a estrutura muda; no design, a semântica não depende da sequência (como na linguagem escrita ou falada), mas nos elementos e como estes interagem: material, tamanho, forma, textura, cor; todos eles fornecem pistas semióticas que permitem entender como interagir com um design específico.
Por exemplo, o uso de um determinado material pode fazer você pensar que um objeto é caro ou barato; a forma (tamanho, por exemplo) pode dar uma dica se for destinada a pessoas mais jovens ou mais velhas (pense, por exemplo, em blocos de construção de plástico, como lego). A posição de uma cadeira pode comunicar que é destinada à pessoa mais importante da reunião, e assim por diante.
Os designers devem levar em consideração todas essas informações sutis (e não tão sutis) para criar objetos com os quais as pessoas possam interagir, sem manuais ou envergonhadas por não saberem o que fazer.
Eu recomendaria explorar a teoria da cultura material.
Resposta
Sintaxe e semântica são partes da comunicação entre si e com outras entidades, como computadores.
Sintaxe refere-se ao arranjo gramatical das palavras e sinais de pontuação nas frases.
Semântica refere-se ao significado de palavras e sinais de pontuação que são organizados de uma forma sintaticamente aceitável.
Vamos considerar uma sintaxe correta ect exemplo que não pode, a princípio, ser semanticamente compreendido pelo nosso compilador Plain English, que considera uma frase para ser semanticamente compreendida quando pode ser reduzida a uma forma que um processador de computador Intel x86 pode executar.
O frase destacada neste programa…
… obviamente precisa ser trabalhada.
O problema é que o compilador não sabe o que é um“ cofrinho ”. Agora nós sabemos que um cofrinho tem muitas características (tamanho, forma, cor, etc.)…
… mas a única coisa que o programa precisa saber sobre um cofrinho é que ele pode conter dinheiro em várias quantias. Portanto, adicionamos uma definição simples ao longo dessas linhas (seta vermelha) e tentamos compilar nosso programa novamente:
Ratos! Ainda sem comunicação. Talvez devêssemos FALAR MAIS ALTO !!! Mas não, o inglês simples não diferencia maiúsculas de minúsculas. E espere … o erro mudou. Desta vez, acho que é a palavra “dólar” que o computador não entende. Então, explicamos “dólar conforme mostrado abaixo e tentamos compilar novamente:
Ratos novamente! Bem, vamos ver se podemos consertar isso adicionando uma frase dizendo ao compilador como pensar sobre centavos:
Et voila ! Desta vez, quando compilamos, somos compreendidos semanticamente e, quando executamos o programa, ele funciona (resultado do console mostrado abaixo):
Enquanto isso, por dentro…
Foi assim que a compreensão semântica daquela frase foi alcançada no cérebro do compilador.
• “10 dólares” foi reconhecido como um literal numérico seguido por uma unidade de medida e foi convertido em uma variável numérica com um valor de 1000 (10 dólares vezes 100 centavos por dólar).
• “Um cofrinho” foi entendido como uma solicitação de uma nova variável local do tipo “cofrinho” – que se reduz ao tipo base “número” – e o espaço para essa variável, inicializado em zero, foi alocado na pilha.
• A frase “Adicionar 10 dólares a um cofrinho” foi reduzida, internamente, apenas ao essencial desleixado – “Adicionar [dólares] em / em / a [cofrinho]” – onde as palavras em colchetes são nomes de tipo.
• Nenhuma rotina desse tipo foi encontrada no programa ou no “Noodle” – a biblioteca em inglês simples de úteis tipos dândi, variáveis e rotinas – então as variáveis foram reduzidas aos seus tipos básicos, uma de cada vez, com cada combinação sendo verificada para uma rotina de correspondência no caminho para baixo.
• No nível inferior – “Adicionar [número] em / em / a [número]” – um cabeçalho de rotina correspondente foi encontrado no Noodle. Eureka! Especificamente, o segundo cabeçalho desta rotina…
… cujo corpo foi escrito, como você pode ver, em uma linguagem que Os cérebros do Intel x86 podem entender (as instruções da linguagem assembler em azul são comentários).
• Assim, o compilador gerou as instruções Intel x86 necessárias para (a) enviar os endereços das duas variáveis na pilha e para (b) chame a rotina acima.
E é tudo para essa frase. O resto do programa foi compilado da mesma maneira.
Compreensão semântica.Um encontro de mentes.
E voila!