Este texto está desatualizado e em processo de ser atualizado

Vamos ao começo…

Inaugurando os assuntos no blog, pelos próprios primórdios da minha experiência com programação. Já faz quase 3 anos… embora nos tempos escolares eu tenha tentado me interessar pela linguagem Ruby no fatídico RPG Maker XP, eu era muito inexperiente na época e não entendia simplesmente nada do que estava acontecendo ali.

Quando entrei na faculdade em 2008 tudo mudou, tive ótimas aulas de programação e fui exposto a duas linguagens: C e Scheme. Na primeira eu aprendi a programar, na segunda eu aprendi a ser um melhor programador.

A minha dica pra você que está querendo começar a programar e realmente se interessa por como os computadores funcionam é começar com o C. A primeira experiência com a linguagem pode ser traumatizante para muitos e com razão! Entretanto vou dar aqui uma apresentação dela e dizer porque aprendê-la pode ser bom para os iniciantes.

A linguagem de programação C tem um design relativamente simplista, o “cerne” da linguagem é bem enxuto e o resto das funcionalidades é adicionado por bibliotecas. Você só paga pelo que você usa, uma filosofia que vem no embalo do ponto anterior. Não existem checagens durante execução, gerenciamento de memória e algumas das regalias de outras linguagens mais complexas e, ao mesmo tempo que isso ajuda na performance, também deixa vários furos na segurança e robustez dos programas quando usada por progamadores não muito cuidadosos. Considerando que apenas “programador não muito cuidadoso” é sinônimo de “programador” já se pode entender o porquê de muitas pessoas erguerem todas as suas sobrancelhas disponíveis ao verem um programa escrito em C.

As construções usadas para programar são de relativo “baixo-nível”, isso quer dizer, para programar você tem que se preocupar por vezes com detalhes da máquina que você está usando, o sistema operacional que está rodando e isto pode ser bem didático. No entanto isto também dificulta vários tipos de tarefas mais complexas e vai de encontro com o princípio importantíssimo da portabilidade, algo que você como iniciante provavelmente não irá sentir falta mas não deve esquecer que existe.

Além disso o C é uma linguagem cosmopolita e bem madura. Com mais de cinquenta anos de bagagem é fácil achar documentação, livros e pessoas com os mesmos problemas que você pela internet.

Pra resumir, considere isto:

  • Por ser simples não fica no caminho do raciocínio e dos conceitos básicos de programação estruturada (talvez com a exceção de alguns vários detalhes)
  • Por ser baixo nível faz a pessoa entender os conceitos de hardware e sistema operacional (embora limite-a a fazer programas simples no início)
  • Por ser madura oferece muito material de consulta.
  • Quando você partir pra outra linguagem você provavelmente será um melhor programador.
  • As chances de que venha a ser útil para você é grande. Recentemente C reconquistou a posição de linguagem mais popular no mundo segundo o índice TIOBE (embora isso se deva mais ao declìnio dos competidores).

Minha experiência

Disso eu resumo pra vocês: C é uma linguagem levemente cretina. Fácil de aprender e difícil de dominar é a descrição mais apropriada, porém eu acredito que uma pessoa que está realmente interessada em adquirir bastante experiência de programação pode se beneficiar muito desse tipo de estudo.

No início da minha vida acadêmica eu gostei bastante de C, mas com o choque de aprender outras linguagens mais alto nível comecei a deixá-la de lado… porém o tempo me mostrou que ele é uma linguagem muito sólida e útil. Hoje ela é uma de minhas preferidas e eu já a usei e uso em muitos projetos.

Para começar

Se você não tem nenhuma base, recomendo que você baixe a IDE Code::Blocks. Caso você esteja usando windows baixe a versão que vem junto com o MinGW (a mais pesada). Instale o programa e abra o editor e tente rodar o famoso olá mundo:

/*
	Hello World na linguagem C
*/

#include <stdio.h>

int main()
{
	printf("Hello Worldn");
	return 0;
}

Para syntax highlight e copypasta: http://linesocode.pastebin.com/mUGyUjJw

Referências

  • Neste mesmo horário e blog teremos um curso bem rápido, prático, divertido e aerodinâmico da linguagem C.
  • cppreference: Para consultar funções das bibliotecas padrão
  • Tips and Tricks: ótimas dicas para programadores C de todos os níveis
  • Wikipedia: para se informar um pouco sobre a história da linguagem.

Deixem feedback, dúvidas, sugestões, correções e agressões nos comentários : )

Você provavelmente curtirá: