image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Isabela Barbosa
Isabela Barbosa13/10/2022 16:49
Compartilhe

O uso de conceitos de semântica dentro da linguagem de programação

    Olá, pessoal! Esse é meu primeiro artigo aqui na plataforma. Enquanto estava assistindo uma das aulas da instrutora Juliana Mascarenhas sobre Análises de Código tive alguns “insights” que pensei em compartilhar.

    Apesar de ter iniciado minha jornada em programação há pouquíssimo tempo, já tenho formação prévia em linguística aplicada – mais especificamente na área de tradução. Alguns conceitos apresentados durante a aula, mais especificamente os conceitos relacionados à significante e significado dentro do campo da semântica, trouxeram-me lembranças da época da faculdade. Lembrei-me, também, que o assunto em questão causava muita confusão entre os alunos. Afinal, qual era a diferença entre significante e significado? Quando um começa e quando o outro termina? Decidi, então, falar um pouco sobre isso.

    Como a instrutora Juliana Mascarenhas brilhantemente explica durante a aula, a semântica é o estudo do significado e sua relação com significantes. Isso se aplica a qualquer linguagem, desde linguagens humanas até linguagens de programação. De acordo com Émile Benveniste, um notório linguista francês, a linguagem é um sistema de signos (símbolos e sons de linguagem) socializados. Isso quer dizer que qualquer palavra que dissermos não tem significado algum se estiver “solta”, fora de contextos específicos, pois as letras e sons em si não possuem, de fato, um significado relevante.

    O significante é um elemento tangível e perceptível, material. É o que dá significado as palavras que proferimos. O significado, por sua vez, é o conceito abstrato atrelado ao significante. Uma frase que minha professora muito dizia durante as aulas para explicar esse conceito era: “A palavra cadeira não é uma cadeira”.

    Quando você lê ou escuta a palavra “cadeira”, automaticamente pensa no objeto ao qual associamos com ela. Isso porque você fala português, e o seu “HD” teria, então, a informação necessária para decifrar essa mensagem. Porém, a mesma palavra pode não ter significado algum para quem não fala português ou até mesmo ter outro significado completamente diferente. Também existem casos de confusão contextual, quando determinados significados são atribuídos a mais de um significante dentro de uma mesma linguagem. Um exemplo disso é a imagem que utilizei como capa do artigo, na qual podemos observar que a palavra "planta" pode ser associada a diferentes contextos.

    Ou seja, dentro da programação um erro de semântica é um erro no qual você pode até ter inserido um significante existente, como uma letra, comando ou símbolo, mas que, naquele contexto específico, não tem nenhuma conexão lógica com o significado esperado. É como se você estivesse conversando com um amigo sobre o clima e, do nada, ele dissesse alguma palavra solta aleatória como “pisos”. A palavra “pisos” existe e você consegue compreendê-la, mas dentro da conversa que vocês estavam tendo, dentro do contexto, ela simplesmente não se encaixa.

    Como também comentado durante a aula, é um erro bem mais trabalhoso de se localizar e corrigir do que um erro de sintaxe, por exemplo. Isso porque um erro de sintaxe é, comumente, acusado pelo sistema, vez que é um erro claro de estrutura e, então, o computador consegue identificá-lo. Já no caso do erro semântico, podemos perceber que um determinado programa não funciona, porém não há explicação determinada para isso. A falta de detecção clara por parte do computador deve-se ao fato de você ter adicionado algo ao código que existe dentro da linguagem, mas que não faz o que deveria, porque está fora do contexto aplicado. 

    Logo, para obtermos o que esperamos de um código, precisamos pensar não somente nos símbolos e comandos que pertencem à linguagem de programação escolhida, mas também no contexto em que vão se conectar ao todo, e, assim, produzir o resultado esperado.

    Compartilhe
    Comentários (2)

    OM

    Otávio Mesquita - 14/10/2022 09:20

    Muito interessante a observação e comparação entre a linguística humana com a linguagem de programação

    FS

    Filipe Silva - 13/10/2022 18:53

    Gostei