C: a linguagem de programação que está em tudo o que você usa

Se você conhece alguma coisa de programação, já deve ter ouvido falar na linguagem C. Mas o que se pode fazer com ela? Seu jogo favorito certamente não é programado em C, nem os aplicativos do seu celular. Ainda assim, há quem diga que ela é a linguagem mais utilizada no mundo. Sabe por quê?

Porque o seu sistema operacional provavelmente foi programado em C, assim como boa parte dos seus drivers. Se não completamente, no mínimo parcialmente.

Características da linguagem C

As principais características da linguagem C, e que a definem, são: portabilidade, modularidade, recursos de baixo nível e simplicidade. Além disso, ela é uma linguagem imperativa de uso geral. Entenda o que tudo isso significa:

Portabilidade: pode ser compilada em diferentes arquiteturas, seja de hardware ou de software. É possível usar C no Mac ou PC, com Linux ou Windows. Isso pode parecer algo simples, mas na verdade nem todas as linguagens funcionam assim. Java, C++ e Python, por exemplo, também são linguagens altamente portáteis. C#, nem tanto. Como foi desenvolvida pela Microsoft, programadores têm de fazer vários rodeios para conseguir compilar um programa escrito em C# no Linux, por exemplo.

Modularidade: um programa em C é dividido em vários blocos de programação distintos, ou seja, funções que não estão interligadas. Assim, no momento em que a sua função é fechada, aquilo que você escreveu não vai afetar os blocos seguintes - a não ser que seja chamada, é claro.

Recursos de baixo nível: C é uma ótima linguagem para sistemas operacionais porque, além de eficiente, tem muitos recursos para controlar a memória da sua máquina. Além disso, ela permite acesso ao microprocessador, permitindo a chamada de rotinas em Assembly.

Simplicidade: a sintaxe de C é relativamente fácil de aprender e, desde que você siga as regras, dificilmente vai cometer erros que possam comprometer o seu programa. Além disso, o compilador lhe avisará da maior parte dos erros de sintaxe que você cometer e dará dicas para você corrigí-la.

Linguagem Imperativa: em C você usa funções que modificam o estado do programa. Elas são divididas em blocos e você as chama diretamente.

Uso geral: embora não seja, obviamente, a melhor escolha para todas as aplicações, você pode fazer quase qualquer coisa com C.

Usos do C

Sim, C é uma linguagem de uso geral, mas obviamente cada tipo de aplicação tem a sua escolha ideal de linguagem. No caso de C, o melhor uso dela é feito em programas que lidam diretamente com hardware, como um sistema operacional ou um driver.

O Linux, por exemplo, foi completamente escrito em C, decisão inclusive defendida por Linus Torvalds. Quando perguntado por que ele não utilizou C++ em algumas partes do sistema, ele respondeu:

"Em outras palavras: a escolha de C é a única escolha sã. [...] Eu cheguei à conclusão de que qualquer programador que preferiria que o projeto fosse feito em C++ ao invés de C provavelmente é um programador que eu quero longe, assim ele não vem e estraga qualquer projeto em que eu esteja envolvido".

A resposta dele foi mais um ataque ao C++ do que uma defesa do C ("Francamente, mesmo que a escolha de C fosse para 'nada' além de manter os programadores de C++ fora, então essa já seria uma grande razão para usar C"), mas, no mínimo, mostra que ele parece bem certo de sua decisão.

Por que aprender C?

Não é porque o criador do Linux disse que C++ é ruim que você não deveria aprender essa linguagem também. Até por que a maioria das pessoas não aprende a programar para criar um sistema operacional.

Acontece que C é uma ótima linguagem para programadores iniciantes. Não apenas porque a sintaxe é simples, mas porque C influenciou a maioria das linguagens mais utilizadas hoje em dia. Depois de aprender C, você vai ver que ela tem muitos pontos em comum com Java, Javascript, Shell e PHP, por exemplo, além de todas as linguagens que são C-alguma coisa (C++, C#, Objective-C, etc).

C é uma linguagem antiga. Foi criada em 1972, mas isso não quer dizer que ela é desatualizada, ou velha demais. Quer dizer que teve bastante tempo para ser melhorada e assimilada pelo mercado, além de ter influenciado as principais linguagens que vieram depois dela.

Muitos cursos técnicos e de Ciências da Computação iniciam os alunos na programação através da linguagem C. Então, se você quer entrar nessa área, é um ótimo jeito de começar. Diversas apostilas (em português) estão disponíveis na web e foram criadas por professores universitários. Entre elas, destacamos o Curso de Linguagem C, da UFMG, e Introdução à Linguagem C, do Cenapad/Unicamp, que são ótimas.

E se você não sabe que ambiente de programação utilizar, pode começar com o CodeBlocks. Ele é grátis, fácil de usar e foi desenvolvido especialmente para iniciantes. Ele também suporta C++ e Fortran. Boa sorte!

Leave a comment