Qual a diferença entre: C, C++ e C# ?

1. Qual a diferença entre: C, C++ e C# ?

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/10/2016 - 14:47h

Quais as características de cada uma?


  


2. Re: Qual a diferença entre: C, C++ e C# ?

M.
XProtoman

(usa Fedora)

Enviado em 19/10/2016 - 01:30h

Sem entrar na parte técnica C#, para mim, é uma linguagem proprietária, apesar de existir o Mono.

C não foi projetada para o paradigma orientado a objetos, apesar de ser possível se utilizar artifícios que lhe permitem simulá-lo ou fazê-lo. As outras duas linguagens, C++ e C#, permitem, foram projetadas para também suportar esse paradigma.

____________________
“Mas nós sabemos que a razão de a maioria estar aqui, é a nossa afinidade com a desobediência!” (Morpheus)


3. Re: Qual a diferença entre: C, C++ e C# ?

Gabriel Henrique da Silva Ferreira
MrBlackWolf

(usa Arch Linux)

Enviado em 19/10/2016 - 08:10h

Só avisando fera que C# não tem nada a ver com C e C++. Apesar do nome ela foi criada para desenvolver em conjunto com o .NET Framework e sua sintaxe é bem semelhante ao Java.
Se o que você procura é algo na linha do C então use C++. É uma linguagem extremamente poderosa com mais bibliotecas disponíveis que o C e suporte à Orientação à Objetos.


4. Re: Qual a diferença entre: C, C++ e C# ?

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/10/2016 - 10:05h

Uma vez um professor falou que C# era mais padronizado que Java.
Não sei se procede. C# é bom para trabalhar com M$.
Não sabia que OO de C# era tapeação.

C# e Java rodam em máquinas virtuais.
Grosseiramente é como se fossem interpretadas.

C e C++ rodam direto no hardware.
C++ tem quase todos os recursos de C.
Até chamam C++ de superconjunto de C.

Trabalhar com strings em C++ é muito mais fácil.
Sem contar com a STL, que é um recurso poderoso.

Kernel Linux foi escrito em C.
Costuma-se escrever ferramentas de sistema em C.
Talvez seja por questão de velocidade.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



5. Re: Qual a diferença entre: C, C++ e C# ?

Paulo
paulo1205

(usa Ubuntu)

Enviado em 20/10/2016 - 09:31h

listeiro_037 escreveu:

Uma vez um professor falou que C# era mais padronizado que Java.
Não sei se procede.


Existe um padrão internacional para o C# homologado por um órgão “independente”, que é a ECMA. O padrão para o C# parece ser o ECMA-334.

Já o Java não tem nenhum padrão reconhecido pela indústria. A Oracle é a única detentora das decisões finais sobre a linguagem. A comunidade pode opinar, mas é sempre a Oracle sozinha que bate o martelo.

C# é bom para trabalhar com M$.
Não sabia que OO de C# era tapeação.


Não é tapeação. De quem veio essa crítica?

Você se expressa em OO quando fala com o compilador. Mas nenhuma máquina de baixo nível que eu conheça, seja um processador real, seja um processador de uma máquina virtual como a JVM ou a do .NET, fala nativamente OO. No fim das contas, o que você vai ter por trás de qualquer linguagem de alto nível mais ser um processador que vai fazer operações lógicas e aritméticas, desvios e leitura e escrita em memória.

C# e Java rodam em máquinas virtuais.
Grosseiramente é como se fossem interpretadas.


Esse é o uso típico que delas se faz, mas isso não é uma obrigatoriedade. O gcj, por exemplo, gera código nativo a partir de um programa por padrão

C e C++ rodam direto no hardware.


Também não é necessariamente verdade. Existem interpretadores para C e C++.

C++ tem quase todos os recursos de C.
Até chamam C++ de superconjunto de C.


Isso já foi mais verdadeiro do que hoje. Na medida em que as duas linguagens vão evoluindo, a quantidade de discrepâncias vai aumentando. Por outro lado, depois de anos de “cada um por si” (principalmente no lado do C; bem menos na ala do C++), recentemente os comitês de padronização de cada linguagem se tocaram de que é bom manter contato com o outro lado a fim de evitar incompatibilidades absolutamente gratuitas.

Kernel Linux foi escrito em C.
Costuma-se escrever ferramentas de sistema em C.
Talvez seja por questão de velocidade.


É um mito que C produza código necessariamente mais rápido do que o C++.

O kernel do Linux é em C porque ele foi originalmente escrito em C, e mudar de linguagem no meio do projeto é algo que não faz muito sentido. Mesmo que fizesse, o Linux Torvalds, que não é conhecido por ser compreensivo nem tolerante, tem um ódio pessoal e mortal de C++.

