C: Programar é uma arte

C é uma linguagem de programação de baixo nível. Por essa natureza, ela te dá muito mais liberdade ao codificar, e não lhe dá tantos recursos padrões como outras linguagens, remetendo muitas vezes a pensamentos na linha “uma linguagem para programadores iniciantes”, “uma linguagem que não permite a construção de um bom projeto” ou ainda “uma linguagem que não possui recursos”. Ela já foi até mesmo considerada uma linguagem de programação amadora no nosso passado, onde no topo das linguagens de programação estava o glorioso FORTRAN. Esses pensamentos são os mais errados que se pode ter sobre C.

Por ser uma linguagem que te dá mais liberdade para codificar, ela não serve para programadores iniciantes; A liberdade que C provém ao programador deve ser usada com o maior cuidado possível. Escrever um código legível em Java é o básico, agora escrever um código legível em C muitas vezes é uma arte. É exatamente essa arte que um programador precisa dominar em C para ter um código de qualidade, e esse talento só se dá programando. E não programando somente em C, mas programando em muitas linguagens. Quanto mais diferentes essas linguagens, melhor. Ninguém quer ler um código escrito em C por um programador amador; ele é horrível e obscuro. Logicamente, quando se tem um projeto para ser escrito nessa linguagem, se procura os melhores programadores disponíveis.

Nessa parte, geralmente surge as brilhantes perguntas “Mas outras linguagens não requerem tanto dos programadores. Por que programar em C?”. A resposta a essa pergunta é um tanto óbvia. Pense na linguagem que você acha que seria melhor de ser usada do que C, e reponda a segunte pergunta: “Em que linguagem foi implementado o interpretador/compilador da linguagem que pensei?”. Obviamente, para várias tarefas, uma linguagem de maior nível de abstração é preferida, mas nem para todas as tarefas podemos nos dar ao luxo de programar em linguagens de alto nível; e é para essas tarefas, menos numerosas na vida real, que mais precisamos nos preocupar com a qualidade do código – e consequentemente, a qualidade do programador.

O mais intrigante na minha opinião é a afirmação que C não permite desenvolver bons projetos, modulados e concisos. Pois, C é uma linguagem de baixo nível. Tudo o que tu pode fazer nas outras, tu também pode fazer em C (ou emular o comportamento delas). O fato é que a produtividade de realizar um projeto em C é realmente muito menor do que realizar em outra linguagem, pois várias vezes tu tem que implementar coisas que já existem de uma forma ou de outra. Porém, com isso tu ganha performance, o que pode ser crucial dependendo da aplicação. Se desenvolver um código legível em C já é uma arte, para fazer um projeto modulado e bonito, então, nem se fala. É exatamente essa arte que faz brilhar os olhos de muito programador bom. Você ainda pode pensar “Programa bem modulado em C não existe”. Pense de novo.

O mais facilmente refutável é exatamente o pensamento “C não tem muitos recursos”. Por ser uma linguagem antiga, considerada padrão para baixos níveis, em projetos que envolvam baixo nível você pode (e vai) encontrar *muita* coisa pronta em C. Algumas com a possibilidade de fechar o código (projetos que usam licença BSD e MIT, por exemplo), e muitas outras licenciadas para open source.

Alguns livros indicados para quem gostaria de aprender/se aprofundar em linguagem C podem ser encontrados aqui. Tirei esse link do canal de irc #C, no servidor freenode, que por sinal, é muito bom :)

Compartilhe:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Identi.ca
  • MyShare
  • Slashdot
Tags: , ,

One Response to “C: Programar é uma arte”

  1. Ribacki Says:

    Tri! =D
    Espero que futuramente possa postar sobre features específicas da linguagem e dar sugestões de libs ou pacotes que facilitem a vida de um reles mortal tentando fazer um código bom.
    Abraços! o/

Leave a Reply