Programar em C/Por que aprender a linguagem C: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição
Wbrito (discussão | contribs)
Sem resumo de edição
Linha 1:
{{TopNav|up=Índice|next=História da linguagem C}}
 
{{revisão}}
 
'''C''' é uma das linguagens de programação mais populares para se escrever [[w:Sistemas Operacionais|sistemas operacionais]], como o [[w:Microsoft Windows|Microsoft Windows]], o [[w:Mac OS X|Mac OS X]] e o [[w:GNU/Linux|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 [[w:Linux (kernel)|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.
Linha 9 ⟶ 11:
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...
 
{{esboço}}
[[Categoria:Programar em C|P]]