Vale a pena aprender linguagem C atualmente (2012 / 2022)?

Vale a pena aprender a programar em linguagem C atualmente?

Eis uma pergunta bastante interessante feita diversas vezes pelos assinantes do canal da Bóson Treinamentos no YouTube:

Com tantas linguagens modernas e foco em Web, para que aprender uma linguagem tão antiga, difícil e com poucos recursos como a linguagem C?

Será que é importante aprender C nos dias de hoje? Ou será perda de tempo? Vou tentar responder a essa pergunta neste artigo. Caso prefira ver (e ouvir) minha opinião em um vídeo, vá para o final do post e assista ao material postado no YouTube há algum tempo.

Um pouquinho de história da linguagem C

Primeiramente vamos entender de onde veio essa linguagem de programação. A linguagem C foi desenvolvida nos laboratórios Bell pelo cientista da computação Dennis Ritchie, no final de 1972, com o intuito de criar utilitários para rodar no sistema operacional Unix, que fora desenvolvido poucos anos antes. Acabou sendo usada para reescrever o próprio kernel do Unix na época (que havia sido criado originalmente na linguagem Assembly – pelo próprio Ritchie!).

Dennis Ritchie - o criador da Linguagem C e do sistema operacional Unix

Dennis Ritchie – o criador da Linguagem C e do sistema operacional Unix

Criada em 72? Realmente, a linguagem é antiga (em termos da ciência da computação). Porém, a linguagem é “atualizada” de tempos em tempos, com a implementação de alterações para melhorias e inclusão de novos recursos, e o padrão atual da linguagem é chamado de C17, publicado em dezembro de 2018, portanto é recente.

A linguagem está tão viva e bem que uma nova revisão do padrão será publicada a partir do final desse ano (prevista para dezembro de 2021), possivelmente no começo de 2022.

Certo. Então a linguagem, apesar de antiga, ainda é atualizada constantemente. Quais seriam então algumas de suas características principais?

Características da linguagem C

Vejamos algumas características técnicas da linguagem C. Ela é uma:

  • Linguagem de propósito geral (pode ser empregada para desenvolver qualquer tipo de aplicação)
  • Combina características de linguagens de alto nível com linguagens de baixo nível.
  • Procedural e estruturada
  • Emprega tipagem estática
  • Fornece acesso de baixo nível à memória e outros recursos de hardware
  • Possui estruturas para mapeamento de instruções em linguagem de máquina
  • Faz uso extensivo de ponteiros
  • Possui uma grande biblioteca de rotinas disponível
  • Código contido em subrotinas – as chamadas funções (é estruturada).
  • Suporta programação para interface gráfica
  • É importante notar que C NÃO é uma linguagem orientada a objetos – para tal foi criada a linguagem C++, que traz esses recursos. Existem extensões que permitem que se usem recursos de orientação e objetos em C.

A linguagem C inspirou e deu origem a muitas das linguagens de programação existentes hoje, como: C++, C#, Go, Java, JavaScript, Julia, Python, Ruby, Rust e muitas outras.

Vantagens da linguagem C

Quais seriam as vantagens de usar C em relação a outras linguagens de programação mais modernas? Existem várias vantagens. A seguir destaco algumas delas:

  • Velocidade. Como possui estruturas de acesso direto ao hardware, produz software extremamente rápido.
  • Código compacto e portável para inúmeras plataformas (praticamente todas as existentes)
  • Linguagem de propósito geral, usada para basicamente tudo: aplicações desktop, para servidores, bancos de dados, jogos, aplicações gráficas, programas para cálculos intensivos, computação científica, etc.
  • Recomendada para desenvolvimento de sistemas embarcados e programação de microcontroladores, aplicações nas quais o tamanho do programa, gerenciamento dos recursos de hardware e tempo de resposta são cruciais.
  • Amplamente recomendada para escrever aplicações que executem operações de baixo nível, como acesso direto à memória, registradores ou disco.
  • Ótima linguagem para aprendizado de programação avançada, como estruturas de dados e técnicas gerenciamento de recursos, sendo comumente ensinada em cursos de nível superior.

