50 anos história de C e porque esta ainda é relevante!

50 anos história de C e porque esta ainda é relevante!

A linguagem C é uma referência quando falamos de linguagem de programação! Muitos aprenderam como primeira linguagem, muitos a conhecem por suas linguagens filhas e muitos ainda fazem software em C profissionalmente.

include <stdio.h>
int main() {
   printf("Hello, C!");
   return 0;
}
Hello, C!

Neste artigo vamos descobrir o caminho nestes 50 anos de linguagem, desde a sua invenção, softwares importantes que foram feitos em C e porque ainda é uma linguagem muito influente mesmo agora em 2023!


Porque o C foi inventado?

Antes de falarmos de C, precisamos falar do UNIX. Na década de 1960, se necessitava de sistemas operacionais para grandes computadores. Um deles foi o UNIX criado na Bell Labs no time de Dennis Ritchie. A invenção do UNIX por tão importante que os sistemas operações modernos como o Linux e o MacOS foram inspirados no Unix. Porém, as linguagens de programação da época não ofereciam recursos necessários para se fazer adequadamente um Sistema Operacional.

Para se resolver o primeiro o problema, Dennis Ritchie e sua equipe criaram a linguagem de programação C, sendo arquitetada para programação de sistemas com eficiente gestão de memória e controle de execução. A influência foi tão grande que se tornou uma linguagem de uso de geral, indo para todas as possíveis aplicações de computação. Por isto, muitas linguagens de programação e seus runtime environments são feitos em C!

Ken Thompson e Dennis Ritchie.

C é uma linguagem fundadoras da educação em Ciências da Computação, geralmente sendo a primeira linguagem ensinada no curso para algoritmos e estruturas de dados.

Assim, muitos softwares, ferramentas e outras linguagens de programação foram feitas em C, ou seja, a base da computação moderna é toda feita em C!

Onde C é mais usado? E quais os softwares mais famosos?

Muitos softwares usados que são considerados base são feitos em C:

  • Sistemas Operacionais: O Linux é o caso mais famoso. Toda a API do SO é feita em C, logo, qualquer software que trabalha com o SO precisa usar as bibliotecas feitas em C. Partes do Microsoft Windows também é feito em C.
  • Bancos de Dados: Como gestão de memória e disco é algo importante em um banco de dados, precisamos de uma linguagem que precisa saber trabalhar neste nível. Exemplos de bancos de dados feitos em C: PostreSQL, MySQL, MariaDB, Redis e SQLite.
  • Runtime environments ou Máquinas Virtuais de linguagens: Linguagens de script precisam de um Runtime para rodar no SO, assim, C é a primeira opção para linguagens como Python tem o CPython, Ruby tem o YARN e o Java com a JVM.
  • Controle de versão: gênios fazem ferramentas para outras ferramentas. Assim como Dennis Ritchie, Linus Towards fez o controle de versão de código Git em C para poder gerenciar o código fonte do Linux.
  • Webservers: Webservers como Apache ou Ngnix conseguem processar muitas requisições por segundo servindo páginas para a web.
  • IoT e embarcados: com seu controle de memória, C é perfeito para trabalhar em cima de processadores com recursos limitados como Raspberry.
  • Engines de games: indústria de jogos para programação de sistemas e desenvolvimento de engines de jogos. Por exemplo, engines populares de jogos como o Unreal Engine, Unity e CryEngine foram desenvolvidos em C ou C++.


Candidatos a substitutos do C

C++: é uma linguagem de programação de alto nível que foi criada com o objetivo de expandir as capacidades do C, adicionando recursos de programação orientada a objetos, como herança e polimorfismo. Ela é frequentemente usada para programação de sistemas, desenvolvimento de jogos e desenvolvimento de aplicativos gráficos.

Rust: é uma linguagem de programação relativamente nova que foi criada com o objetivo de fornecer segurança e desempenho de alto nível. Ela é frequentemente usada para programação de sistemas, desenvolvimento de jogos e desenvolvimento de aplicativos Web. Rust é considerada uma alternativa moderna e segura ao C, pois oferece recursos como gerenciamento de memória seguro e prevenção de falhas de segurança.

D: é uma linguagem de programação moderna que é compatível com a sintaxe do C. Ela foi projetada para ser eficiente, segura e fácil de usar. D oferece recursos como coleta de lixo opcional, verificação de intervalos de matriz e programação orientada a objetos.

Zig: é uma linguagem de programação relativamente nova que se baseia na sintaxe do C, mas com recursos adicionais, como gerenciamento de memória seguro e programação orientada a objetos. Zig é frequentemente usada para programação de sistemas, desenvolvimento de jogos e desenvolvimento de aplicativos Web.

Nim: Nim é uma linguagem de programação de alto nível que foi projetada para ser eficiente e fácil de usar. Ela é compatível com a sintaxe do C e oferece recursos como coleta de lixo opcional e programação orientada a objetos. Nim é frequentemente usada para desenvolvimento de jogos, aplicativos Web e automação de tarefas.

Go: é uma linguagem de programação de alto nível que foi projetada para ser eficiente e fácil de usar. Ela é frequentemente usada para programação de sistemas, desenvolvimento de aplicativos Web e desenvolvimento de ferramentas de linha de comando. Go oferece recursos como coleta de lixo, programação concorrente, verificação de tipos em tempo de compilação e suporte para programação orientada a objetos.

Curiosidades

  1. C ainda é a segunda linguagem mais usada segundo o Índice TIOBE;
  2. O nome C veio do seu predecessor, a linguagem B que veio de BCPL;
  3. A especificação original do C foi escrita no livro The C programming language de Dennis Ritchie e Brian Kernighan e se tornou um dos livros de programação mais populares de todos os tempos;
  4. Neste mesmo livro, um exemplo se tornou um clássico para iniciantes de programação em qualquer linguagem: “Hello, World”;
  5. Dennis Ritchie ganhou o prêmio Turing da ACM (equivalente ao Nobel da Computação) pela criação do C, Unix e outros projetos;
  6. Um dos co-criadores do C, Ken Thompson, também é criador da linguagem Go do Google;
  7. A última versão do C é de 2018 sendo chamada C17 (ISO/IEC 9899:2017). Há a versão C23 ainda em desenvolvimento.
"O" livro de programação de C

Obrigado pelos 50 anos, C!

Em conclusão, a linguagem C tem sido uma das linguagens de programação mais influentes e duradouras da história da computação. Ao longo dos seus 50 anos de existência, C tem sido amplamente adotada. Ela continua a ser uma escolha popular para programadores em todo o mundo, devido à sua eficiência, desempenho e ampla disponibilidade de bibliotecas.

Embora tenha surgido uma série de linguagens de programação modernas e atualizadas ao longo dos anos, C ainda permanece relevante e é provável que continue sendo uma linguagem essencial para programação de sistemas de baixo nível e para desenvolvimento de aplicativos em plataformas de hardware de baixo custo.

Que seja duradoura nos próximos 50 anos!

💡
As opiniões e comentários expressos neste artigo são de propriedade exclusiva de seu autor e não representam necessariamente o ponto de vista da Revelo.

A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.