Tutorial C - Parte 04 - Por que aprender a linguagem C?
C é
uma das linguagens de programação mais populares para se escrever sistemas operacionais, como o Microsoft Windows, o Mac OS X e
o GNU/Linux.
Sistemas operacionais comunicam-se diretamente com o hardware; não há nenhuma
camada mais baixa para mediar seus pedidos. Originalmente, os sistemas
operacionais eram escritos na linguagem Assembly, o que resultava em um código
muito rápido e eficiente. Entretanto, escrever um sistema operacional em
Assembly é um processo tedioso (lento), e produz um código que funcionará
somente em uma arquitetura de CPU, tal como o Intel x86 ou AMD64. Escrever um
sistema operacional em uma linguagem de alto nível, tal como C, possibilita que
os programadores readaptem o sistema operacional a várias arquiteturas sem
precisar reescrever todo o código. O núcleo
(kernel) Linux é um exemplo de sistema operacional escrito em C, com
apenas algumas seções do código escritas em Assembly, para poder executar
instruções que só existem em uma ou outra arquitetura e para algumas
otimizações.
Mas
porque C e não Java ou Basic, ou ainda Perl? Linguagens como o
Java ou Perl são linguagens a base de bytecode interpretado por uma maquina
virtual sendo assim não é um código interpretado diretamente pelo processador.
Ao contrário de muitas linguagens de programação, o C permite ao programador
endereçar a memória de maneira muito parecida como seria feito em Assembly.
Linguagens como o Java ou o Perl fornecem mecanismos que permitem que o programador
faça o seu trabalho sem se ter de preocupar com a atribuição de memória ou com
apontadores. Geralmente isso é bom, uma vez que é bastante tedioso lidar com a
alocação de memória quando escrevemos aplicações com algoritmos de alto nível.
No entanto, quando lidamos com tarefas de baixo-nível como aquelas que um
núcleo (kernel) tem obrigação de desempenhar, como a de copiar um conjunto de
bytes para uma placa de rede, torna-se altamente necessário um acesso direto à
memória ― algo que não é possível fazer apenas com Java. C pode ser diretamente
compilado em código de maquina, que é rápido e eficiente.
Será uma surpresa que C seja uma
linguagem tão popular?
Como
num efeito dominó, a próxima geração de programas segue a tendência dos seus
ancestrais. Sistemas operacionais desenvolvidos em C sempre têm bibliotecas de
sistema desenvolvidas em C. Essas bibliotecas são usadas para criar bibliotecas
de programa (como OpenGL ou GTK), e seus desenvolvedores geralmente decidem
usar a mesma linguagem das bibliotecas de sistema. Desenvolvedores de aplicação
usam bibliotecas de programa para desenvolver processadores de texto, jogos,
tocadores de mídia, etc. Muitos vão decidir trabalhar com a mesma linguagem que
a biblioteca foi escrita. E assim o processo continua...
Seja o primeiro a comentar
Postar um comentário