Como desvantagens posso citar a curva de aprendizado, que pode se tornar íngreme conforme o estudante passa para níveis intermediário e avançado, e a dificuldade em se criar determinados tipos de aplicações, devido à ausência de bibliotecas especializadas para determinadas funções – o que não é um problema tão grave, se lembrarmos que a linguagem C, apesar de se uma linguagem de propósito geral, é recomendada para alguns nichos específicos na verdade – que veremos mais à frente.

Rankings de uso da linguagem C

E como está o uso da linguagem C hoje em dia? Vejamos alguns rankings:

De acordo com o Índice TIOBE, a linguagem C é a linguagem mais mepregada no mundo atualmente (julho / 2021):

Índice TIOBE de linguagens de programação - Julho de 2021

Índice TIOBE de linguagens de programação – Julho de 2021

Outro ranking de linguagens importante, o índice PYPL, coloca a linguagem C como a 5ª mais usada no mundo, combinada com a linguagem C++: 

Índice PYPL de linguagens de programação - Julho de 2021

Índice PYPL de linguagens de programação – Julho de 2021

Apesar de esses rankings não serem estudos “oficiais”, eles servem para mostrar a preferência dos profissionais pelas diversas linguagens de programação existentes, e a alta procura pela linguagem C é um claro indicativo de sua importância nos dias de hoje, onde vem encontrando cada vez mais aplicação, principalmente nas áreas de microcontroladores, sistemas embarcados e Internet das Coisas.

Onde usamos a linguagem C

Onde eu posso usar C atualmente, afinal? Várias áreas da tecnologia se beneficiam do emprego de linguagem C no desenvolvimento de aplicações diversas. Entre elas podemos citar:

  • Programação de sistemas, drivers e sistemas operacionais. Por exemplo, o kernel do Linux (e também do Windows, Android e iOS) é feito em C.
  • Softwares para plataformas e ecossistemas diversos, desde supercomputadores a sistemas embarcados.
  • Programação Web, usando CGI (Common Gateway Interface)
  • Programação científica e com cálculo numérico
  • Microcontroladores, como as plataformas Arduino, Texas Instruments, ST Microelectronics, e outras, e aplicações diversas para IoT (Internet of Things / Internet das Coisas)
  • Construção de compiladores, bibliotecas e interpretadores para outras linguagens, como Python, PHP e Ruby, por exemplo.
  • Criação de algoritmos para Machine Learning (Aprendizado de Máquina) e Inteligência Artificial.

Entre outras.

Conclusão

Vale a pena aprender e usar a linguagem C?

Sim, totalmente!

É uma das linguagens mais empregadas para desenvolvimento no mundo, e que continua a crescer ano a ano, principalmente por conta de novas aplicações que demandam código rápido, seguro e com baixa demanda de recursos, como é o caso dos sistemas embarcados, dispositivos para IoT e sistemas críticos, como controladores para aviônica e para equipamentos médicos.

Mas tenha em mente o seguinte: para cada problema, uma solução. A linguagem C não é apropriada em muitos casos, onde simplesmente existem linguagens muito mais simples, focadas e planejadas para um nicho específico.

E como aprender linguagem C?

No canal da Bóson Treinamentos no YouTube temos um curso básico de linguagem C, que eu recomendo, e que pode ser acessado por meio do link a seguir:

Curso de Linguagem C da Bóson Treinamentos

ou ainda ser assistido diretamente aqui:

Bibliografia

Livros também são uma das melhores formas de aprendizado de programação, e abaixo trago uma pequena bibliografia selecionada com alguns dos melhores livros que eu indico sobre programação em C:

Básico em C:

  • Programando em C – Volume I – Fundamentos. Autor: Ulysses de Oliveira Editora: Ciência Moderna
  • C Programming for the Absolute Beginner. Autor: Michael Vine. Editora: Thomson (em inglês)

C Avançado:

  • Dominando Algoritmos com C. Autor: Kyle Loudon Editora: O´Reilly.

Do básico ao avançado em C (completo):

  • C: Como Programar. Autores: Deitel & Deitel. Editora: Prentice Hall

Conteúdo do artigo em vídeo

Caso prefira, assista ao vídeo “Vale a pena aprender linguagem C atualmente?”:

 

Sobre Fábio dos Reis (1370 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*