As linguagens C e C++: qual a diferença entre elas?
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;
}
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.
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: