Diferença entre C e C++ [RESOLVIDO]

1. Diferença entre C e C++ [RESOLVIDO]

Luiz Dias
luizkdias

(usa Debian)

Enviado em 05/06/2014 - 14:39h

Boa tarde galera.

Alguém poderia por favor tirar essa dúvida:

- Qual a diferença entre C e C++?
- C++ é uma versão atualizada e mais recente do C?
- Os compiladores são os mesmos em ambas as versões?
- Para programar em C++ deve-se conhecer anteriormente C?

Quero aprender a programar em C para desenvolver programas tanto para Windows como Linux. Mas não sei qual estudar (C ou C++).

Obrigado!


  


2. Re: Diferença entre C e C++ [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/06/2014 - 15:26h

[Essa resposta contém alta dose de humor].

C++ é uma extensão da linguagem C que implementa o paradigma da programação orientada a objeto.

Se você é fã de orientação ao objeto utilize C++.

Se você ainda acredita que os homens devem forjar suas próprias espadas, canhões e sinos então vá
de C puro.

C é uma linguagem tradicional, criada no tempo dos dinossauros e utilizada pelo homem das cavernas, pelo império romano e durante o império bizantino para invadir Constantinopla.

Ah, no filme Independence Day um vírus escrito em C/C++ derrubou uma nave espacial.

C++ é uma moda passageira que deve ter fim em aproximadamente 180 anos...


O tempo médio para aprender um pouco sobre qualquer uma das linguagens é em torno de 10 anos.

Linguagens como Java são baseadas em C.

Então se um dia você mudar ainda terá seu conhecimento acumulado prestando para algo diferente.

C e C++ são utilizados para criar grandes projetos que envolvem muitos programadores e centenas de BUGS...

O programador C/C++ está condenado a trabalhar em equipes de desenvolvimento ou passar fome, pois o tempo de um programador sozinho fazia algo útil acabou há 23 anos quando o último programador solitário chamado Linus Torvalds migrou para os Estados Unidos da América.

Se você é louco (no bom sentido) por computadores, eletrônica e dispõe de muito tempo livre e bastante dinheiro para comprar livros e cursos aprenda C/C++...










3. Re: Diferença entre C e C++ [RESOLVIDO]

Adriano Silva
slivadrip

(usa Linux Mint)

Enviado em 05/06/2014 - 17:21h

São linguagens bem diferentes, mas com sintaxes parecidas, por isso apresentam muita semelhança.

Quando C++ foi desenvolvida, C já era um grande sucesso. Daí, para facilitar a aprendizagem da nova linguagem, e para facilitar a conversão de programas em C, a sintaxe de C++ foi projetada para ser bem parecida com a do C.

E o nome, "C++", sugere que seria um C com "algo mais" (em C e em C++ o operador "++" soma 1 a um valor, o que se chama incremento, daí a idéia de "C incrementada" ou "melhorada").

A grande diferença entre as duas está nos paradigmas usados: enquanto que C é uma linguagem funcional, C++ é para programação orientada para objetos (além de funcional). E devido à semelhança de sintaxes, se não forem usados objetos em um programa, um código C++ pode (mas nem sempre) se tornar igual a um código C, até podendo ser compilado por um compilador C.

Mas, além dos objetos, há outras diferenças.
Quanto às perguntas específicas:

1- Com C não dá para usar objetos, que não existem em C, mas existem em C++.
2-sim, c++ derivou do c
3-sim pelo menos no que eu ja vi,dev_c++ e visual studio
4_sim porque C++ e baseado em e algumas funçoes e partes do codigo sao semelhante

Estude os dois


4. Re: Diferença entre C e C++ [RESOLVIDO]

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 05/06/2014 - 17:46h

Olá,
Segue algumas respostas resumidas:

- Qual a diferença entre C e C++?

R. C++ possui a orientação à objetos. Também o tal da funções inline e um recurso bem poderoso chamado STL, as boost c++ libraries.

- C++ é uma versão atualizada e mais recente do C?

R. C++ surgiu depois do C.

- Os compiladores são os mesmos em ambas as versões?

R. Para Linux você tem o compilar gcc, que é bem popular, para complicar a linguagem C.
Se o seu código for para o C++, vc pode utilizar o compilador g++ no Linux.



- Para programar em C++ deve-se conhecer anteriormente C?

R. Não precisa não. Materias que existe ensinam a programar desde o básico até o avançado.
Porém o tem de aprendizagem da linguagem C++ é bem maior que da Linguagem C.

Quero aprender a programar em C para desenvolver programas tanto para Windows como Linux. Mas não sei qual estudar (C ou C++).

R. Qualquer uma das duas que vc aprender dá para programar no Linux.
Na seção "Scripts" do fórum do VivaOLinux tem diversos exemplos de programas que rodam no Linux.
As pessoas além de usar essas linguagens também procuram utilizar outras como perl, python, php, java e etc...

Espero ter ajudado.





5. Re: Diferença entre C e C++ [RESOLVIDO]

Igor Morais
igormorais

(usa Gentoo)

Enviado em 05/06/2014 - 20:36h

1- C é uma linguagem imperativa e C++ é orientada a objetos. Explicar a diferença entre dois paradigmas é meio complicado, então sugiro que pesquise.
2- C++ é uma linguagem mais recente e herda algumas características de C e de linguagens anteriores.
3- Para compilar programas em C, você utilizará o gcc e para C++, o g++.
4- Você pode aprender C++ sem ter visto nada de C, isso é relativo.

Enjoy!


6. Re: Diferença entre C e C++ [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 06/06/2014 - 16:12h

Algumas pessoas já responderam, mas eu gostaria de acrescentar algumas informações.

luizkdias escreveu:

Boa tarde galera.

Alguém poderia por favor tirar essa dúvida:

- Qual a diferença entre C e C++?


C e C++ são duas linguagens de programação diferentes, mas que compartilham pontos comuns em suas linhas de evolução. Em particular, enquanto o então pesquisador do Bell Labs chamado Bjarne Stroustrup fazia suas pesquisas com orientação a objetos, usou uma linguagem de uso comum naquela instituição (na verdade, inventada e mantida ali), que era a linguagem C, como base sobre a qual trabalhava e como local onde aplicava o produto das pesquisas. As primeiras versões modificadas do C tinham o nome "C com classes", e o seu compilador não gerava código executável diretamente, mas apenas convertia o código para C puro, para que fosse então compilado com o compilador tradicional.

No geral, costuma-se dizer que um programa válido e bem escrito em C é também um programa válido em C++. Isso ainda é geralmente verdadeiro, mas ao longo dos últimos 30 anos, as duas linguagens foram evoluindo por caminhos ligeiramente divergentes. O comitê internacional responsável pela padronização do C++ geralmente procura não introduzir incompatibilidades desnecessárias com C, mas o comitê do C não me parece historicamente se preocupar na mesma medida em preservar compatibilidade com C++.

Recomendo os seguintes links:

  - http://www.stroustrup.com/sibling_rivalry.pdf (graficamente, os diagramas da página 3 são muito didáticos; vale notar que o artigo foi escrito em 2002, nove anos antes da aprovação do novos padrões do C e do C++, que saíram em 2011, e por isso eles são referidos como C0x e C++0x).
  - http://www.stroustrup.com/siblings_short.pdf (versão reduzida do artigo acima).
  - http://david.tribble.com/text/cdiffs.htm (descrição bem detalhada de cada diferença entre C90, C99 e C++98; infelizmente o artigo não foi atualizado com as novas características introduzidas em 2011 pelo C++11 e C11).

O artigo sobre o C++11 da Wikipedia em Inglês é muito bom; o de C11 nem tanto, mas é melhor do que nada. Eles não lhe apontarão diretamente todas as incompatibilidades, mais vão informá-lo dos recursos, para que você possa fazer suas próprias comparações.

- C++ é uma versão atualizada e mais recente do C?


Como dito acima, são linguagens distintas que guardam um parentesco entre si. Cada uma tem suas próprias versões e padrões.

- Os compiladores são os mesmos em ambas as versões?


Podem ser ou podem não ser. Isto é: você pode ter um compilador só que entende as duas linguagens, até pelo fato de elas serem parecidas, ou pode ter de usar programas diferentes para compilar código escrito em cada linguagem.

Além disso, cada compilador pode variar em termos de quantos dos recursos prescritos para uma linguagem são efetivamente suportados. Nem o GCC nem o Visual Studio suportam totalmente o C99 ou o C++11, por exemplo.

- Para programar em C++ deve-se conhecer anteriormente C?


Não é necessário saber C para aprender C++. Eu já sabia um bocado de C quando parti para o C++, mas se fosse para indicar a um novato (é o seu caso?), eu diria para começar logo com C++.

Quero aprender a programar em C para desenvolver programas tanto para Windows como Linux. Mas não sei qual estudar (C ou C++).

Obrigado!


A maioria dos front ends para desenvolvimento de interfaces gráficas é em C++. Uma exceção importante é o GTK+, que usa C, mas o faz de um modo altamente dependente de macros que estendem a sintaxe da linguagem, a fim de simular orientação a objetos.

Eu não costumo desenvolver GUIs mas, nas vezes em que precisei fazê-lo, achei bastante razoável e confortável desenvolver com Qt 4, que é um toolkit em e para C++ (com extensões à linguagem, resolvidas por um compilador de metaobjetos). A última versão do Qt é a 5, e parece que tem recursos que a deixam muito melhor do que quando a utilizei pela última vez.

Tanto o Qt quanto o GTK+ são multiplataforma, permitindo que o mesmo código fonte seja compilado para produzir executáveis de Linux ou executáveis de Windows. Cada um tem suas vantagens e desvantagens, mas parece que há uma certa tendência em favor do Qt -- especialmente o Qt5.

Uma desvantagem do Qt em relação ao GTK+ é justamente não ter uma interface de comunicação com aplicações nativamente escritas em C -- talvez justamente por causa da premissa de que um programa em C bem escrito também é um programa válido se compilado como C++. Mesmo assim, se fosse para indicar um dos dois, eu indicaria Qt.


7. Re: Diferença entre C e C++ [RESOLVIDO]

Luiz Dias
luizkdias

(usa Debian)

Enviado em 09/06/2014 - 09:08h

kyetoy,adryanohexa123,foxbit3r,igormorais e paulo1205,

Muito obrigado pelas explicações de vocês.

Foram de grande valia.

Deus abençoe.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts