Obra: Programar em C/Por que aprender a linguagem C
em uma era onde software está cada vez mais presente no nosso dia dia importante ter algumas bases de programação para tanto importante ter um bom material com explicações claras exemplos livro programar em se presta bem ao exercício mas por que não java ou basic ou ainda perl linguagens como java ou perl são linguagens base de bytecode interpretado por uma máquina virtual sendo assim não um código interpretado diretamente pelo processador ao contrário de muitas linguagens de programação permite ao programador endereçar memória de maneira muito parecida como seria feito em assembly linguagens como java ou perl fornecem mecanismos que permitem que programador faça seu trabalho sem ter que se preocupar com atribuição de memória ou com apontadores geralmente isso bom uma vez que bastante trabalhoso lidar com 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 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 com java pode ser diretamente compilado em código de máquina por isso rápido eficiente além disso permite personalizar como implementar cada coisa ao básico como alocação de memória permitindo adaptações para melhorar desempenho vale lembrar que os softwares interpretadores de script ou bytecode como java python são escritos em linguagens como será uma surpresa que seja uma linguagem tão popular como num efeito dominó próxima geração de programas segue tendência dos seus ancestrais sistemas operacionais desenvolvidos em sempre têm bibliotecas de sistema desenvolvidas em essas bibliotecas são usadas para criar bibliotecas de programa como xlib opengl ou gtk seus desenvolvedores geralmente decidem usar 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 mesma linguagem que biblioteca foi escrita assim processo continua uma das linguagens de programação mais populares para se escrever sistemas operacionais como microsoft windows mac os gnu linux sistemas operacionais comunicam se diretamente com hardware não há nenhuma camada mais baixa para mediar seus pedidos originalmente os sistemas operacionais eram escritos na linguagem assembly que resultava em um código muito rápido eficiente entretanto escrever um sistema operacional em assembly um processo tedioso lento produz um código que funcionará somente em uma arquitetura de cpu tal como ou arm escrever um sistema operacional em uma linguagem de alto nível tal como possibilita que os programadores readaptem sistema operacional várias arquiteturas sem precisar reescrever todo código núcleo kernel linux um exemplo de sistema operacional escrito em com apenas algumas seções do código escritas em assembly para poder executar
operacional escrito em com apenas algumas seções do código escritas em assembly para poder executar instruções que só existem em uma ou outra arquitetura para algumas otimizações