Também os componentes do sistema são majoritariamente escritos em C principalmente porque foram originalmente escritos em C. Também nesse caso existe um bocado de sectarismo: muita gente na comunidade C toma tudo o que não é C como coisa anátema. Felizmente não é assim com todo mundo, e de fato existem hoje componentes do sistema que usam C++ de modo significativo, quer em partes da aplicação, como faz o GCC (e não apenas para gerar código em C++, mas de forma geral), quer na aplicação inteira, como faz o groff.


6. Re: Qual a diferença entre: C, C++ e C# ?

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/10/2016 - 15:40h

É verdade.

Sobre C# não ser OO foi por uma das postagens acima colocadas que deu a entender isto.
Realmente já sabia de que existem interpretadores C e que existe o GCJ, mas não me lembrei.

Uma coisa que preciso testar é esse GCJ, porque da última vez não funcionou.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



7. Re: Qual a diferença entre: C, C++ e C# ?

Gabriel Henrique da Silva Ferreira
MrBlackWolf

(usa Arch Linux)

Enviado em 21/10/2016 - 16:33h

Não entendi essa birra do Linus com o C++, alguém sabe o porquê?


8. Re: Qual a diferença entre: C, C++ e C# ?

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/10/2016 - 16:41h

Também não sei.
Vai ver que ele tomou bomba em C++.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



9. Re: Qual a diferença entre: C, C++ e C# ?

Gabriel Henrique da Silva Ferreira
MrBlackWolf

(usa Arch Linux)

Enviado em 21/10/2016 - 16:43h

Ele devia estar estudando e bugou, assim como eu, na parte sobre friendship. Hahahahahahaha


10. Re: Qual a diferença entre: C, C++ e C# ?

Paulo
paulo1205

(usa Ubuntu)

Enviado em 21/10/2016 - 19:45h

MrBlackWolf escreveu:

Não entendi essa birra do Linus com o C++, alguém sabe o porquê?


Porque quando ele tentou usar a linguagem em 1992, se deparou com um compilador que não funcionava direito, e ele não conseguiu adaptar (talvez por conta do compilador quebrado) os recursos da linguagem ao que ele queria fazer. A partir daí, ele formou uma opinião fanática de que C++ é uma droga e que todas as decisões de projeto da linguagem são absolutamente estúpidas e cretinas.

Como C não tem nenhum dos recursos de C++, não tem as coisas “cretinas e estúpidas”, logo é a única linguagem que pessoas não-retardadas devem usar.

Com essa profusão de adjetivos, parece que eu estou zoando a opinião dele, não é? Mas não estou (ao menos não muito). O guru do Linux, numa mensagem emblemática (cujo original não consegui encontrar, mas cuja transcrição pode ser lida em https://topcoder23.wordpress.com/2011/10/25/linus-torvalds-on-why-c-rocks-and-c-sucks/ -- o resto do artigo é bom, por sinal; recomendo lê-lo integralmente), é uma metralhadora de adjetivos muito piores do que os meus, com palavrões, ataques pessoais e distribuição de rebaixamentos à honra alheia. Um show de má argumentação raivosa em defesa de uma tese furada. E o pior é que, mesmo sendo uma tese furada, existem alguns bons argumentos que poderiam ter sido usados, mas não o foram porque o cara estava ocupado demais babando de ódio, e não conseguia tempo para pensar um pouquinho.

Imagina se ele morasse no Brasil e tivesse de escolher entre petralhas e coxinhas...

Aliás, eu acho que ele é petralha. ;)


11. Re: Qual a diferença entre: C, C++ e C# ?

Gabriel Henrique da Silva Ferreira
MrBlackWolf

(usa Arch Linux)

Enviado em 24/10/2016 - 08:01h

Então é só rage mesmo. Vou ler o artigo aqui, desde que o trabalho não aperte.


12. Re: Qual a diferença entre: C, C++ e C# ?

thinomar
thinomar

(usa Linux Mint)

Enviado em 24/10/2016 - 10:49h

paulo1205 escreveu:
...
O guru do Linux, numa mensagem emblemática (cujo original não consegui encontrar, mas cuja transcrição pode ser lida em https://topcoder23.wordpress.com/2011/10/25/linus-torvalds-on-why-c-rocks-and-c-sucks/ -- o resto do artigo é bom, por sinal; recomendo lê-lo integralmente), é uma metralhadora de adjetivos muito piores do que os meus, com palavrões, ataques pessoais e distribuição de rebaixamentos à honra alheia.
...


O mais próximo do original que encontrei foi isso:
http://lists-archives.com/git/629691-convert-builin-mailinfo-c-to-use-the-better-string-library.html



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts