As linguagens C e C++: qual a diferença entre elas?

Compartilhe

Quando mergulhamos no mundo da programação temos contato com diversas linguagens.

Entre as linguagens de programação mais comuns, as que mais se destacam são o C e o C++.

Nesse ponto, pode surgir a dúvida: Qual a diferença entre elas?

Confira neste artigo o que é C++ e C, qual a diferença entre C/C ++ e onde utilizar cada um.

C: o que é?

A linguagem de programação C é descrita como a linguagem mãe. Isso porque diversas outras linguagens utilizadas hoje, como PHP, Java, C# e o C++, surgiram utilizando C como base.

Ela foi criada em 1972 por Dennis Ritchie, com um dos objetivos de criar sistemas operacionais.

É por isso que os sistemas baseados no Unix utilizam essa linguagem como a principal. Um exemplo de código em C é:

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
	printf("Olá Mundo!\n");
	return 0;
}
Banner da Escola de Programação: Matricula-se na escola de Programação. Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!

C++: o que é?

A linguagem C++ foi desenvolvida cerca de 8 anos depois, em 1980, por Bjarne Stroustrup.

Nessa época, o C++ ainda era chamado de “C with Classes”. Em 1982 ele passou a ser o C++ como conhecemos.

Dessa forma, um “Olá mundo” nessa linguagem ficaria da seguinte forma:

#include <iostream>
int main()
{
    std::cout << "Olá, Mundo!" << std::endl;
}

Para entendermos melhor a linguagem de programação C, além da diferença entre C e C++, é importante saber o que é Programação Orientada a Objetos, conceito que veremos a seguir.

Programação orientada a objetos (POO)

Esse conceito é bastante extenso, por isso, recomendamos a leitura do artigo completo sobre o assunto: POO — o que é programação orientada a objetos?, para quem deseja entender em detalhes como funciona a POO.

A Programação orientada a objetos é um paradigma de desenvolvimento bastante utilizado atualmente.

Diversas linguagens, como Java e Python, suportam essa aplicação.

Dois paradigmas de desenvolvimento bastante conhecidos são o procedural e o multiparadigma.

Na Programação com o paradigma procedural, também chamada programação estruturada, contamos com três tipos básicos de estrutura: sequências, condições e repetições.

Já na Programação orientada a objetos dois novos conceitos são utilizados: classes e objetos.

Esse tipo de programação faz tudo o que a programação estruturada faz. Entretanto, ela aproxima o manuseio de estruturas de um programa ao manuseio de coisas do mundo real.

Representação do que seria classe e objeto comparando com coisas do mundo real

Mas, afinal, qual a diferença entre o C e o C++?

A diferença entre essas linguagens envolve a extensão, a sintaxe, as bibliotecas, seus objetivos e os paradigmas. Mas essa última diferença é a principal.

Enquanto o paradigma do C é procedural, o C++ é o multi-paradigma, onde podemos utilizar os mesmos recursos que o C, mas também temos a possibilidade de implementar a orientação a objetos.

Abaixo podemos ver trechos de códigos para os dois tipos de paradigmas:

  • Paradigma procedural:
#include <stdio.h>
int main() {
    int result;
    int num = 2;
    for(int mult = 1; mult <= 10; mult++){        
        result = num * mult;
        printf("\n%d x %d = %d\n", num, mult, result);
    }
}
  • Multi-paradigma:
#include <iostream.h>
class veiculo {
    
    private:
    char* nome;
    int peso;
    int potencia;
    public:
    veiculo(char* n,int p,int h);
    void altera_potencia(int en);
    int retorna_hp(void);
    void altera_peso(int en);
    int retorna_peso(void);
};

Então, por que ainda utilizar o C?

É comum, depois de entendermos a diferença entre as duas linguagens, pensarmos que o C não será mais utilizado e o C++ irá substituí-lo.

Mas isso não é verdade. O C ainda recebe atualizações e é utilizado em diversas aplicações, como sistemas operacionais, jogos e sistemas de automação.

Isso se deve a diversos fatores, entre eles, a possibilidade de ser compilado em praticamente qualquer arquitetura, tendo uma Interface Binária do Aplicativo estável para esses ambientes.

Conclusão

Vimos que tanto a linguagem de programação C++ quanto a C são importantes e ainda são muito utilizadas. As aplicações são diversas e cada uma delas costuma ter uma finalidade diferente.

Caso queira entender ainda mais sobre C — linguagem de programação poderosa, leia também:

Veja outros artigos sobre Programação