Comece a programar: A Linguagem de Programação C

O kernel, que é a base (ou miolo ou talo do sistema) de todo sistema operacional, é feito C.
Os drivers, que fazem tudo funcionar em seu computador, são feitos em C.
Os programas mais essenciais e que mais exigem desempenho são feitos em C.

Equipamentos eletrônicos, chips, microprocessadores e eletrodomésticos de nossa casa tem C no meio.
É e a linguagem mais usada, mais importante e muito provavelmente você não conhece ninguém que programe em C. Como pode?

O que é linguagem C? É difícil? Ainda se usa? Como começar a programar em C? Meu amigo disse que é ultrapassada e morta, é verdade? Ainda vale a pena estudar? Que programas são feitos em C? Onde se usa a linguagem C?

A linguagem de programação C

Se a palavra de ordem que define bem o Java é portabilidade, a da linguagem C é eficiência.

Os programas em C são pequenos e extremamente rápidos. Mais rápido que C, só em Assembly, programando direto no metal. A compilação em C faz com que o programa ocorra em níveis bem próximos do hardware, otimizando bastante a execução dos programas.
Programadores em C tem o total controle e acesso aos recursos do computador e do sistema operacional, podendo acessar e lidar com áreas do sistema que simplesmente são inacessíveis com outras linguagens de programação, como Java ou C#. Você tem acesso inclusive aos endereços de memória de seu computador.

Programação Progressiva - Linguagem de programação C, para que serve, onde é usada, é difícil, está morta? ainda vale a pena estudar? que programas são feitos C? que profissionais usam e ainda há mercado e empregos na área? Saibam porque ela é e sempre será a linguagem mãe.Porém, como diria o avô do homem-aranha, com grandes poderes vêm grandes responsabilidades.
A possibilidade de fazer besteira e bagunçar seu sistema programando em C é grande, pois como eu disse, você tem total domínio sobre sua máquina, nos mínimos detalhes. É bem fácil fazer um looping que trave seu sistema ou um arquivo que cresça indefinidamente e lote seu HD em poucos instantes, ou ainda apagar ou alterar qualquer arquivo de sistema.
Não é por coincidência que os grandes e melhores hackers criam aplicações em C.

Mas para ter todo esse poder em suas mãos não vai ser fácil: C é considerada uma das linguagens mais difíceis de se aprender. Talvez só não seja mais difícil que Assembly.
Mas não é pra menos, com tantas possibilidades e flexibilidade oferecida pelo C, você tem mesmo que estudar muito para ter total controle de como funciona seu computador e seu sistema.

Para você ter uma noção do poder da linguagem C, ela foi criada justamente para criar o sistema operacional Unix, o pai de todos os sistemas operacionais.
Hoje em dia, praticamente todos os sistemas operacionais e linguagens de programação usam a linguagem C totalmente ou na maior parte de seus códigos.

Ela foi criada por Dennis Ritchie, no final da década de 60 e começo da década de 70. Foi e é a linguagem utilizada por Linus Torvalds para desenvolver o Linux e seu Kernel, e também por Richard Stallman para criar os softwares livres do projeto GNU.
É de propósito geral, estruturada (não é orientada a objetos), imperativa e simples, o que permite que seja possível sua compilação em praticamente qualquer plataforma.

Ela tem uma flexibilidade incrível por meio de bibliotecas e permite a inclusão de códigos Assembly em códigos.
Tem foco no paradigma de programação procedural, vetores que crescem automaticamente e é muito segura.

Realmente não se vê muitos programadores de C aí, como se vê em Java. Pois há poucos mesmo.
Ela é muito usada em âmbito acadêmico, principalmente na Engenharia, pois é na Ciência que sua eficiência é mais utilizada.
Para aplicações mais simples e que não exigem muita velocidade, confiabilidade e estabilidade, é melhor procurar uma linguagem mais simples de programar.

Junto com Assembly, também é muito usada para programar em Hardwares, como Arduino, microcontroladores e outros, pois alguns destes possuem recursos limitadíssimos, tanto de processamento como em memória, onde só é possível programar em C ou em Assembly.

Como os profissionais são poucos, a dificuldade da linguagem é grande e o que é possível fazer com esta linguagem é fantástico, os salários tendem a ser, no geral, bem acima da média que os dos outros programadores.

Além de sistemas operacionais, do Kernel do Linux, das linguagens de programação, diversos setores do Google são feitos em C, e na sua linguagem 'extendida', o C++.
C também é muito usado em aplicações que envolvem segurança da informação, como aplicações militares e dos Ministérios das Defesa de diversos países, além de bancos e grandes empresas.
Junto com C++, diversos games, principalmente os mais modernos, usam C, pois exige máxima eficiência do hardware.

A grande maioria dos grandes projetos, em um momento ou outro, utilizam a linguagem C. Principalmente em 'gargalos'. O que são gargalos?
Quando não há necessidade de eficiência máxima, é óbvio que se faz uma aplicação em uma linguagem mais simples, onde se desenvolve com mais facilidade.
Com o passar dos testes, se nota alguns trechos do programa onde este começa a travar ou ficar muito lento. Neste momento, chama-se o mago da empresa, o programador C. Ele vai ficar responsável por programar em C aquele trecho específico, o gargalo, que está deixando o programa lento. Feito isso, passa a ocorrer tudo bem.
Pois por questão de tempo, e consequentemente dinheiro, não se faz tudo em C. Portanto, em grandes projetos, programa-se em C somente os gargalos.

Mozilla usa C, Chrome, MySQL, ThundeBird, Winamp, a Apple, boa parte do Windows...o mundo roda sob C.
É muito importante que em algum momento de sua vida você estude a linguagem C. É como tomar a pílula correta, sair da Matrix e ver o mundo como ele realmente é.

Gostei da linguagem C. Como começar a programar em C?

Nosso portal Programação Progressiva oferece diversas informações a respeito de programação.
Porém, cursos, artigos e tutoriais específicos são localizados em sites vertentes.

Para aprender a linguagem de programação C, conheça o C Progressivo:
www.cprogressivo.net/

Lá você terá acesso a um curso completo sobre a linguagem de programação C, além de se online.
No site C Progressivo você encontrará centenas de artigos, tutoriais, exercícios resolvidos e exemplos de códigos em C totalmente comentados.