Aspectos de programação

Tipagem de dados

As linguagens de programação podem ser discutidas sob diversos aspectos. O suporte a paradigmas de programação talvez seja um dos aspectos mais observados, mas há outras características a se discutir quando se deseja escolher uma linguagem de programação para desenvolver um sistema.

Como já sabemos desde AED 1, as variáveis armazenam alguns tipos de dados. Entretanto, a maneira como as linguagens de programação lidam com esses tipos de dado podem variar. Vamos às abordagens:

Tipagem fraca

Em linguagens de tipagem fraca, o sistema de tipos é menos restritivo e permite conversões automáticas entre diferentes tipos de dados sem que o programador tenha que realizar conversões explícitas. Isso pode aumentar a flexibilidade e reduzir o código necessário para certas operações, mas também pode levar a erros sutis e difíceis de detectar. Por exemplo, em JavaScript (uma linguagem de tipagem fraca), é possível somar números e strings sem conversão explícita:

var resultado = "O total é " + 5 + 10; // "O total é 510"`

Neste exemplo, o JavaScript converte automaticamente os números em strings para realizar a concatenação, o que pode não ser o comportamento esperado pelo desenvolvedor.

Tipagem forte

Linguagens de tipagem forte, por outro lado, são mais rigorosas em suas regras de tipo. Elas geralmente requerem que o programador faça conversões explícitas entre tipos incompatíveis, o que ajuda a prevenir erros. Isso garante que o código tenha um resultado mais previsível e menos propenso a erros de tipo em tempo de execução.

Python é um exemplo de linguagem com tipagem forte:

numero = 5
texto = "O número é " + str(numero)  # Necessário converter explicitamente o número para string
print(texto)  # "O número é 5"

Em geral, C tem muitas características de uma linguagem com tipagem forte. Segundo Robert W. Sebesta (2011), no livro "Conceitos de Linguagens de Programação", o recurso de Union implica a não adequação da linguagem a essa categoria.