Não, este não é um post que ensina a programar em C nem mesmo é um tutorial on-line ou vídeo explicativo. Este post é para falar sobre uma das mais interessantes e notáveis linguagens de programação já criada (pelo menos em minha singular visão).
O nascimento da Linguagem C vaio da necessidade dos programadores de escrever programas que utilizem recursos internos de maquinas de uma maneira fácil e desenrolada, bem diferente da complexa Assembly.
A linguagem C é uma linguagem elegante por conciliar seu poder de programação de baixo nível com seu alto grau de portabilidade. E portabilidade no caso da linguagem, é o mesmo que dizer que a programação vai rodar em qualquer plataforma já desenvolvida até os dias de hoje.
Nos anos de 1983 até 1989 a linguagem sofreu algumas modificações, sendo iniciado um trabalho pelo Instituto de normas técnicas ANSI pela padronização da linguagem. Pela alta portabilidade e portabilidade da linguagem, foi assimilada por quase todos os tipos de computadores e equipamentos.
Foi criada a norma ANSI X3. 159-1989, definindo como padrão de fato, sendo adotado pela ISO com a norma ISO/IE 9899:1990, também conhecida como C89 e C90, após 1990.
Em 2007, uma nova versão revisada da linguagem foi chamada de C1X, porém até agora, o trabalho ainda continua.
Em um resumo bem objetivo, podemos entender que a linguagem C é derivada da ALGOL 68 e foi baseada em linguagem B de Ken Tompson. É importante lembrar que a linguagem C++ é orientada a objetos e foi desenvolvida por Bjarne Stroustrup.
Mas o foco principal deste post, é falar e comentar fundamentalmente a linguagem C. Prefiro deixar comentários e história relacionada a linguagem C++ para outro post.
A programação em C pode ser desenvolvida independente do sistema operacional, seja ele Linux, Unix ou Windows, desde que se tenha um compilador funcional. Me lembro quando fiz meu primeiro curso de Java na SUN. Me perdi completamente, pois cada passo era feito com o sistema operacional Solaris.
Demorei o dobro de tempo para poder assimilar o material, pois não entendia nada de Solaris, e naquele tempo o material realmente era bem escaço, o que nos dias de hoje já não acontece.
Para podermos usar um compilador, recomendo o GCC, que é uma ferramenta específica para desenvolvimento de software, distribuída pela GNU - (http://www.gnu.org).
Esse programa contém front-ends para linguagens de programação como C, C++, Objective-C, FORTRAN, Java e Ada.
Lógico que existem dezenas de compiladores muito bons e funcionais. Você pode escolher o que mais agradar rs... vai da sua realidade e preferência. Lembre-se que todo o desenvolvimento do código deverá ser ser compilado no programa final, e é preciso confiar no que esta sendo feito.
Tive em alguns momentos problemas com alguns compiladores que travavam no meio do trabalho. Uma verdadeira frustração rs... mas até que valeu a pena pois aprendi quais não estavam muito bons. Tive um colega de internet, que nunca vi pessoalmente, que estava desenvolvendo um compilador específico para C e C++. Assim que ficar pronto, com toda certeza vou querer testar.
É muito simples instalar o compilador em um Debian 4, bastando o comando apt-get install GCC.
Existe ainda um compilador chamado de DJGPP que é na verdade uma versão adaptada do GCC feita pelo desenvolvedor Eli Zaretskii para uso em sistemas Microsoft. Mas os amigos de geração Windows terão uma excelente surpresa, pois a versão lançada em 2009 não possuía uma interface gráfica, ou seja, todo o processo de baixa e execução devem ser feito manualmente rs... um grande desafio para quem esta acostumado com o famoso Next, Next, Next.
Se você for mais nostálgico que eu, deve estar usando um computador com MS-Dos 6.22 (eu realmente duvido, mas em fim). No seu caso, vai precisar ser bem mais simples, bastando acrescentar as variáveis de ambiente a um arquivo chamado autoexec.bat ou criar um .bat qualquer para ser executado durante o processo.
Use o código abaixo:
@echo off
set PATH=c:\djgpp\bin;%PATH%
set DJGPP=c:\djgpp\djgpp.env
cd c:\djgpp\estudo
Após escrever o código fonte usando um editor simples de texto, precisamos compilar dar vida ao programa.
No Windows ou no MS-Dos, use:
gpp [<fonte>] -o [<executável>]
No Linux use:
g++ [<fonte>] -o [<executável>]
Lembrando que os comandos podem variar um pouco de compilador para compilador, dai vai de você escolher seu favorito e mandar ver.
Programar em linguagem C não é complicado, mas é um pouco chato no inicio, mas para facilitar sua vida lembre-se sempre que o gerenciamento de dados deve ser feito em 3 níveis.
1) Entrada de Dados;
2) Processamento (transformação) dos dados em informação;
3) Saída de Informações.
Gerenciar dados nada mais é que executar instruções ordenadas de forma lógica para determinada ação. Um bom exemplo é uma programação que dispara uma sequência de pings para testar uma placa de rede, por exemplo. Tudo bem que nesse caso você precisa ter um bom conceito de redes e Infra para poder criar programas que façam testes ou descubram por exemplo, brechar em sistemas, falhas de roteamento ou até uma porta aberta em um Firewall.
O código é simples, porém pode acionar sistemas mais complexos que realizam atividades macro. Vá com calma e aos poucos vai pegar as manhas da programação e evoluir seu código no mesmo nível que evolui como profissional.
Bom... acho que por enquanto é só. Espero poder ter começado a inspirar alguns e sei que muitas pessoas que passeiam pela net verão esse post e por não terem figuram ilustrativas, passarão direto. Essa geração Y realmente perde coisas interessantes rs.. e graças a ela, nós da geração X teremos muito trabalho pela frente para os próximo 50 anos rs.
Grande abraço e sucesso.