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!).
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):
Outro ranking de linguagens importante, o índice PYPL, coloca a linguagem C como a 5ª mais usada no mundo, combinada com a linguagem C++:
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?”:
O que dizer,………simplesmente,…..ÓTIMO,…..MEU AGRADECIMENTO, POR TODO CONTEUDO .
Obrigado Ronaldo!