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
m recat
Linha 1:
{{emtraducao2}}
Os [http://pt.wikipedia.org/wiki/Sistema_operacional Sistemas Operacionais] mais populares são hoje o Microsoft Windows, o Mac OS X e o GNU/Linux. Cada um é escrito em C. Porque? Porque os Sistemas Operacionais funcionam 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 sem reescrever a coisa inteira.
 
Tudo bem. Mas porque 'C' e não Java ou Basic ou Perl? Principalmente devido à atribuição de memõria. Ao contrário de muitas linguagens de programação, o C permite ao programador endereçar a memória tal como o faria 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 algoritrmos de alto-nível. No entento, quando lidamos com tarefas de baixo-nível como aquelas que um 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 directo à memória -- Algo que não é possível fazer apenas com Java. Além disso, um compilador de C permite também produzir código máquina rápido e eficiente, nalguns casos com possibilidade de optimizar.
 
<!-- So is it any wonder that C is such a popular language?
 
Like toppling dominoes, the next generation of programs follows the trend of its ancestors. Operating Systems designed in C always have system libraries designed in C. Those system libraries are in turn used to create higher-level libraries (like OpenGL, or GTK), and the designers of those libraries often decide to use the language the system libraries used. Application developers use the higher-level libraries to design word processors, games, media players, and the like. Many of them will choose to program in the language that higher-level library uses. And the pattern continues on and on and on... -->
<p>&nbsp;</p>
----
Linha 13 ⟶ 14:
[[Programar em C: Indice|Voltar ao Indice]] | [[Programar em C: História da Linguagem C|História da Linguagem C]]
</div>
[[Categoria:Programar em C|P]]
[[Categoria:Informática]][[Categoria:Programação]][[Categoria:Software]]