A linguagem C, desenvolvida em 1978 por Dennis Ritchie, é a linguagem mais usada para a programação nos últimos anos. O site tiobe possui um índice das linguagens mais usadas desde 2001. O índice do mês de setembro de 2013 mostra o seguinte:
Ela também é talvez a linguagem mais popular em sistemas embarcados. Mas por que ela é tão popular? Dentre várias características positivas podemos destacar:
- Possui poucos comandos (44 no padrão C11) e é relativamente simples de entender e aprender
- Existem compiladores C portados para a maioria dos processadores
- É uma linguagem poderosa que gera códigos eficiêntes
Sabe-se que arquiteturas diferentes não possuem o mesmo conjunto de instruções. Sendo assim, para que seja possível otimizar e gerar códigos mais eficientes para cada arquitetura, o padrão C, dá uma certa liberdade para os compiladores decidirem o que implementar em casos em que não temos um comportamento único para as arquiteturas.
Um exemplo simples é a divisão por zero.
int division_dumb(int a, int b)
{
return a/b;
}
if (arg2 == 0)
ereport(ERROR, (errcode(ERRCODE_DIVISION_BY_ZERO),errmsg("division by zero")));
/* No overflow is possible */
PG_RETURN_INT32((int32) arg1 / arg2);
Neste exemplo, a mensagem “division by zero” nunca irá aparecer mesmo se arg2 = 0. Isso acontece porque o compilador conclui que se arg2 é igual a zero, a divisão em
sempre resultará num comportamento indefinido. Então neste caso o compilador decidiu por si só optimizar o código de forma que essa parte só execute quando arg2 é diferente de zero e não gerar o código para a chamada da função ereport.










Interessante que se fosse C++ “ereport()” poderia gerar uma excecao(throw) e o codigo seria perfeitamente correto porque nao executaria a divisao por 0.
linguagem C ainda é muito usada, muito boa, mesmo sendo antiga.